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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-6.8/] [bfd/] [ChangeLog-2004] - Blame information for rev 298

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

Line No. Rev Author Line
1 24 jeremybenn
2004-12-31  Paul Brook  
2
 
3
        * elf32-arm.c (elf32_arm_symbian_plt_entry): Fix comment typo.
4
 
5
2004-12-31  Alan Modra  
6
 
7
        * reloc.c (BFD_RELOC_AVR_LDI, BFD_RELOC_AVR_6, BFD_RELOC_AVR_6_ADIW):
8
        Commit missing changes from 2004-12-22.
9
        * bfd-in2.h: Regenerate.
10
 
11
2004-12-23  Tomer Levi  
12
 
13
        * elf32-crx.c (elf32_crx_relax_section): Support 'bcop' relaxation.
14
 
15
2004-12-21  Kris Warkentin  
16
 
17
        * elf.c (elfcore_grok_nto_gregs): Change name to elfcore_grok_nto_regs.
18
        Add 'base' argument for constructing register sections.  Reformat.
19
        (elfcore_grok_nto_note): Call elfcore_grok_nto_regs for both
20
        gp and fp regs.  Reformat.
21
 
22
2004-12-22  Klaus Rudolph  
23
 
24
        * reloc.c: Add new relocs R_AVR_LDI, R_AVR_6, R_AVR_6_ADIW.
25
        * bfd-in2.h: Regenerate.
26
        * elf32-avr.c (elf_avr_nowto_table): Add the new relocs.
27
        (avr_reloc_map): Likewise.
28
        (avr_final_link_relocate): Likewise.
29
 
30
2004-12-22  Alan Modra  
31
 
32
        * elflink.c (_bfd_elf_merge_symbol): Treat old definitions from
33
        as-needed dynamic libs as undefined.
34
        (elf_link_add_object_symbols): Remove DYN_AS_NEEDED from as-needed
35
        libs when finding they are needed.
36
 
37
2004-12-20  Alan Modra  
38
 
39
        * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add opd_relocs.
40
        (opd_entry_value): Use opd_relocs if available.
41
        (ppc64_elf_relocate_section): Don't set reloc_done.  Instead
42
        copy .opd relocations to opd_relocs.
43
        (ppc64_elf_edit_toc): Set rel_hdr.sh_size after editing relocs.
44
 
45
2004-12-16  Richard Sandiford  
46
 
47
        * reloc.c (BFD_RELOC_V850_LO16_SPLIT_OFFSET): New bfd_reloc_code_type.
48
        * elf32-v850.c (v850_elf_howto_table): Add entry for
49
        R_V850_LO16_SPLIT_OFFSET.
50
        (v850_elf_reloc_map): Map it to BFD_RELOC_V850_LO16_SPLIT_OFFSET.
51
        (v850_elf_perform_lo16_relocation): New function, extracted from...
52
        (v850_elf_perform_relocation): ...here.  Use it to handle
53
        R_V850_LO16_SPLIT_OFFSET.
54
        (v850_elf_check_relocs, v850_elf_final_link_relocate): Handle
55
        R_V850_LO16_SPLIT_OFFSET.
56
        * libbfd.h, bfd-in2.h: Regenerate.
57
 
58
2004-12-14  P.J. Darcy  
59
 
60
        * config.bfd: Add s390x-ibm-tpf support.
61
 
62
2004-12-14  Tomer Levi  
63
 
64
        * elf32-crx.c (elf32_crx_relax_delete_bytes): Add 'struct bfd_link_info *'
65
        to prototype, to make hash info available.
66
        Prevent wrapped symbols from being adjusted twice.
67
 
68
2004-12-14  Richard Sandiford  
69
 
70
        * elfxx-mips.c (mips_elf_calculate_relocation): Don't report an
71
        overflow for calls to undefined weak symbols.
72
 
73
2004-12-11  Alan Modra  
74
 
75
        * elfcode.h (elf_slurp_symbol_table): Use bfd_elf_sym_name so that
76
        canonical sections syms have a name.
77
 
78
2004-12-11  Alan Modra  
79
 
80
        * elf64-ppc.c (opd_entry_value): Don't use cached relocs if they
81
        have been adjusted for output.
82
        (ppc64_elf_relocate_section): Mark sections with reloc_done.
83
 
84
2004-12-10  Alan Modra  
85
 
86
        * elf.c (bfd_elf_sym_name): Rename from bfd_elf_local_sym_name and
87
        add symtab_hdr param.
88
        (group_signature): Update calls.
89
        * elf-bfd.h (bfd_elf_sym_name): Update.
90
        * elf32-ppc.c (ppc_elf_relocate_section): Update.
91
        * elf64-ppc.c (ppc64_elf_edit_opd, ppc64_elf_edit_toc): Update.
92
        (ppc64_elf_relocate_section): Update.
93
        * elflink.c (elf_link_input_bfd): Update.
94
 
95
2004-12-10  Jakub Jelinek  
96
 
97
        * elf.c (bfd_elf_local_sym_name): Avoid crashes with invalid
98
        st_shndx on STT_SECTION sections.
99
 
100
2004-12-09  Daniel Jacobowitz  
101
 
102
        * elfcode.h (elf_slurp_reloc_table_from_section): Don't canonicalize
103
        ELF section symbols.
104
 
105
2004-12-09  Ian Lance Taylor  
106
 
107
        * elfxx-mips.c (mips_elf_calculate_relocation): For R_MIPS_JALR,
108
        return a real value, unless it is a PLT symbol.
109
        (mips_elf_perform_relocation): On the RM9000, turn a jal into a
110
        bal if possible.
111
 
112
        * elfn32-mips.c (elf_mips_howto_table_rela): Change dst_mask of
113
        R_MIPS_JALR entry to 0.
114
 
115
        * archures.c: Define bfd_mach_mips9000.
116
        * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_9000.
117
        (mips_set_isa_flags): Handle bfd_mach_mips9000.
118
        * cpu-mips.c (I_mips9000): Define.
119
        (arch_info_struct): Add case for bfd_mach_mips9000.
120
        * aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mips9000.
121
        * bfd-in2.h: Regenerate.
122
 
123
2004-12-08  Ian Lance Taylor  
124
 
125
        * elfxx-mips.c (mips_elf_calculate_relocation): Test for R_MIPS_26
126
        overflow.
127
 
128
2004-12-07  Ben Elliston  
129
 
130
        * netbsd-core.c (netbsd_core_file_p): Make `i' unsigned.
131
 
132
2004-12-06  Daniel Jacobowitz  
133
 
134
        Suggested by Fergal Daly :
135
        * simple.c (simple_dummy_multiple_definition): New function.
136
        (bfd_simple_get_relocated_section_contents): Use it.
137
 
138
2004-12-03  Jan Beulich  
139
 
140
        * elf.c (elf_find_function): Don't use the last file symbol ever,
141
        seen, but the last one seen prior to the symbol being reported.
142
        Don't report a filename at all for global symbols when that might
143
        be ambiguous/wrong.
144
 
145
2004-12-01  Paul Brook  
146
 
147
        * elf32-arm.c (elf32_arm_copy_private_bfd_data): Set EI_OSABI.
148
        (elf32_arm_post_process_headers): Set EI_OSABI depending on ABI
149
        version.
150
 
151
2004-12-01  Paul Brook  
152
 
153
        * elflink.c (elf_link_add_object_symbols): Make symbols from discarded
154
        sections undefined.
155
 
156
2004-11-30  Paul Brook  
157
 
158
        * elf32-arm.c (struct elf32_arm_link_hash_table): Remove
159
        no_pipeline_knowledge
160
        (elf32_arm_link_hash_table_create): Ditto.
161
        (bfd_elf32_arm_process_before_allocation): Ditto.
162
        (elf32_arm_final_link_relocate): Ditto.  Remove oabi relocation
163
        handling.
164
        * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
165
        prototype.
166
        * bfd-in2.h: Regenerate.
167
 
168
2004-11-30  Randolph Chung  
169
 
170
        * elf32-hppa.c (elf32_hppa_grok_prstatus): New function.
171
        (elf32_hppa_grok_psinfo): New function.
172
        (elf_backend_grok_prstatus): Define.
173
        (elf_backend_grok_psinfo): Define.
174
 
175
2004-11-24  H.J. Lu  
176
 
177
        PR 574:
178
        * elfcode.h (elf_slurp_symbol_table): Handle STT_TLS.
179
 
180
2004-11-24  Paul Brook  
181
 
182
        * elf.c (assign_section_numbers): Number SHT_GROUP sections first.
183
 
184
2004-11-24  Paul Brook  
185
 
186
        * elf32-arm.c (elf32_arm_swap_symbol_in): New function.
187
        (elf32_arm_swap_symbol_out): New function.
188
        (elf32_arm_size_info): Add.
189
        (elf_backend_size_info): Define.
190
 
191
2004-11-20  John David Anglin  
192
 
193
        * hpux-core.c (hpux_core_core_file_p): Use offsetof macro in calls to
194
        make_bfd_asection.
195
 
196
2004-11-19  Alan Modra  
197
 
198
        * elf32-arm.c (elf32_arm_finish_dynamic_sections): Warning fix.
199
        * elf32-iq2000.c (iq2000_reloc_type_lookup): C90 function decl.
200
        * nlmcode.h (nlm_write_object_contents): Warning fix.
201
 
202
2004-11-18  Bob Wilson  
203
 
204
        * elf32-xtensa.c (ebb_propose_action): Fix argument order.
205
 
206
2004-11-17  Daniel Jacobowitz  
207
 
208
        * elf32-arm.c (PLT_THUMB_STUB_SIZE): Define.
209
        (elf32_arm_plt_thumb_stub): New.
210
        (struct elf32_arm_link_hash_entry): Add plt_thumb_refcount
211
        and plt_got_offset.
212
        (elf32_arm_link_hash_traverse): Fix typo.
213
        (elf32_arm_link_hash_table): Add obfd.
214
        (elf32_arm_link_hash_newfunc): Initialize new fields.
215
        (elf32_arm_copy_indirect_symbol): Copy plt_thumb_refcount.
216
        (elf32_arm_link_hash_table_create): Initialize obfd.
217
        (record_arm_to_thumb_glue): Mark the glue as a local ARM function.
218
        (record_thumb_to_arm_glue): Mark the glue as a local Thumb function.
219
        (bfd_elf32_arm_get_bfd_for_interworking): Verify that the
220
        interworking BFD is not dynamic.
221
        (bfd_elf32_arm_process_before_allocation): Handle R_ARM_PLT32.  Do
222
        not emit glue for PLT references.
223
        (elf32_arm_final_link_relocate): Handle Thumb functions.  Do not
224
        emit glue for PLT references.  Support the Thumb PLT prefix.
225
        (elf32_arm_gc_sweep_hook): Handle R_ARM_THM_PC22 and
226
        plt_thumb_refcount.
227
        (elf32_arm_check_relocs): Likewise.
228
        (elf32_arm_adjust_dynamic_symbol): Handle Thumb functions and
229
        plt_thumb_refcount.
230
        (allocate_dynrelocs): Handle Thumb PLT references.
231
        (elf32_arm_finish_dynamic_symbol): Likewise.
232
        (elf32_arm_symbol_processing): New function.
233
        (elf_backend_symbol_processing): Define.
234
 
235
2004-11-16  Richard Sandiford  
236
 
237
        * elf-bfd.h (eh_cie_fde): Add new fields: add_augmentation_size and
238
        add_fde_encoding.  Remove need_relative.
239
        * elf-eh-frame.c (extra_augmentation_string_bytes)
240
        (extra_augmentation_data_bytes, size_of_output_cie_fde): New functions.
241
        (_bfd_elf_discard_section_eh_frame): Consider changing the FDE encoding
242
        in cases where the CIE has no existing 'R' augmentation.  Use
243
        size_of_output_cie_fde when assigning offsets.  Use the final offset
244
        as the new section size.
245
        (_bfd_elf_eh_frame_section_offset): Remove need_relative handling.
246
        Account for any extra augmentation bytes in the returned offset.
247
        (_bfd_elf_write_section_eh_frame): Rework so that the entries are
248
        moved before being modified.  Pad growing entries with DW_CFA_nops.
249
        Add 'z' and 'R' augmentations as directed by add_augmentation_size
250
        and add_fde_encoding.
251
 
252
2004-11-15  Mark Mitchell  
253
 
254
        * elf32-arm.c (elf32_arm_relocate_section): Use
255
        arm_real_reloc_type.
256
 
257
2004-11-16  Richard Sandiford  
258
 
259
        * elfxx-mips.c (mips_elf_create_dynamic_relocation): Return early
260
        for discard relocations; don't add an R_MIPS_NONE to the main body
261
        of .rel.dyn.
262
 
263
2004-11-04  Paul Brook  
264
 
265
        * elf-bfd.h (_bfd_elf_slurp_version_tables): Update prototype.
266
        * elf.c (_bfd_elf_print_private_bfd_data): Pass extra argument.
267
        (_bfd_elf_slurp_version_tables): Add extra argument.  Create extra
268
        default version definition for unversioned symbols.
269
        * elfcode.h (elf_slurp_symbol_table): Pass extra argument.
270
        * elflink.c (elf_link_add_object_symbols): Pass extra argument to
271
        _bfd_elf_slurp_version_tables.  Set default version for unversioned
272
        imported symbols.
273
 
274
2004-11-15  Paul Brook  
275
 
276
        * elflink.c (elf_link_add_object_symbols): Don't assume version
277
        indices are consecutive.
278
 
279
2004-11-14  Richard Sandiford  
280
 
281
        * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Deal with
282
        composite relocations against the personality data.
283
 
284
2004-11-13  Paul Brook  
285
 
286
        * elf32-arm.c (elf32_arm_final_link_relocate): Resolve
287
        R_ARM_PREL31 relocations to PLT entries.
288
        (elf32_arm_relocate_section, elf32_arm_gc_sweep_hook): Ditto.
289
        (elf32_arm_check_relocs): Ditto.
290
 
291
2004-11-12  Bob Wilson  
292
 
293
        * xtensa-isa.c (xtensa_interface_class_id): New.
294
 
295
2004-11-11  Bob Wilson  
296
 
297
        * elf32-xtensa.c (property_table_compare): Remove assertion about
298
        entries with the same address and non-zero size.
299
        (xtensa_read_table_entries): Report such entries as errors.
300
 
301
2004-11-11  Mark Mitchell  
302
 
303
        * elf32-arm.c (elf32_arm_final_link_relocate): Correct logic for
304
        R_ARM_RELATIVE on Symbian OS.
305
 
306
2004-11-09  Mark Mitchell  
307
 
308
        * som.c (som_bfd_print_private_bfd_data): New function.
309
        (som_object_setup): Save the auxiliary header.  Don't assume that
310
        zero is an invalid entry point for a shared library.
311
        (som_object_p): Allocate the auxiliary header on the heap.
312
 
313
        * elf32-arm.c (elf32_arm_begin_write_processing): Do not use a K&R
314
        declaration.
315
        (elf32_arm_symbian_modify_segment_map): Likewise.
316
 
317
2004-11-09  Daniel Jacobowitz  
318
 
319
        From David Poole :
320
        * elf32-arm.c (elf32_arm_readonly_dynrelocs): New function.
321
        (elf32_arm_size_dynamic_sections): Call it.
322
 
323
2004-11-09  Alan Modra  
324
 
325
        * Makefile.am (SOURCE_HFILES): Remove elf32-arm.h.
326
        (ALL_MACHINES_CFILES): Fix typo.
327
        * Makefile.in: Regenerate.
328
        * po/SRC-POTFILES.in: Regenerate.
329
 
330
2004-11-08  Mark Mitchell  
331
 
332
        * elf32-arm.c (elf32_arm_final_link_relocate): When generating an
333
        R_ARM_RELATIVE relocation for Symbian OS, mention the section
334
        symbol in the relocation.
335
 
336
2004-11-08  Inderpreet Singh  
337
            Vineet Sharma  
338
 
339
        * coff-maxq.c: New File.
340
        * cpu-maxq.c: New File.
341
        * coffcode.h: Likewise.
342
        * config.bfd: Likewise.
343
        * configure.in (maxqcoff_vec): New target vector.
344
        * Makefile.am: Add support for maxq target.
345
        * configure.in: Likewise.
346
        * archures.c:. Likewise.
347
        * targets.c: Likewise.
348
        * bfd_in2.h : Regenerated.
349
        * Makefile.in: Regenerated.
350
        * configure: Regenerated.
351
        * doc/Makefile.in: Regenerated.
352
 
353
2004-11-08  Aaron W. LaFramboise 
354
 
355
        * coff-i386.c (coff_i386_reloc): Fix weak symbols.
356
        * cofflink.c (_bfd_coff_link_input_bfd): Don't process
357
        C_NT_WEAK aux entries.
358
        (_bfd_coff_generic_relocate_section): Handle undefined
359
        aliases.
360
 
361
2004-11-07  Andreas Schwab  
362
 
363
        * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Use
364
        SYMBOL_CALLS_LOCAL and check for undefweak symbols with
365
        non-default visibility.
366
 
367
2004-11-01  Mark Mitchell  
368
 
369
        * elf32-arm.c (elf32_arm_symbian_begin_write_processing): Clear
370
        D_PAGED.
371
        (elf32_arm_symbian_modify_segment_map): Don't
372
        reset includes_filehdr and includes_phdrs here.
373
 
374
2004-11-04  Daniel Jacobowitz  
375
 
376
        * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Replace
377
        elfarm-nabi with elf32-arm.  Remove elfarm-oabi.
378
        (elf32-arm.lo): Replace elfarm-nabi.lo rule.  Remove elf32-arm.h
379
        dependency.
380
        * config.bfd: Move arm-*-oabi* and thumb-*-oabi* from obsolete list
381
        to a new removed list.  Remove normal configuration stanzas.
382
        * configure.in: (bfd_elf32_bigarm_vec, bfd_elf32_bigarm_symbian_vec)
383
        (bfd_elf32_littlearm_symbian_vec, bfd_elf32_littlearm_vec): Replace
384
        elfarm-nabi.lo with elf32-arm.lo.
385
        (bfd_elf32_bigarm_oabi_vec, bfd_elf32_littlearm_oabi_vec): Remove.
386
        * elf32-arm.c: Renamed from elfarm-nabi.c.  Inline elf32-arm.h.
387
        * elf32-arm.h: Remove.
388
        * elfarm-oabi.c: Remove.
389
        * targets.c (_bfd_target_vector): Remove bfd_elf32_bigarm_oabi_vec
390
        and bfd_elf32_littlearm_oabi_vec.
391
        * aclocal.m4, Makefile.in, configure, doc/Makefile.in: Regenerated.
392
 
393
2004-11-04  Hans-Peter Nilsson  
394
 
395
        * config.bfd: Support crisv32-*-* like cris-*-*.
396
        * archures.c (bfd_mach_cris_v0_v10, bfd_mach_cris_v32)
397
        (bfd_mach_cris_v10_v32): New macros.
398
        * cpu-cris.c: Tweak formatting.
399
        (get_compatible): New function.
400
        (N): New macro.
401
        (bfd_cris_arch_compat_v10_v32, bfd_cris_arch_v32): New
402
        bfd_arch_info_type:s.
403
        (bfd_cris_arch): Use bfd_mach_cris_v0_v10 for member mach,
404
        get_compatible for member compatible and link bfd_cris_arch_v32 as
405
        next.
406
        * elf32-cris.c (cris_elf_pcrel_reloc)
407
        (cris_elf_set_mach_from_flags): New functions.
408
        (cris_elf_howto_table) 
409
        : Use cris_elf_pcrel_reloc.
410
        (cris_elf_grok_prstatus, cris_elf_grok_psinfo): Give correct
411
        numbers for bfd_mach_cris_v32.
412
        (PLT_ENTRY_SIZE_V32): New macro.
413
        (elf_cris_plt0_entry): Drop last comma in initializer.
414
        (elf_cris_plt0_entry_v32, elf_cris_plt_entry_v32)
415
        (elf_cris_pic_plt0_entry_v32, elf_cris_pic_plt_entry_v32): New
416
        PLT initializers.
417
        (cris_elf_relocate_section): Change all "%B(%A)" messages to
418
        "%B, section %A".
419
        (elf_cris_finish_dynamic_symbol): Do V32-specific PLT entries.
420
        (elf_cris_finish_dynamic_sections): Similar.
421
        (elf_cris_adjust_dynamic_symbol): Similar.
422
        (cris_elf_check_relocs): Change all "%B(%A)" messages to "%B,
423
        section %A".
424
        : Emit error and return FALSE for
425
        bfd_mach_cris_v10_v32.
426
        :
427
        Emit warning when generating textrel reloc.
428
        (cris_elf_object_p): Call cris_elf_set_mach_from_flags.
429
        (cris_elf_final_write_processing): Set flags according to mach.
430
        (cris_elf_print_private_bfd_data): Display
431
        EF_CRIS_VARIANT_COMMON_V10_V32 and EF_CRIS_VARIANT_V32.
432
        (cris_elf_merge_private_bfd_data): Drop variables old_flags,
433
        new_flags.  Don't call cris_elf_final_write_processing.  Don't
434
        look at the actual elf header flags at all; use
435
        bfd_get_symbol_leading_char to check ibfd, obfd.  Trap difference
436
        in bfd_get_mach for ibfd and obfd and handle merging of compatible
437
        objects.
438
        (bfd_elf32_bfd_copy_private_bfd_data): Define.
439
        * reloc.c (BFD_RELOC_CRIS_SIGNED_8, BFD_RELOC_CRIS_UNSIGNED_8)
440
        (BFD_RELOC_CRIS_SIGNED_16, BFD_RELOC_CRIS_UNSIGNED_16)
441
        (BFD_RELOC_CRIS_LAPCQ_OFFSET): New relocs.
442
        * bfd-in2.h, libbfd.h: Regenerate.
443
 
444
2004-11-04  Alan Modra  
445
 
446
        * elf64-ppc.h (ppc64_elf_edit_toc): Declare.
447
        * elf64-ppc.c (struct ppc_link_hash_entry ): Update
448
        comment.
449
        (struct adjust_toc_info): New.
450
        (adjust_toc_syms, ppc64_elf_edit_toc): New functions.
451
 
452
2004-11-03  Bob Wilson  
453
 
454
        * elf.c (assign_file_positions_for_segments): Set next_file_pos even
455
        if there are no segments.
456
 
457
2004-11-02  Daniel Jacobowitz  
458
 
459
        * config.bfd: Mark arm-*-oabi and thumb-*-oabi as obsolete.
460
 
461
2004-11-02  Nick Clifton  
462
 
463
        * elf32-iq2000.c: Convert to ISO C90 formatting.
464
 
465
2004-11-02  Hans-Peter Nilsson  
466
 
467
        * elflink.c (_bfd_elf_create_got_section): Hide _GLOBAL_OFFSET_TABLE_.
468
 
469
2004-10-28  H.J. Lu  
470
 
471
        * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle weak
472
        undefined symbols for R_IA64_SECREL32MSB, R_IA64_SECREL32LSB,
473
        R_IA64_SECREL64MSB and R_IA64_SECREL64LSB.
474
 
475
2004-10-28  Kaz Kojima  
476
 
477
        * elf32-sh.c (tpoff): Take alignment into account.
478
 
479
2004-10-28  Nick Clifton  
480
 
481
        * elf32-iq2000.c (iq2000_elf_relocate_section): Do nothing when
482
        performing a relocatable link.
483
        (iq2000_elf_object_p): Do not set elf_bad_symtab.  This is only
484
        for MIPS ports under Irix.
485
 
486
2004-10-27  Richard Earnshaw  
487
 
488
        * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Handle
489
        R_ARM_CALL and R_ARM_JUMP24 as aliases of R_ARM_PC24.
490
        (elf32_arm_final_link_relocate): Ditto.
491
        (arm_add_to_rel, elf32_arm_relocate_section): Ditto.
492
        (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto
493
        (elf32_arm_adjust_dynamic_symbol): Ditto.
494
        * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_CALL and
495
        R_ARM_JUMP32.  Move R_ARM_R{REL32,ABS32,PC24,BASE}...
496
        (elf32_arm_r_howto): ... To here.
497
        (elf32_arm_howto_from_type): Use elf32_arm_r_howto.
498
 
499
2004-10-26  H.J. Lu  
500
 
501
        PR 475
502
        * elfxx-ia64.c (elfNN_ia64_relocate_section): Correct
503
        R_IA64_SECREL32MSB, R_IA64_SECREL32LSB, R_IA64_SECREL64MSB
504
        and R_IA64_SECREL64LSB.
505
 
506
2004-10-26  Paul Brook  
507
 
508
        * elflink.c (elf_finalize_dynstr): Skip shared aux structure.
509
        (bfd_elf_size_dynamic_sections): Create default version definition.
510
        (elf_link_output_extsym): Adjust for default symbol version.
511
 
512
2004-10-24  Hans-Peter Nilsson  
513
 
514
        * mmo.c: Adjust to ISO C.
515
 
516
        * mmo.c (mmo_write_section_description): New function broken out
517
        of mmo_internal_write_section.
518
        (mmo_internal_write_section): For each of .text and .data, call
519
        mmo_write_section_description before outputting contents if it has
520
        nontrivially deducible vma or contents.
521
        (mmo_has_leading_or_trailing_zero_tetra_p): New function.
522
        (mmo_canonicalize_symtab): Adjust absolute symbols to .data
523
        symbols if found within the .data address range.
524
 
525
2004-10-24  Daniel Jacobowitz  
526
 
527
        * opncls.c (bfd_close): Return TRUE for BFD_IN_MEMORY.
528
 
529
2004-10-24  Hans-Peter Nilsson  
530
 
531
        * mmo.c (File Layout): Correct place of misplaced blurb about
532
        special data.
533
 
534
2004-10-22  Mark Kettenis  
535
 
536
        * config.bfd: Add mips64*-*-openbsd.
537
 
538
2004-10-21  Bob Wilson  
539
 
540
        * elf32-xtensa.c (ebb_propose_action): Put declarations before
541
        statements.
542
 
543
2004-10-21  H.J. Lu  
544
 
545
        * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.94.
546
        * configure: Regenerate.
547
 
548
2004-10-21  H.J. Lu  
549
 
550
        PR 463
551
        * aoutx.h (aout_link_input_section_std): Pass proper hash entry
552
        to linker reloc_overflow callback.
553
        (aout_link_input_section_ext): Likewise.
554
        (aout_link_reloc_link_order): Likewise.
555
        * coff-a29k.c (coff_a29k_relocate_section): Likewise.
556
        * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
557
        Likewise.
558
        (alpha_relocate_section): Likewise.
559
        * coff-arm.c (coff_arm_relocate_section): Likewise.
560
        * coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
561
        * coff-h8500.c (extra_case): Likewise.
562
        * coff-i960.c (coff_i960_relocate_section): Likewise.
563
        * coff-mcore.c (coff_mcore_relocate_section): Likewise.
564
        * coff-mips.c (mips_relocate_section): Likewise.
565
        * coff-or32.c (coff_or32_relocate_section): Likewise.
566
        * coff-ppc.c (coff_ppc_relocate_section): Likewise.
567
        * coff-rs6000.c (xcoff_ppc_relocate_section): Likewise.
568
        * coff-sh.c (sh_relocate_section): Likewise.
569
        * coff-tic80.c (coff_tic80_relocate_section): Likewise.
570
        * coff-w65.c (w65_reloc16_extra_cases): Likewise.
571
        * coff-z8k.c (extra_case): Likewise.
572
        * coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
573
        * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
574
        (_bfd_coff_generic_relocate_section): Likewise.
575
        * ecoff.c (ecoff_reloc_link_order): Likewise.
576
        * elf-hppa.h (elf_hppa_relocate_section): Likewise.
577
        * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
578
        * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
579
        * elf32-arm.h (elf32_arm_relocate_section): Likewise.
580
        * elf32-avr.c (elf32_avr_relocate_section): Likewise.
581
        * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
582
        * elf32-cris.c (cris_elf_relocate_section): Likewise.
583
        * elf32-crx.c (elf32_crx_relocate_section): Likewise.
584
        * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
585
        * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
586
        * elf32-frv.c (elf32_frv_relocate_section): Likewise.
587
        * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
588
        * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
589
        * elf32-i370.c (i370_elf_relocate_section): Likewise.
590
        * elf32-i386.c (elf_i386_relocate_section): Likewise.
591
        * elf32-i860.c (elf32_i860_relocate_section): Likewise.
592
        * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
593
        * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
594
        * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
595
        * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
596
        * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
597
        * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
598
        * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
599
        * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
600
        * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
601
        * elf32-s390.c (elf_s390_relocate_section): Likewise.
602
        * elf32-sh.c (sh_elf_relocate_section): Likewise.
603
        * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
604
        * elf32-v850.c (v850_elf_relocate_section): Likewise.
605
        * elf32-vax.c (elf_vax_relocate_section): Likewise.
606
        * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
607
        * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
608
        * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
609
        * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
610
        * elf64-s390.c (elf_s390_relocate_section): Likewise.
611
        * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
612
        * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
613
        * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
614
        * elflink.c (elf_reloc_link_order): Likewise.
615
        * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
616
        * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
617
        (_bfd_elf_mips_get_relocated_section_contents): Likewise.
618
        * linker.c (_bfd_generic_reloc_link_order): Likewise.
619
        * pdp11.c (pdp11_aout_link_input_section): Likewise.
620
        (aout_link_reloc_link_order): Likewise.
621
        * reloc.c (bfd_generic_get_relocated_section_contents):
622
        Likewise.
623
        * xcofflink.c (xcoff_reloc_link_order): Likewise.
624
        * simple.c (simple_dummy_reloc_overflow): Updated.
625
 
626
2004-10-20  Andreas Schwab  
627
 
628
        * elf32-m68k.c (elf_m68k_plt_sym_val): New function.
629
        (elf_backend_plt_sym_val): Define.
630
 
631
2004-10-19  Danny Smith  
632
 
633
        * config.bfd: Set targ_underscore=yes for PE COFF targets
634
 
635
2004-10-19  Alan Modra  
636
 
637
        * elf64-ppc.c (opd_entry_value): Handle --just-symbols objects.
638
        (ppc64_elf_edit_opd): Likewise.
639
 
640
2004-10-18  Mark Mitchell  
641
 
642
        * elfarm-nabi.c (ELF_DYNAMIC_SEC_FLAGS): Add comment.
643
        * elflink.c (_bfd_elf_create_dynamic_sections): For a loaded PLT,
644
        set SEC_ALLOC and SEC_LOAD.
645
 
646
2004-10-18  Nick Clifton  
647
 
648
        * elf32-xstormy16.c (xstormy16_elf_relocate_section): Compute
649
        'name' for relocs against both local and global symbols.
650
 
651
2004-10-16  Daniel Jacobowitz  
652
 
653
        * bfd-in2.h: Regenerate.
654
        * bfd.c (struct bfd): Add no_export.
655
        * elflink.c (elf_link_add_object_symbols): Handle no_export.
656
 
657
2004-10-15  Alan Modra  
658
 
659
        * config.bfd: Whitespace cleanup.
660
        * Makefile.am: Run "make dep-am"
661
        * Makefile.in: Regenerate.
662
 
663
2004-10-15  Jakub Jelinek  
664
 
665
        * elflink.c (struct already_linked_section): Removed.
666
        (try_match_symbols_in_sections, already_linked): Removed.
667
        (_bfd_elf_section_already_linked): Skip ^\.gnu\.linkonce\.[^.]*\.
668
        prefix of section names when finding already_linked_table
669
        chain.  Compare section names.  Instead of calling already_linked,
670
        do it inline and only for sections in the same already_linked_list.
671
 
672
2004-10-15  Alan Modra  
673
 
674
        * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Add "info"
675
        parameter.  If called after _bfd_elf_write_section_eh_frame,
676
        don't allow a -2 return unless need_* bit is already set, and
677
        handle offsets adjusted for output_offset.
678
        * elf-bfd.h (_bfd_elf_eh_frame_section_offset): Update prototype.
679
        * elf.c (_bfd_elf_section_offset): Update call.
680
 
681
2004-10-13  H.J. Lu  
682
 
683
        PR 440
684
        * coffcode.h (coff_compute_section_file_positions): Cast to
685
        bfd_vma when computing page alignment.
686
 
687
2004-10-13  Mark Mitchell  
688
 
689
        * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
690
        offsets, not VMAs, for DT_VERSYM, DT_VERDEF, DT_VERNEED.
691
 
692
2004-10-12  Mark Mitchell  
693
 
694
        * elf32-arm.h (elf32_arm_finish_dynamic_symbol): Make .rel.plt
695
        relocations use a virtual address, not a section offset.
696
 
697
2004-10-12  Bob Wilson  
698
 
699
        * elf32-xtensa.c (elf_xtensa_get_private_bfd_flags): Delete.
700
        (narrow_instruction, widen_instruction): Remove unnecessary calls to
701
        xtensa_format_encode.
702
        (ebb_propose_action): Inline call to ebb_add_proposed_action.
703
        (ebb_add_proposed_action): Delete.
704
 
705
2004-10-12  Bob Wilson  
706
 
707
        * elf32-xtensa.c: Use ISO C90 formatting.
708
 
709
2004-10-12  Paul Brook  
710
 
711
        * elf32-arm.h (elf32_arm_merge_private_bfd_data): Rephrase error
712
        message.
713
 
714
2004-10-12  Paul Brook  
715
 
716
        * elf32-arm.h: Support EABI version 4 objects.
717
 
718
2004-10-12  Alan Modra  
719
 
720
        PR 325
721
        * cpu-i386.c (bfd_x86_64_arch_intel_syntax): Place last in chain.
722
        Don't mark as default.
723
        (bfd_x86_64_arch): Don't mark as default.
724
 
725
2004-10-12  Alan Modra  
726
 
727
        * elflink.c (enum action_discarded): New.
728
        (elf_section_complain_discarded): Delete.
729
        (elf_action_discarded): New function subsuming the above and also
730
        controlling reloc behaviour.
731
        (elf_link_input_bfd): Use it.
732
 
733
2004-10-11  Jakub Jelinek  
734
 
735
        * elf.c (bfd_section_from_shdr): Handle SHT_GNU_LIBLIST.
736
        (special_sections): Add .gnu.liblist and .gnu.conflict.
737
        (assign_section_numbers): Handle SHT_GNU_LIBLIST.
738
 
739
2004-10-11  Alan Modra  
740
 
741
        PR 233
742
        * elflink.c (elf_link_input_bfd): Try harder to support
743
        relocations against symbols in removed linkonce sections.
744
 
745
2004-10-11  Alan Modra  
746
 
747
        * elflink.c (elf_link_input_bfd): Revert PR 354 change.
748
 
749
        PR 354
750
        * elflink.c (elf_link_input_bfd): Check that relocs in SEC_ALLOC
751
        sections do not reference symbols in non-SEC_ALLOC sections.
752
 
753
2004-10-11  Alan Modra  
754
 
755
        PR 437
756
        * elflink.c (elf_link_sort_relocs): Don't bomb on unusual sections.
757
        (_bfd_elf_link_omit_section_dynsym): Formatting.
758
 
759
2004-10-10  Alan Modra  
760
 
761
        * libbfd-in.h (BFD_ASSERT, BFD_FAIL): Wrap macro body in do while.
762
        * libbfd.h: Regnerate.
763
        * elf32-cris.c: Add missing semicolon to BFD_ASSERTs.
764
        * elf32-frv.c: Likewise.
765
        * elf32-m32r.c: Likewise.
766
        * elf32-ppc.c: Likewise.
767
        * elf64-hppa.c: Likewise.
768
        * elfxx-ia64.c: Likewise.
769
        * opncls.c: Likewise.
770
 
771
2004-10-10  Alan Modra  
772
 
773
        * elf-bfd.h (struct eh_frame_hdr_info): Add offsets_adjusted.
774
        * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust
775
        offsets stored in struct eh_cie_fde entries before doing other
776
        work.
777
 
778
        * elf-bfd.h (struct eh_cie_fde): Add cie_inf, remove sec.
779
        (struct eh_frame_hdr_info): Add last_cie_inf, remove last_cie_offset.
780
        * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete code
781
        setting offsets for removed CIEs.  Don't set "sec", instead set
782
        cie_inf for FDEs.  Keep a pointer to last struct eh_cie_fde for a
783
        CIE in hdr_info.  Only set make_relative and make_lsda_relative
784
        for CIEs.  Use pointers rather than array indices.
785
        (_bfd_elf_eh_frame_section_offset): Test/set make_relative,
786
        make_lsda_relative, need_* on cie_inf for FDEs.
787
        (_bfd_elf_write_section_eh_frame): Adjust offset and new_offset for
788
        section output_offset.  Delete cie_offset, instead use cie_inf
789
        pointer to CIE entry.  Use need_relative and need_lsda_relative on
790
        CIE entry for FDEs.  Use pointers rather than array indices.
791
 
792
2004-10-09  Alan Modra  
793
 
794
        * coff-rs6000.c (rs6000coff_vec): Add initializer for
795
        bfd_is_target_special_symbol.
796
        * coff64-rs6000.c (rs6000coff64_vec): Likewise.
797
        * som.c (som_bfd_is_target_special_symbol): Define.
798
 
799
2004-10-08  Nick Clifton  
800
 
801
        * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.93.
802
        * configure: Regenerate.
803
        * bfd-in2.h: Regenerate.
804
        * syms.c (bfd_is_target_special_symbol): New interface function.
805
        Returns true when a symbol should be considered to be special.
806
        * targets.c (bfd_target): Include bfd_is_target_special_symbol in
807
        the symbol jump table.
808
        * elf32-arm.h (elf32_arm_is_target_special_symbol): New function.
809
        Return true iff the symbol is a mapping symbol.
810
        (bfd_elf32_bfd_is_target_special_symbol): Define.
811
        * elfxx-target.h: Provide a default definition for
812
        bfd_is_target_special_symbol.
813
        * aout-target.h: Likewise.
814
        * aout-tic30.c: Likewise.
815
        * binary.c: Likewise.
816
        * coffcode.h: Likewise.
817
        * i386msdos.c: Likewise.
818
        * ieee.c: Likewise.
819
        * ihex.c: Likewise.
820
        * libaout.h: Likewise.
821
        * libbfd-in.h: Likewise
822
        * libecoff.h: Likewise.
823
        * mach-o.c: Likewise.
824
        * mmo.c: Likewise.
825
        * nlm-target.h: Likewise.
826
        * oasys.c: Likewise.
827
        * pef.c: Likewise.
828
        * ppcboot.c: Likewise.
829
        * srec.c: Likewise.
830
        * tekhex.c: Likewise.
831
        * versados.c: Likewise.
832
        * vms.c: Likewise.
833
        * xcoff-target.h: Likewise.
834
        * xsym.c: Likewise.
835
        * libbfd.h: Regenerate.
836
 
837
2004-10-08  Daniel Jacobowitz  
838
 
839
        * config.bfd: Include 64-bit support for i[3-7]86-*-solaris2*.
840
        * elf64-x86-64.c (elf64_x86_64_section_from_shdr): New function.
841
        (elf_backend_section_from_shdr): Define.
842
 
843
2004-10-08  Alan Modra  
844
 
845
        * syms.c (bfd_is_local_label): Return false for file symbols.
846
 
847
2004-10-07  Bob Wilson  
848
            David Heine  
849
 
850
        * elf32-xtensa.c (elf32xtensa_size_opt): New global variable.
851
        (xtensa_default_isa): Global variable moved here from xtensa-isa.c.
852
        (elf32xtensa_no_literal_movement): New global variable.
853
        (elf_howto_table): Add entries for new relocations.
854
        (elf_xtensa_reloc_type_lookup): Handle new relocations.
855
        (property_table_compare): When addresses are equal, compare sizes and
856
        various property flags.
857
        (property_table_matches): New.
858
        (xtensa_read_table_entries): Extend to read new property tables.  Add
859
        output_addr parameter to indicate that output addresses should be used.
860
        Use bfd_get_section_limit.
861
        (elf_xtensa_find_property_entry): New.
862
        (elf_xtensa_in_literal_pool): Use elf_xtensa_find_property_entry.
863
        (elf_xtensa_check_relocs): Handle new relocations.
864
        (elf_xtensa_do_reloc): Use bfd_get_section_limit.  Handle new
865
        relocations.  Use new xtensa-isa.h functions.
866
        (build_encoding_error_message): Remove encode_result parameter.  Add
867
        new target_address parameter used to detect alignment errors.
868
        (elf_xtensa_relocate_section): Use bfd_get_section_limit.  Clean up
869
        error handling.  Use new is_operand_relocation function.
870
        (elf_xtensa_combine_prop_entries, elf_xtensa_merge_private_bfd_data):
871
        Use underbar macro for error messages.  Formatting.
872
        (get_const16_opcode): New.
873
        (get_l32r_opcode): Add a separate flag for initialization.
874
        (get_relocation_opnd): Operand number is no longer explicit in the
875
        relocation.  Change to decode the opcode and analyze its operands.
876
        (get_relocation_slot): New.
877
        (get_relocation_opcode): Add bfd parameter.  Use bfd_get_section_limit.
878
        Use new xtensa-isa.h functions to handle multislot instructions.
879
        (is_l32r_relocation): Add bfd parameter.  Use is_operand_relocation.
880
        (get_asm_simplify_size, is_alt_relocation, is_operand_relocation,
881
        insn_decode_len, insn_decode_opcode, check_branch_target_aligned,
882
        check_loop_aligned, check_branch_target_aligned_address, narrowable,
883
        widenable, narrow_instruction, widen_instruction, op_single_fmt_table,
884
        get_single_format, init_op_single_format_table): New.
885
        (elf_xtensa_do_asm_simplify): Add error_message parameter and use it
886
        instead of calling _bfd_error_handler.  Use new xtensa-isa.h functions.
887
        (contract_asm_expansion): Add error_message parameter and pass it to
888
        elf_xtensa_do_asm_simplify.  Replace use of R_XTENSA_OP0 relocation
889
        with R_XTENSA_SLOT0_OP.
890
        (get_expanded_call_opcode): Extend to handle either L32R or CONST16
891
        instructions.  Use new xtensa-isa.h functions.
892
        (r_reloc struct): Add new virtual_offset field.
893
        (r_reloc_init): Add contents and content_length parameters.  Set
894
        virtual_offset field to zero.  Add contents to target_offset field for
895
        partial_inplace relocations.
896
        (r_reloc_is_defined): Check for null.
897
        (print_r_reloc): New debug function.
898
        (source_reloc struct): Replace xtensa_operand field with pair of the
899
        opcode and the operand position.  Add is_abs_literal field.
900
        (init_source_reloc): Specify operand by opcode/position pair.  Set
901
        is_abs_literal field.
902
        (source_reloc_compare): When target_offsets are equal, compare other
903
        fields to make sorting predictable.
904
        (literal_value struct): Add is_abs_literal field.
905
        (value_map_hash_table struct): Add has_last_loc and last_loc fields.
906
        (init_literal_value): New.
907
        (is_same_value): Replace with ...
908
        (literal_value_equal): ... this function.  Add comparisons of
909
        virtual_offset and is_abs_literal fields.
910
        (value_map_hash_table_init): Use bfd_zmalloc.  Check for allocation
911
        failure.  Initialize has_last_loc field.
912
        (value_map_hash_table_delete): New.
913
        (hash_literal_value): Rename to ...
914
        (literal_value_hash): ... this.  Include is_abs_literal flag and
915
        virtual_offset field in the hash value.
916
        (get_cached_value): Rename to ...
917
        (value_map_get_cached_value): ... this.  Update calls to
918
        literal_value_hash and literal_value_equal.
919
        (add_value_map): Check for allocation failure.  Update calls to
920
        value_map_get_cached_value and literal_value_hash.
921
        (text_action, text_action_list, text_action_t): New types.
922
        (find_fill_action, compute_removed_action_diff, adjust_fill_action,
923
        text_action_add, text_action_add_literal, offset_with_removed_text,
924
        offset_with_removed_text_before_fill, find_insn_action,
925
        print_action_list, print_removed_literals): New.
926
        (offset_with_removed_literals): Delete.
927
        (xtensa_relax_info struct): Add is_relaxable_asm_section, action_list,
928
        fix_array, fix_array_count, allocated_relocs, relocs_count, and
929
        allocated_relocs_count fields.
930
        (init_xtensa_relax_info): Initialize new fields.
931
        (reloc_bfd_fix struct): Add new translated field.
932
        (reloc_bfd_fix_init): Add translated parameter and use it to set the
933
        translated field.
934
        (fix_compare, cache_fix_array): New.
935
        (get_bfd_fix): Remove fix_list parameter and get all relax_info for the
936
        section via get_xtensa_relax_info.  Use cache_fix_array to set up
937
        sorted fix_array and use bsearch instead of linear search.
938
        (section_cache_t): New struct.
939
        (init_section_cache, section_cache_section, clear_section_cache): New.
940
        (ebb_t, ebb_target_enum, proposed_action, ebb_constraint): New types.
941
        (init_ebb_constraint, free_ebb_constraint, init_ebb, extend_ebb_bounds,
942
        extend_ebb_bounds_forward, extend_ebb_bounds_backward,
943
        insn_block_decodable_len, ebb_propose_action, ebb_add_proposed_action):
944
        New.
945
        (retrieve_contents): Use bfd_get_section_limit.
946
        (elf_xtensa_relax_section): Add relocations_analyzed flag.  Update call
947
        to compute_removed_literals.  Free value_map_hash_table when no longer
948
        needed.
949
        (analyze_relocations): Check is_relaxable_asm_section flag.  Call
950
        compute_text_actions for all sections.
951
        (find_relaxable_sections): Mark sections as relaxable if they contain
952
        ASM_EXPAND relocations that can be optimized.  Adjust r_reloc_init
953
        call.  Increment relax_info src_count field only for appropriate
954
        relocation types.  Remove is_literal_section check.
955
        (collect_source_relocs): Use bfd_get_section_limit.  Adjust calls to
956
        r_reloc_init and find_associated_l32r_irel.  Check
957
        is_relaxable_asm_section flag.  Handle L32R instructions with absolute
958
        literals.  Pass is_abs_literal flag to init_source_reloc.
959
        (is_resolvable_asm_expansion): Use bfd_get_section_limit.  Check for
960
        CONST16 instructions.  Adjust calls to r_reloc_init and
961
        pcrel_reloc_fits.  Handle weak symbols conservatively.
962
        (find_associated_l32r_irel): Add bfd parameter and pass it to
963
        is_l32r_relocation.
964
        (compute_text_actions, compute_ebb_proposed_actions,
965
        compute_ebb_actions, check_section_ebb_pcrels_fit,
966
        check_section_ebb_reduces, text_action_add_proposed,
967
        compute_fill_extra_space): New.
968
        (remove_literals): Replace with ...
969
        (compute_removed_literals): ... this function.  Call
970
        init_section_cache.  Use bfd_get_section_limit.  Sort internal_relocs.
971
        Call xtensa_read_table_entries to get the property table.  Skip
972
        relocations other than R_XTENSA_32 and R_XTENSA_PLT.  Use new
973
        is_removable_literal, remove_dead_literal, and
974
        identify_literal_placement functions.
975
        (get_irel_at_offset): Rewrite to use bsearch on sorted relocations
976
        instead of linear search.
977
        (is_removable_literal, remove_dead_literal,
978
        identify_literal_placement): New.
979
        (relocations_reach): Update check for literal not referenced by any
980
        PC-relative relocations.  Adjust call to pcrel_reloc_fits.
981
        (coalesce_shared_literal, move_shared_literal): New.
982
        (relax_section): Use bfd_get_section_limit.  Call
983
        translate_section_fixes.  Update calls to r_reloc_init and
984
        offset_with_removed_text.  Check new is_relaxable_asm_section flag.
985
        Add call to pin_internal_relocs.  Add special handling for
986
        R_XTENSA_ASM_SIMPLIFY and R_XTENSA_DIFF* relocs.  Use virtual_offset
987
        info to calculate new addend_displacement variable.  Replace code for
988
        deleting literals with more general code to perform the actions
989
        determined by the action_list for the section.
990
        (translate_section_fixes, translate_reloc_bfd_fix): New.
991
        (translate_reloc): Check new is_relaxable_asm_section flag.  Call
992
        find_removed_literal only if is_operand_relocation.  Update call to
993
        offset_with_removed_text.  Use new target_offset and removed_bytes
994
        variables.
995
        (move_literal): New.
996
        (relax_property_section):  Use bfd_get_section_limit.  Set new
997
        is_full_prop_section flag and handle new property tables.  Update calls
998
        to r_reloc_init and offset_with_removed_text.  Check
999
        is_relaxable_asm_section flag.  Handle expansion of zero-sized
1000
        unreachable entries, with use of offset_with_removed_text_before_fill.
1001
        For relocatable links, combine entries only for literal tables.
1002
        (relax_section_symbols): Check is_relaxable_asm_section flag.  Update
1003
        calls to offset_with_removed_text.  Translate st_size field for
1004
        function symbols.
1005
        (do_fix_for_relocatable_link): Change to return bfd_boolean to indicate
1006
        failure.  Add contents parameter.  Update call to get_bfd_fix.  Update
1007
        call to r_reloc_init.  Call _bfd_error_handler and return FALSE for
1008
        R_XTENSA_ASM_EXPAND relocs.
1009
        (do_fix_for_final_link): Add input_bfd and contents parameters.  Update
1010
        call to get_bfd_fix.  Include offset from contents for partial_inplace
1011
        relocations.
1012
        (is_reloc_sym_weak): New.
1013
        (pcrel_reloc_fits): Use new xtensa-isa.h functions.
1014
        (prop_sec_len): New.
1015
        (xtensa_is_property_section): Handle new property sections.
1016
        (is_literal_section): Delete.
1017
        (internal_reloc_compare): When r_offset matches, compare r_info and
1018
        r_addend to make sorting predictable.
1019
        (internal_reloc_matches): New.
1020
        (xtensa_get_property_section_name): Handle new property sections.
1021
        (xtensa_get_property_predef_flags): New.
1022
        (xtensa_callback_required_dependence): Use bfd_get_section_limit.
1023
        Update calls to xtensa_isa_init, is_l32r_relocation, and r_reloc_init.
1024
        * xtensa-isa.c (xtensa_default_isa): Moved to elf32-xtensa.c.
1025
        (xtisa_errno, xtisa_error_msg): New variables.
1026
        (xtensa_isa_errno, xtensa_isa_error_msg): New.
1027
        (xtensa_insnbuf_alloc): Add error handling.
1028
        (xtensa_insnbuf_to_chars): Add num_chars parameter.  Update to
1029
        use xtensa_format_decode.  Add error handling.
1030
        (xtensa_insnbuf_from_chars): Add num_chars parameter.  Decode the
1031
        instruction length to find the number of bytes to copy.
1032
        (xtensa_isa_init): Add error handling.  Replace calls to
1033
        xtensa_load_isa and xtensa_extend_isa with code to initialize lookup
1034
        tables in the xtensa_modules structure.
1035
        (xtensa_check_isa_config, xtensa_add_isa, xtensa_load_isa,
1036
        xtensa_extend_isa): Delete.
1037
        (xtensa_isa_free): Change to only free lookup tables.
1038
        (opname_lookup_compare): Replace with ...
1039
        (xtensa_isa_name_compare): ... this function.  Use strcasecmp.
1040
        (xtensa_insn_maxlength): Rename to ...
1041
        (xtensa_isa_maxlength): ... this.
1042
        (xtensa_insn_length): Delete.
1043
        (xtensa_insn_length_from_first_byte): Replace with ...
1044
        (xtensa_isa_length_from_chars): ... this function.
1045
        (xtensa_num_opcodes): Rename to ...
1046
        (xtensa_isa_num_opcodes): ... this.
1047
        (xtensa_isa_num_pipe_stages, xtensa_isa_num_formats,
1048
        xtensa_isa_num_regfiles, xtensa_isa_num_stages,
1049
        xtensa_isa_num_sysregs, xtensa_isa_num_interfaces,
1050
        xtensa_isa_num_funcUnits, xtensa_format_name, xtensa_format_lookup,
1051
        xtensa_format_decode, xtensa_format_encode, xtensa_format_length,
1052
        xtensa_format_num_slots, xtensa_format_slot_nop_opcode,
1053
        xtensa_format_get_slot, xtensa_format_set_slot): New functions.
1054
        (xtensa_opcode_lookup): Add error handling.
1055
        (xtensa_decode_insn): Replace with ...
1056
        (xtensa_opcode_decode): ... this function, with new format and
1057
        slot parameters.  Add error handling.
1058
        (xtensa_encode_insn): Replace with ...
1059
        (xtensa_opcode_encode): ... this function, which does the encoding via
1060
        one of the entries in the "encode_fns" array.  Add error handling.
1061
        (xtensa_opcode_name): Add error handling.
1062
        (xtensa_opcode_is_branch, xtensa_opcode_is_jump, xtensa_opcode_is_loop,
1063
        xtensa_opcode_is_call): New.
1064
        (xtensa_num_operands): Replace with ...
1065
        (xtensa_opcode_num_operands): ... this function.  Add error handling.
1066
        (xtensa_opcode_num_stateOperands,
1067
        xtensa_opcode_num_interfaceOperands, xtensa_opcode_num_funcUnit_uses,
1068
        xtensa_opcode_funcUnit_use, xtensa_operand_name,
1069
        xtensa_operand_is_visible): New.
1070
        (xtensa_get_operand, xtensa_operand_kind): Delete.
1071
        (xtensa_operand_inout): Add error handling and special-case for
1072
        "sout" operands.
1073
        (xtensa_operand_get_field, xtensa_operand_set_field): Rewritten to
1074
        operate on one slot of an instruction.  Added error handling.
1075
        (xtensa_operand_encode): Handle default operands with no encoding
1076
        functions.  Check for success by comparing against decoded value.
1077
        Add error handling.
1078
        (xtensa_operand_decode): Handle default operands.  Return decoded value
1079
        through argument pointer.  Add error handling.
1080
        (xtensa_operand_is_register, xtensa_operand_regfile,
1081
        xtensa_operand_num_regs, xtensa_operand_is_known_reg): New.
1082
        (xtensa_operand_isPCRelative): Rename to ...
1083
        (xtensa_operand_is_PCrelative): ... this.  Add error handling.
1084
        (xtensa_operand_do_reloc, xtensa_operand_undo_reloc): Return value
1085
        through argument pointer.  Add error handling.
1086
        (xtensa_stateOperand_state, xtensa_stateOperand_inout,
1087
        xtensa_interfaceOperand_interface, xtensa_regfile_lookup,
1088
        xtensa_regfile_lookup_shortname, xtensa_regfile_name,
1089
        xtensa_regfile_shortname, xtensa_regfile_view_parent,
1090
        xtensa_regfile_num_bits, xtensa_regfile_num_entries,
1091
        xtensa_state_lookup, xtensa_state_name, xtensa_state_num_bits,
1092
        xtensa_state_is_exported, xtensa_sysreg_lookup,
1093
        xtensa_sysreg_lookup_name, xtensa_sysreg_name, xtensa_sysreg_number,
1094
        xtensa_sysreg_is_user, xtensa_interface_lookup, xtensa_interface_name,
1095
        xtensa_interface_num_bits, xtensa_interface_inout,
1096
        xtensa_interface_has_side_effect, xtensa_funcUnit_lookup,
1097
        xtensa_funcUnit_name, xtensa_funcUnit_num_copies): New.
1098
        * xtensa-modules.c: Rewrite to use new data structures.
1099
        * reloc.c (BFD_RELOC_XTENSA_DIFF8, BFD_RELOC_XTENSA_DIFF16,
1100
        BFD_RELOC_XTENSA_DIFF32, BFD_RELOC_XTENSA_SLOT0_OP,
1101
        BFD_RELOC_XTENSA_SLOT1_OP, BFD_RELOC_XTENSA_SLOT2_OP,
1102
        BFD_RELOC_XTENSA_SLOT3_OP, BFD_RELOC_XTENSA_SLOT4_OP,
1103
        BFD_RELOC_XTENSA_SLOT5_OP, BFD_RELOC_XTENSA_SLOT6_OP,
1104
        BFD_RELOC_XTENSA_SLOT7_OP, BFD_RELOC_XTENSA_SLOT8_OP,
1105
        BFD_RELOC_XTENSA_SLOT9_OP, BFD_RELOC_XTENSA_SLOT10_OP,
1106
        BFD_RELOC_XTENSA_SLOT11_OP, BFD_RELOC_XTENSA_SLOT12_OP,
1107
        BFD_RELOC_XTENSA_SLOT13_OP, BFD_RELOC_XTENSA_SLOT14_OP,
1108
        BFD_RELOC_XTENSA_SLOT0_ALT, BFD_RELOC_XTENSA_SLOT1_ALT,
1109
        BFD_RELOC_XTENSA_SLOT2_ALT, BFD_RELOC_XTENSA_SLOT3_ALT,
1110
        BFD_RELOC_XTENSA_SLOT4_ALT, BFD_RELOC_XTENSA_SLOT5_ALT,
1111
        BFD_RELOC_XTENSA_SLOT6_ALT, BFD_RELOC_XTENSA_SLOT7_ALT,
1112
        BFD_RELOC_XTENSA_SLOT8_ALT, BFD_RELOC_XTENSA_SLOT9_ALT,
1113
        BFD_RELOC_XTENSA_SLOT10_ALT, BFD_RELOC_XTENSA_SLOT11_ALT,
1114
        BFD_RELOC_XTENSA_SLOT12_ALT, BFD_RELOC_XTENSA_SLOT13_ALT,
1115
        BFD_RELOC_XTENSA_SLOT14_ALT): Add new relocations.
1116
        * Makefile.am (xtensa-isa.lo, xtensa-modules.lo): Update dependencies.
1117
        * Makefile.in: Regenerate.
1118
        * bfd-in2.h: Likewise.
1119
        * libbfd.h: Likewise.
1120
 
1121
2004-10-07  Richard Sandiford  
1122
 
1123
        * elf64-mips.c (mips_elf64_write_rel): Use STN_UNDEF for relocs
1124
        against the absolute section.
1125
        (mips_elf64_write_rela): Likewise.
1126
 
1127
2004-10-07  Jan Beulich 
1128
 
1129
        * elf.c (elf_find_function): Don't generally check for matching
1130
        section, just for non-file symbols.  Remove redunant comparison
1131
        for the latter.
1132
        * elf32-arm.h (arm_elf_find_function): Likewise.
1133
 
1134
2004-10-07  Jeff Baker  
1135
 
1136
        * elflink.c (_bfd_elf_add_dynamic_entry): Add code to warn if
1137
        adding a DT_TEXTREL to a shared object and --warn-shared-textrel
1138
        was specified.
1139
 
1140
2004-10-04  Roland McGrath  
1141
 
1142
        * hash.c (bfd_hash_set_default_size): Use const for table.
1143
        Use size_t instead of int for variable compared to sizeof results.
1144
 
1145
2004-10-05  Alan Modra  
1146
 
1147
        PR 425
1148
        * syms.c (_bfd_stab_section_find_nearest_line): Ignore R_*_NONE relocs.
1149
 
1150
2004-10-01  Paul Brook  
1151
 
1152
        * elf32-arm.h (elf32_arm_fake_sections,
1153
        is_arm_elf_unwind_section_name, elf32_arm_section_from_shdr): New
1154
        functions.
1155
        (elf_backend_fake_sections, elf_backend_section_from_shdr): Define.
1156
 
1157
2004-10-01  Alan Modra  
1158
 
1159
        * elf-bfd.h (struct eh_cie_fde): Add need_relative and
1160
        need_lsda_relative.
1161
        * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Set
1162
        need_relative or need_lsda_relative if we are processing an
1163
        offset for a reloc on a FDE initial loc or LSDA field
1164
        respectively.
1165
        (_bfd_elf_write_section_eh_frame): Test need_relative and
1166
        need_lsda_relative in place of corresponding make_* field
1167
        when deciding to use pc-relative encodings.
1168
 
1169
2004-09-30  Paul Brook  
1170
 
1171
        * elf32-arm.h (bfd_elf32_arm_set_target_relocs): Handle "abs"
1172
        target2 relocation type.
1173
 
1174
2004-09-30  H.J. Lu  
1175
 
1176
        PR 414
1177
        * elflink.c (_bfd_elf_merge_symbol): Check TLS symbol.
1178
 
1179
2004-09-30  Paul Brook  
1180
 
1181
        * reloc.c: Add BFD_RELOC_ARM_SMI.
1182
        * bfd-in2.h: Regenerate.
1183
        * libbfd.h: Ditto.
1184
 
1185
2004-09-24  Alan Modra  
1186
 
1187
        * dwarf2.c (_bfd_dwarf2_find_nearest_line): Add output section
1188
        vma and output offset to address.
1189
        * simple.c (simple_save_output_info): Only set output section
1190
        and offset for debug sections, or those not already set up by
1191
        the linker.
1192
        (bfd_simple_get_relocated_section_contents): Update comment.
1193
 
1194
2004-09-24  Alan Modra  
1195
 
1196
        * elf.c (IS_LOADED): Delete.
1197
        (assign_file_positions_for_segments): Just test SEC_LOAD instead.
1198
        Restore SEC_HAS_CONTENTS test to the one place it was used prior
1199
        to 2004-09-22.
1200
 
1201
2004-09-23  Alan Modra  
1202
 
1203
        PR gas/396
1204
        * elf32-sparc.c (elf32_sparc_final_write_processing): Handle
1205
        bfd_mach_sparc_sparclet and bfd_mach_sparc_sparclite.  Remove
1206
        redundant assignment of EM_SPARC.
1207
 
1208
2004-09-22  Brian Ford  
1209
 
1210
        * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
1211
        alignment for .rdata sections so sse[2] code works with gcc >= 3.3.3
1212
        constants.
1213
        * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
1214
 
1215
2004-09-22  Alan Modra  
1216
 
1217
        * elf32-ppc.c (ppc_elf_modify_segment_map): Delete.
1218
        (elf_backend_modify_segment_map): Don't define.
1219
 
1220
2004-09-22  Alan Modra  
1221
 
1222
        * elf.c (IS_LOADED): Define.
1223
        (assign_file_positions_for_segments): Don't round up file offset of
1224
        PT_LOAD segments containing no SEC_LOAD sections, instead round down.
1225
        Delete code handling link script adjustment of lma.  Do the adjust
1226
        in later code handling similar ajustments.  Remove dead code error
1227
        check.  Warn if section lma would require a negative offset
1228
        adjustment.  Tweak lma adjustment to use p_filesz rather than p_memsz.
1229
        Use p_vaddr + p_memsz inside section loop in place of voff.  Don't
1230
        update voff in section loop.  Change voff in segment loop to be an
1231
        adjustment on top of "off".  Set sec->filepos and update "off" later.
1232
        Test for loadable sections consistently using IS_LOADED.  Similarly,
1233
        test for alloc-only sections other than .tbss consistently.
1234
        Don't bother checking SEC_ALLOC in PT_LOAD segments.  Remove FIXME.
1235
        Tidy PT_NOTE handling.  Use %B and %A in error messages.
1236
        (assign_file_positions_except_relocs): Use %B in error message.
1237
 
1238
2004-09-17  H.J. Lu  
1239
 
1240
        * Makefile.am (AUTOMAKE_OPTIONS): Require 1.9.
1241
        (CONFIG_STATUS_DEPENDENCIES): New.
1242
        (Makefile): Removed.
1243
        (config.status): Likewise.
1244
        * Makefile.in: Regenerated.
1245
 
1246
2004-09-17  Paul Brook  
1247
 
1248
        * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add prototype.
1249
        (bfd_elf32_arm_process_before_allocation): Update prototype.
1250
        * bfd-in2.h: Regenerate.
1251
        * elf32-arm.h (elf32_arm_link_hash_table): Add target2_reloc.
1252
        (elf32_arm_link_hash_table_create): Set it.
1253
        (bfd_elf32_arm_process_before_allocation): Remove target1_is_rel.
1254
        (bfd_elf32_arm_set_target_relocs): New function.
1255
        (arm_real_reloc_type): New function.
1256
        (elf32_arm_final_link_relocate): Use it.  Handle R_ARM_PREL31 and
1257
        R_ARM_GOT_PREL.  Remove R_ARM_TARGET1.
1258
        (elf32_arm_gc_sweep_hook): Ditto.
1259
        (elf32_arm_check_relocs): Ditto.
1260
        (elf32_arm_relocate_section): Handle R_ARM_GOT_PREL.
1261
        * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_PREL31 and
1262
        R_ARM_GOT_TARGET2.
1263
        (elf32_arm_got_prel): New variable.
1264
        (elf32_arm_howto_from_type): New function.
1265
        (elf32_arm_info_to_howto): Use it.
1266
        (elf32_arm_reloc_map): Add BFD_RELOC_ARM_PREL31 and
1267
        BFD_RELOC_ARM_TARGET2.
1268
        * libbfd.h: Regenerate.
1269
        * reloc.c: Add BFD_RELOC_ARM_TARGET2 and BFD_RELOC_ARM_PREL31.
1270
 
1271
2004-09-17  Alan Modra  
1272
 
1273
        * ecoff.c: Update u.undef.next refs.
1274
        * elf64-ppc.c: Likewise.
1275
        * elflink.c: Likewise.
1276
        * linker.c: Likewise.
1277
        * xcofflink.c: Likewise.
1278
 
1279
        * elf-bfd.h (struct elf_link_hash_entry): Rearrange.  Add FIXME to
1280
        dynamic_def.  Combine weakdef and elf_hash_value.  Move vtable
1281
        fields to indirect struct.
1282
        * elf-m10300.c: Update u.weakdef refs.
1283
        * elf32-arm.h: Likewise.
1284
        * elf32-cris.c: Likewise.
1285
        * elf32-frv.c: Likewise.
1286
        * elf32-hppa.c: Likewise.
1287
        * elf32-i370.c: Likewise.
1288
        * elf32-i386.c: Likewise.
1289
        * elf32-m32r.c: Likewise.
1290
        * elf32-m68k.c: Likewise.
1291
        * elf32-ppc.c: Likewise.
1292
        * elf32-s390.c: Likewise.
1293
        * elf32-sh.c: Likewise.
1294
        * elf32-sparc.c: Likewise.
1295
        * elf32-vax.c: Likewise.
1296
        * elf32-xtensa.c: Likewise.
1297
        * elf64-alpha.c: Likewise.
1298
        * elf64-hppa.c: Likewise.
1299
        * elf64-ppc.c: Likewise.
1300
        * elf64-s390.c: Likewise.
1301
        * elf64-sh64.c: Likewise.
1302
        * elf64-sparc.c: Likewise.
1303
        * elf64-x86-64.c: Likewise.
1304
        * elfxx-ia64.c: Likewise.
1305
        * elfxx-mips.c: Likewise.
1306
        * elflink.c: Likewise.  Also u.elf_hash_value.
1307
        (elf_gc_propagate_vtable_entries_used): Update for h->vtable
1308
        indirection.
1309
        (elf_gc_smash_unused_vtentry_relocs): Likewise.
1310
        (bfd_elf_gc_record_vtinherit): Alloc vtable.
1311
        (bfd_elf_gc_record_vtentry): Likewise.
1312
        * elf.c (_bfd_elf_link_hash_newfunc): Use memset.
1313
 
1314
2004-09-17  Alan Modra  
1315
 
1316
        * Makefile.am: Run "make dep-am".
1317
        * Makefile.in: Regenerate.
1318
        * bfd-in2.h: Regenerate.
1319
        * po/SRC-POTFILES.in: Regenerate.
1320
        * po/bfd.pot: Regenerate.
1321
 
1322
2004-09-16  Alan Modra  
1323
 
1324
        * elf-bfd.h (struct elf_link_hash_entry): Replace elf_link_hash_flags
1325
        with bitfields.  Make "type" and "other" bitfields too.
1326
        (ELF_LINK_HASH_REF_REGULAR, ELF_LINK_HASH_DEF_REGULAR,
1327
        ELF_LINK_HASH_REF_DYNAMIC, ELF_LINK_HASH_DEF_DYNAMIC,
1328
        ELF_LINK_HASH_REF_REGULAR_NONWEAK, ELF_LINK_HASH_DYNAMIC_ADJUSTED,
1329
        ELF_LINK_HASH_NEEDS_COPY, ELF_LINK_HASH_NEEDS_PLT, ELF_LINK_NON_ELF,
1330
        ELF_LINK_HIDDEN, ELF_LINK_FORCED_LOCAL, ELF_LINK_HASH_MARK,
1331
        ELF_LINK_NON_GOT_REF, ELF_LINK_DYNAMIC_DEF, ELF_LINK_DYNAMIC_WEAK,
1332
        ELF_LINK_POINTER_EQUALITY_NEEDED): Delete.
1333
        (ELF_COMMON_DEF_P, WILL_CALL_FINISH_DYNAMIC_SYMBOL): Update.
1334
        * elf-hppa.h: Update all uses of elf_link_hash_flags.
1335
        * elf-m10300.c: Likewise.
1336
        * elf.c: Likewise.
1337
        * elf32-arm.h: Likewise.
1338
        * elf32-cris.c: Likewise.
1339
        * elf32-frv.c: Likewise.
1340
        * elf32-hppa.c: Likewise.
1341
        * elf32-i370.c: Likewise.
1342
        * elf32-i386.c: Likewise.
1343
        * elf32-m32r.c: Likewise.
1344
        * elf32-m68k.c: Likewise.
1345
        * elf32-ppc.c: Likewise.
1346
        * elf32-s390.c: Likewise.
1347
        * elf32-sh-symbian.c: Likewise.
1348
        * elf32-sh.c: Likewise.
1349
        * elf32-sh64.c: Likewise.
1350
        * elf32-sparc.c: Likewise.
1351
        * elf32-vax.c: Likewise.
1352
        * elf32-xtensa.c: Likewise.
1353
        * elf64-alpha.c: Likewise.
1354
        * elf64-hppa.c: Likewise.
1355
        * elf64-ppc.c: Likewise.
1356
        * elf64-s390.c: Likewise.
1357
        * elf64-sh64.c: Likewise.
1358
        * elf64-sparc.c: Likewise.
1359
        * elf64-x86-64.c: Likewise.
1360
        * elflink.c: Likewise.
1361
        * elfxx-ia64.c: Likewise.
1362
        * elfxx-mips.c: Likewise.
1363
        * configure.in (AM_INIT_AUTOMAKE): Set version to 2.15.92.
1364
        * configure: Regenerate.
1365
        * aclocal.m4: Regenerate.
1366
 
1367
2004-09-16  Alan Modra  
1368
 
1369
        * elf32-arm.h (elf32_arm_gc_sweep_hook): Add #ifndef OLD_ARM_ABI
1370
        around uses of R_ARM_TARGET1.
1371
        (elf32_arm_check_relocs): Likewise.
1372
 
1373
2004-09-13  Paul Brook  
1374
 
1375
        * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
1376
        prototype.
1377
        * bfd-in2.h: Regenerate.
1378
        * libbfd.h: Regenerate.
1379
        * elf32-arm.h (elf32_arm_link_hash_table): Add target1_is_rel.
1380
        (elf32_arm_link_hash_table_create): Set target1_is_rel.
1381
        (bfd_elf32_arm_process_before_allocation): Ditto.
1382
        (elf32_arm_final_link_relocate): Handle R_ARM_TARGET1.
1383
        (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto.
1384
        * elfarm-nabi.c (elf32_arm_howto_table): Rename RELABS to TARGET1.
1385
        * reloc.c: Ditto.
1386
 
1387
2004-09-10  Joel Brobecker  
1388
 
1389
        * hpux-core.c (thread_section_p): New function.
1390
        (hpux_core_core_file_p): Fix computation of offset in call
1391
        to bfd_seek. Create a ".reg" section from an arbitrary
1392
        ".reg/" section if none was created after having read
1393
        all sections.
1394
 
1395
2004-09-11  Andreas Schwab  
1396
 
1397
        * acinclude.m4: Fix spelling of ACX_NONCANONICAL_*.
1398
        * aclocal.m4: Rebuild.
1399
        * configure: Rebuild.
1400
 
1401
2004-09-10  Joel Brobecker  
1402
 
1403
        * section.c (bfd_sections_find_if): Fix parameter name in
1404
        comment to match code.
1405
 
1406
2004-09-10  Alan Modra  
1407
 
1408
        * elf.c  (assign_file_positions_except_relocs): Assign relocs
1409
        stored in a bfd section.
1410
 
1411
2004-09-08  Hans-Peter Nilsson  
1412
 
1413
        * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Reset
1414
        h->gotplt_refcount to 0, not -1.
1415
 
1416
2004-09-07  Hans-Peter Nilsson  
1417
 
1418
        * elf32-cris.c (cris_elf_relocate_section) 
1419
        case R_CRIS_32_GOTPLT>: For internal error message, handle NULL
1420
        symname.
1421
        (cris_elf_check_relocs) : Don't try to
1422
        handle symbol visibility here.
1423
 
1424
2004-09-07  Alan Modra  
1425
 
1426
        * elf64-ppc.c (struct ppc_link_hash_table): Add stub_globals.
1427
        (is_ppc64_elf_target): Rename from is_ppc64_target.  Update all
1428
        callers.
1429
        (ppc_stub_name): Remove trailing "+0" on stub name.
1430
        (create_linkage_sections): Create relocations for
1431
        branch lookup table when --emit-relocs as well as when --shared.
1432
        (ppc_build_one_stub): Emit relocs for long branch stubs.  Adjust
1433
        relbrlt test.  For --emit-stub-syms, always output a sym even when
1434
        one already exists on a plt call stub.  Put stub type in the stub
1435
        symbol name.
1436
        (ppc_size_one_stub): Size long branch stub relocs.  Adjust relbrlt
1437
        test.
1438
        (ppc64_elf_size_stubs): Count global sym stubs added.  Zero
1439
        reloc_count in stub sections.  Adjust relbrlt test.
1440
        (ppc64_elf_build_stubs): Adjust relbrlt test.  Tweak stats output.
1441
        * elflink.c (bfd_elf_size_dynamic_sections): Fix comment typo.
1442
        (elf_link_input_bfd): Ignore symbol index zero relocs when checking
1443
        for relocs against discarded symbols.  Fix comments.
1444
 
1445
2004-09-06  Mark Mitchell  
1446
 
1447
        * elf-bfd.h (_bfd_elf_make_dynamic_segment): Declare it.
1448
        * elf.c (_bfd_elf_make_dynamic_segment): New function, split out
1449
        from ...
1450
        (map_sections_to_segments): ... here.  Use it.  Assign a file
1451
        position to the .dynamic section if it is not loadable, but part
1452
        of the PT_DYNAMIC segment.
1453
        * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
1454
        offsets, not VMAs, for the BPABI.  Do not fill in the header in
1455
        the .got.plt section for the BPABI.
1456
        * elfarm-nabi.c (elf32_arm_symbian_modify_segment_map): Add a
1457
        PT_DYNAMIC segment.
1458
        (elf_backend_want_got_plt): Define to zero for Symbian OS.
1459
 
1460
2004-09-06  Nick Clifton  
1461
 
1462
        * elflink.c (elf_link_add_object_symbols): Set the error code to
1463
        bfd_error_wrong_format when the input format does not match the
1464
        output format.
1465
 
1466
2004-09-06  Alan Modra  
1467
 
1468
        * elf64-ppc.c (is_ppc64_target): New function, extracted from..
1469
        (ppc64_elf_check_directives): ..here.
1470
        (ppc64_elf_size_dynamic_sections): Use it here to check bfd type
1471
        before accessing ppc64_elf_tdata.
1472
        (ppc64_elf_finish_dynamic_sections): And here too.
1473
 
1474
2004-09-04  Alan Modra  
1475
 
1476
        * bfd.c (_bfd_default_error_handler): Correct loop exit.
1477
 
1478
2004-09-03  Mark Mitchell  
1479
 
1480
        * config.bfd (arm*-*-symbianelf*): Use OS-specific target vectors.
1481
        * configure.in (bfd_elf32_bigarm_symbian_vec): Add it.
1482
        (bfd_elf32_littlearm_symbian_vec): Likewise.
1483
        * configure: Regenerated.
1484
        * elf-bfd.h (elf_backend_data): Add dynamic_sec_flags.
1485
        * elf32-arm.h (PLT_HEADER_SIZE): Do not define.
1486
        (PLT_ENTRY_SIZE): Likewise.
1487
        (bfd_vma_elf32_arm_symbian_plt_entry): New
1488
        variable.
1489
        (elf32_arm_link_hash_table): Add plt_header_size, plt_entry_size,
1490
        and symbian_p.
1491
        (create_got_section): Don't create sections when generating BPABI
1492
        objects.
1493
        (elf32_arm_create_dynamic_sections): Tidy.
1494
        (elf32_arm_link_hash_table_create): Set plt_header_size,
1495
        plt_entry_size, and symbian_p.
1496
        (elf32_arm_check_relocs): Do not mark .rel.dyn as loadable when
1497
        generating BPABI objects.
1498
        (allocate_dynrelocs): Use htab->plt_header_size, not
1499
        PLT_HEADER_SIZE.  Do not add to .got.plt when
1500
        generating BPABI objects.
1501
        (elf32_arm_finish_dynamic_symbol): Generate Symbian OS PLTs.
1502
        * elfarm-nabi.c: Add SymbianOS target vectors.
1503
        * elflink.c (_bfd_elf_create_got_section): Use dynamic_sec_flags.
1504
        (_bfd_elf_link_create_dynamic_sections): Likewise.
1505
        * elfxx-target.h (ELF_DYNAMIC_SEC_FLAGS): New macro.
1506
        (elfNN_bed): Use it.
1507
        * targets.c (bfd_elf32_bigarm_symbian_vec): New variable.
1508
        (bfd_elf32_littlearm_symbian_vec): Likewise.
1509
        (_bfd_target_vector): Add them.
1510
 
1511
2004-09-03  Nick Clifton  
1512
 
1513
        PR 360
1514
        * coffcode.h (handle_COMDAT): Replace abort with an warning
1515
        message and allow the scan to continue.
1516
 
1517
2004-09-02  Alan Modra  
1518
 
1519
        * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Use static_syms passed
1520
        in when reading relocs, not our sorted syms.  Remove unnecessary
1521
        var.
1522
 
1523
2004-08-31  Eric Botcazou  
1524
 
1525
        * elf.c (special_sections): Add .gnu.linkonce.b modelled on .bss.
1526
 
1527
2004-08-30  Nathanael Nerode  
1528
 
1529
        * acinclude.m4: Require AC_CANONICAL_TARGET, not AC_CANONICAL_SYSTEM.
1530
        Include ../config/acx.m4 and use ACX_NONCANONICAL_* where appropriate;
1531
        replace uses of *_alias with *_noncanonical.
1532
        * aclocal.m4: Rebuild with aclocal 1.4p6.
1533
        * Makefile.in: Rebuild with automake 1.4p6.
1534
        * doc/Makefile.in: Rebuild with automake 1.4p6.
1535
        * configure.in: Autoupdate with autoupdate 2.59.
1536
        * config.in: Regenerate with autoheader 2.59.
1537
        * configure: Regnerate with autoconf 2.59.
1538
 
1539
2004-08-28  Alan Modra  
1540
 
1541
        * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Copy input
1542
        symbol pointer arrays before modifying.
1543
 
1544
2004-08-28  Alan Modra  
1545
 
1546
        * bfd.c (bfd_get_synthetic_symtab): Pass counts and both symbol tables.
1547
        * elf-bfd.h (_bfd_elf_get_synthetic_symtab): Adjust.
1548
        * elf.c (_bfd_elf_get_synthetic_symtab): Adjust.
1549
        * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Adjust.
1550
        * targets.c (struct bfd_target <_bfd_get_synthetic_symtab>): Adjust.
1551
        * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't read symbols.
1552
        Use both symbol tables on non-relocatable objects.  Use a common
1553
        error exit.  Fix "mid" warning.
1554
        * libbfd.h: Regenerate.
1555
        * bfd-in2.h: Regenerate.
1556
 
1557
2004-08-28  Alan Modra  
1558
 
1559
        * elf64-ppc.c (ppc64_elf_branch_reloc): Check .opd is in a regular
1560
        object file.
1561
        (struct sfpr_def_parms): Save some space.
1562
        (sfpr_define): Here too.
1563
 
1564
        * elf64-ppc.c (compare_symbols): Put section syms first.
1565
        (sym_exists_at): New function.
1566
        (ppc64_elf_get_synthetic_symtab): Use relocs to find code entry
1567
        points only for relocatable files.  Use .opd section contents
1568
        otherwise.  Generally clean up the code.
1569
 
1570
2004-08-27  Alan Modra  
1571
 
1572
        * elf64-ppc.c (STD_R0_0R1, STD_R0_0R12, LD_R0_0R1, LD_R0_0R12,
1573
        LI_R12_0, STVX_VR0_R12_R0, LVX_VR0_R12_R0, MTLR_R0, SFPR_MAX): Define.
1574
        (struct sfpr_def_parms): New.
1575
        (sfpr_define): New function.
1576
        (savegpr0, savegpr0_tail, restgpr0, restgpr0_tail): New functions.
1577
        (savegpr1, savegpr1_tail, restgpr1, restgpr1_tail): New functions.
1578
        (savefpr, savefpr0_tail, restfpr, restfpr0_tail): New functions.
1579
        (savefpr1_tail, restfpr1_tail): New functions.
1580
        (savevr, savevr_tail, restvr, restvr_tail): New functions.
1581
        (MIN_SAVE_FPR, MAX_SAVE_FPR): Don't define.
1582
        (ppc64_elf_func_desc_adjust): Use sfpr_define in place of existing
1583
        code.  Define all ABI mandated _save and _rest functions.
1584
 
1585
2004-08-26  Paul Brook  
1586
 
1587
        * elf32-arm.h (INTERWORK_FLAG): Return true for EABIv3 objects.
1588
 
1589
2004-08-26  Alan Modra  
1590
 
1591
        * elf32-m32r.c (m32r_elf_relocate_section): Don't compare with
1592
        TRUE or FALSE.
1593
 
1594
2004-08-26  Alan Modra  
1595
 
1596
        * elf32-i386.c (elf_i386_relocate_section): Tweak last change so
1597
        that pcrel correction is applied for R_386_PC32.
1598
 
1599
2004-08-25  Alan Modra  
1600
 
1601
        * elf32-i386.c (elf_i386_relocate_section): Zero section contents
1602
        for R_386_32 and R_386_PC32 relocs against symbols defined in
1603
        discarded sections.
1604
 
1605
2004-08-25  Dmitry Diky  
1606
 
1607
        * reloc.c (BFD_RELOC_MSP430_2X_PCREL,BFD_RELOC_MSP430_RL_PCREL):
1608
        Add new relocations.
1609
        * bfd-in2.h: Regenerate.
1610
        * libbfd.h: Regenerate.
1611
        * elf32-msp430.c: Clean-up code.
1612
        (elf_msp430_howto_table): Add new relocation entries.
1613
        (bfd_elf32_bfd_reloc_type_lookup): New relocation handlers.
1614
        (msp430_elf_relax_section): New function.
1615
        (msp430_elf_relax_delete_bytes): New function.
1616
        (msp430_elf_symbol_address_p): New function.
1617
 
1618
2004-08-24  Kazuhiro Inaoka  
1619
 
1620
        * elf32-m32r.c (m32r_elf_relocate_section): Handle
1621
        R_M32R_SDA16_RELA in the same way as R_M32R_SDA16.
1622
 
1623
2004-08-20  Daniel Jacobowitz  
1624
 
1625
        * elflink.c (_bfd_elf_section_already_linked): Handle
1626
        SEC_LINK_DUPLICATES_SAME_CONTENTS.
1627
 
1628
2004-08-19  Mark Mitchell  
1629
 
1630
        * config.bfd (arm*-*-symbianelf*): New target.
1631
        (arm*-*-eabi*): Likewise.
1632
 
1633
2004-08-19  Alan Modra  
1634
 
1635
        * elf64-ppc.c (ppc_get_stub_entry): Change third param to a
1636
        "struct ppc_link_hash_entry *".
1637
        (ppc64_elf_relocate_section): Ditto for type of h.  Introduce h_elf
1638
        to satisfy RELOC_FOR_GLOBAL_SYMBOL.
1639
 
1640
2004-08-19  Jakub Jelinek  
1641
 
1642
        * elf64-ppc.c (ppc64_elf_edit_opd): Support 16 byte long .opd
1643
        entries (where fd_aux overlaps next entry's fd_func).
1644
        Add non_overlapping argument, use it.
1645
        (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, adjust_opd_syms,
1646
        ppc64_elf_size_stubs, ppc64_elf_relocate_section,
1647
        ppc64_elf_output_symbol_hook): Use address / 8 instead of address / 24
1648
        as indexes into opd_sym_map/opd_adjust array.
1649
        * elf64-ppc.h (ppc64_elf_edit_opd): Adjust prototype.
1650
 
1651
2004-08-18  Alan Modra  
1652
 
1653
        * elf64-ppc.c (func_desc_adjust): Give undefined dot-symbols a value
1654
        if we can look up their function descriptor in a regular file.
1655
 
1656
2004-08-18  Nick Clifton  
1657
 
1658
        PR 324
1659
        * cofflink.c (coff_link_add_symbols): Check that the comdat
1660
        pointer in the coff_section_data structure has been initialised
1661
        before using it.
1662
 
1663
2004-08-18  Alan Modra  
1664
 
1665
        PR 338
1666
        * elflink.c (bfd_elf_record_link_assignment): Add comment about
1667
        changing bfd_link_hash_undefined to bfd_link_hash_new.
1668
 
1669
2004-08-17  Jakub Jelinek  
1670
 
1671
        * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Only define
1672
        if not yet defined.
1673
        * elf64-ppc.c (bfd_elf64_get_synthetic_symtab): Define.
1674
        (synthetic_opd, synthetic_relocatable): New variables.
1675
        (compare_symbols, compare_relocs): New helper routines.
1676
        (ppc64_elf_get_synthetic_symtab): New function.
1677
        * bfd.c (bfd_get_synthetic_symtab): Rename dynsyms argument
1678
        to relsyms.
1679
        * bfd-in2.h: Regenerated.
1680
        * elf.c (_bfd_elf_get_synthetic_symtab): Rename dynsyms argument
1681
        to relsyms.  Return 0 if abfd is relocatable.
1682
 
1683
2004-08-17  Alan Modra  
1684
 
1685
        * elflink.h (elf_gc_sweep): Keep non-alloc, non-load sections.
1686
 
1687
2004-08-17  Nick Clifton  
1688
 
1689
        * (is_arm_mapping_symbol_name): New function - return true
1690
        when a symbol name matches the requirements for an ARM mapping
1691
        symbol name.
1692
        (arm_elf_find_function): New function based on
1693
        elf_find_function in elf.c but skipping ARM mapping symbols
1694
        and including thumb function symbols.
1695
        (elf32_arm_find_nearest_line): Use arm_elf_find_function.
1696
        (elf32_arm_output_symbol_hook): Use is_arm_mapping_symbol_name.
1697
 
1698
2004-08-17  Alan Modra  
1699
 
1700
        * elf64-ppc.c (ppc64_elf_branch_reloc): New function.
1701
        (ppc64_elf_howto_raw): Use ppc64_elf_branch_reloc.
1702
        (ppc64_elf_brtaken_reloc): Here too.
1703
 
1704
2004-08-17  Alan Modra  
1705
 
1706
        * elf64-ppc.c (add_symbol_adjust): Correct mismatched function
1707
        symbol visibility.
1708
        (ppc64_elf_check_directives): Check that we have the right hash
1709
        table before proceeding.
1710
 
1711
2004-08-17  Alan Modra  
1712
 
1713
        * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add "deleted_section".
1714
        (adjust_opd_syms): Attach opd syms for deleted entries to one of
1715
        the sections that will be discarded.
1716
 
1717
2004-08-16  Alan Modra  
1718
 
1719
        * elflink.c (elf_section_complain_discarded): Ignore .fixup.
1720
 
1721
2004-08-16  Alan Modra  
1722
 
1723
        * bfd.c (_bfd_default_error_handler): Account for doubled '%' in
1724
        free space available.
1725
 
1726
2004-08-16  Alan Modra  
1727
 
1728
        * pdp11.c (struct pdp11_aout_reloc_external): Delete.  Replace
1729
        occurrences with bfd_byte * thoughout file.
1730
 
1731
        * coff-rs6000.c (do_shared_object_padding): Warning fix.
1732
        (xcoff_write_armap_big): Likewise.
1733
        (xcoff_write_archive_contents_old): Likewise.
1734
        (xcoff_write_archive_contents_big): Likewise.
1735
 
1736
        * elf64-mmix.c (mmix_elf_get_section_contents): Delete declaration.
1737
 
1738
2004-08-13  Nick Clifton  
1739
 
1740
        * elf32-arm.h: Convert to ISO C90.
1741
 
1742
2004-08-13  Alan Modra  
1743
 
1744
        PR 293
1745
        * elf32-hppa.c (elf32_hppa_hide_symbol): Use init_refcount to
1746
        zero the plt field.
1747
 
1748
2004-08-13  Alan Modra  
1749
 
1750
        * bfd.c (_bfd_default_error_handler): Handle %A and %B.
1751
        (bfd_archive_filename, bfd_get_section_ident): Delete.
1752
        * ecofflink.c (bfd_ecoff_debug_accumulate_other): Don't call
1753
        bfd_archive_filename.
1754
        * elflink.c (elf_link_input_bfd): Don't use callbacks->error_handler
1755
        to warn about symbols in discarded sections.  Use _bfd_error_handler.
1756
        * aout-adobe.c (aout_adobe_callback): See below.
1757
        * aout-cris.c (swap_ext_reloc_in): ..
1758
        * coff-arm.c (find_thumb_glue, find_arm_glue,
1759
        coff_arm_relocate_section, bfd_arm_process_before_allocation,
1760
        coff_arm_merge_private_bfd_data, _bfd_coff_arm_set_private_flags,
1761
        coff_arm_copy_private_bfd_data): ..
1762
        * coff-i860.c (i860_reloc_processing): ..
1763
        * coff-mcore.c (mcore_coff_unsupported_reloc,
1764
        coff_mcore_relocate_section): ..
1765
        * coff-ppc.c (coff_ppc_relocate_section): ..
1766
        * coff-rs6000.c (xcoff_create_csect_from_smclas
1767
        * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
1768
        sh_swap_insns, sh_relocate_section): ..
1769
        * coff-tic54x.c (tic54x_reloc_processing): ..
1770
        * coff-tic80.c (coff_tic80_relocate_section): ..
1771
        * coff64-rs6000.c (xcoff64_create_csect_from_smclas): ..
1772
        * coffcode.h (styp_to_sec_flags, coff_slurp_line_table,
1773
        coff_slurp_symbol_table, coff_classify_symbol,
1774
        coff_slurp_reloc_table): ..
1775
        * coffgen.c (_bfd_coff_read_string_table): ..
1776
        * cofflink.c (coff_link_add_symbols, _bfd_coff_link_input_bfd,
1777
        _bfd_coff_generic_relocate_section): ..
1778
        * cpu-arm.c (bfd_arm_merge_machines): ..
1779
        * cpu-sh.c (sh_merge_bfd_arch): ..
1780
        * elf-hppa.h (elf_hppa_relocate_section): ..
1781
        * elf.c (bfd_elf_string_from_elf_section, setup_group,
1782
        _bfd_elf_setup_group_pointers, bfd_section_from_shdr,
1783
        assign_section_numbers, _bfd_elf_symbol_from_bfd_symbol,
1784
        copy_private_bfd_data, _bfd_elf_validate_reloc): ..
1785
        * elf32-arm.h (find_thumb_glue, find_arm_glue,
1786
        bfd_elf32_arm_process_before_allocation, elf32_thumb_to_arm_stub,
1787
        elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate,
1788
        elf32_arm_relocate_section, elf32_arm_set_private_flags,
1789
        elf32_arm_copy_private_bfd_data, elf32_arm_merge_private_bfd_data): ..
1790
        * elf32-cris.c (cris_elf_relocate_section, cris_elf_check_relocs,
1791
        cris_elf_merge_private_bfd_data
1792
        * elf32-frv.c (elf32_frv_relocate_section, elf32_frv_check_relocs): ..
1793
        * elf32-gen.c (elf32_generic_link_add_symbols): ..
1794
        * elf32-hppa.c (hppa_add_stub, hppa_build_one_stub,
1795
        elf32_hppa_check_relocs, get_local_syms, final_link_relocate,
1796
        elf32_hppa_relocate_section): ..
1797
        * elf32-i370.c (i370_elf_merge_private_bfd_data,
1798
        i370_elf_check_relocs, i370_elf_relocate_section): ..
1799
        * elf32-i386.c (elf_i386_info_to_howto_rel, elf_i386_check_relocs,
1800
        elf_i386_relocate_section): ..
1801
        * elf32-m32r.c (m32r_elf_relocate_section,
1802
        m32r_elf_merge_private_bfd_data): ..
1803
        * elf32-m68hc1x.c (m68hc12_add_stub,
1804
        _bfd_m68hc11_elf_merge_private_bfd_data): ..
1805
        * elf32-m68k.c (elf_m68k_relocate_section): ..
1806
        * elf32-mcore.c (mcore_elf_unsupported_reloc,
1807
        mcore_elf_relocate_section): ..
1808
        * elf32-ppc.c (ppc_elf_merge_private_bfd_data, bad_shared_reloc,
1809
        ppc_elf_check_relocs, ppc_elf_relocate_section,
1810
        ppc_elf_begin_write_processing): ..
1811
        * elf32-s390.c (elf_s390_check_relocs, invalid_tls_insn,
1812
        elf_s390_relocate_section): ..
1813
        * elf32-sh-symbian.c (sh_symbian_import_as,
1814
        sh_symbian_process_embedded_commands,
1815
        sh_symbian_relocate_section): ..
1816
        * elf32-sh.c (sh_elf_relax_section, sh_elf_relax_delete_bytes,
1817
        sh_elf_swap_insns, sh_elf_relocate_section, sh_elf_check_relocs,
1818
        sh_elf_merge_private_data): ..
1819
        * elf32-sparc.c (elf32_sparc_check_relocs,
1820
        elf32_sparc_relocate_section,
1821
        elf32_sparc_merge_private_bfd_data): ..
1822
        * elf32-v850.c (v850_elf_check_relocs,
1823
        v850_elf_merge_private_bfd_data): ..
1824
        * elf32-xtensa.c (elf_xtensa_check_relocs,
1825
        elf_xtensa_relocate_section, elf_xtensa_merge_private_bfd_data): ..
1826
        * elf64-alpha.c (elf64_alpha_relax_with_lituse,
1827
        elf64_alpha_relax_got_load, elf64_alpha_size_got_sections,
1828
        elf64_alpha_relocate_section_r, elf64_alpha_relocate_section): ..
1829
        * elf64-gen.c (elf64_generic_link_add_symbols): ..
1830
        * elf64-ppc.c (ppc64_elf_merge_private_bfd_data, ppc_add_stub,
1831
        ppc64_elf_check_relocs, ppc64_elf_edit_opd,
1832
        ppc64_elf_relocate_section): ..
1833
        * elf64-s390.c (elf_s390_check_relocs, invalid_tls_insn,
1834
        elf_s390_relocate_section): ..
1835
        * elf64-sh64.c (sh_elf64_relocate_section): ..
1836
        * elf64-sparc.c (sparc64_elf_check_relocs,
1837
        sparc64_elf_add_symbol_hook, sparc64_elf_relocate_section,
1838
        sparc64_elf_merge_private_bfd_data): ..
1839
        * elf64-x86-64.c (elf64_x86_64_check_relocs,
1840
        elf64_x86_64_relocate_section): ..
1841
        * elflink.c (_bfd_elf_add_default_symbol,
1842
        _bfd_elf_link_assign_sym_version, elf_link_read_relocs_from_section,
1843
        _bfd_elf_link_output_relocs, elf_link_add_object_symbols,
1844
        bfd_elf_size_dynamic_sections, elf_link_output_extsym,
1845
        elf_get_linked_section_vma, elf_fixup_link_order,
1846
        bfd_elf_final_link, bfd_elf_gc_record_vtinherit,
1847
        bfd_elf_gc_record_vtinherit, _bfd_elf_section_already_linked): ..
1848
        * elfxx-ia64.c (elfNN_ia64_relax_section,
1849
        elfNN_ia64_relocate_section, elfNN_ia64_merge_private_bfd_data): ..
1850
        * elfxx-mips.c (mips_elf_perform_relocation,
1851
        _bfd_mips_elf_check_relocs,
1852
        _bfd_mips_elf_merge_private_bfd_data): ..
1853
        * ieee.c (ieee_slurp_external_symbols): ..
1854
        * ihex.c (ihex_bad_byte, ihex_scan, ihex_read_section): ..
1855
        * libbfd.c (_bfd_generic_verify_endian_match): ..
1856
        * linker.c (_bfd_generic_link_add_one_symbol,
1857
        _bfd_generic_section_already_linked): ..
1858
        * pdp11.c (translate_to_native_sym_flags): ..
1859
        * pe-mips.c (coff_pe_mips_relocate_section): ..
1860
        * peicode.h (pe_ILF_build_a_bfd): ..
1861
        * srec.c (srec_bad_byte): ..
1862
        * stabs.c (_bfd_link_section_stabs): ..
1863
        * xcofflink.c (xcoff_link_add_symbols, xcoff_link_input_bfd): ..
1864
        Replace all uses of bfd_archive_filename and bfd_get_section_ident
1865
        with corresponding %B and %A in _bfd_error_handler format string.
1866
        Replace occurrences of "fprintf (stderr," with _bfd_error_handler
1867
        calls to use %A and %B.  Fix "against symbol .. from section" and
1868
        similar error messages.  Combine multiple _bfd_error_handler calls
1869
        where they were separated due to bfd_archive_filename deficiencies.
1870
        * bfd-in2.h: Regenerate.
1871
 
1872
2004-08-12  H.J. Lu  
1873
 
1874
        * elf32-i386.c (elf_i386_relocate_section): Report unrecognized
1875
        relocation.
1876
 
1877
2004-08-10  Alan Modra  
1878
 
1879
        * elf64-ppc.c (struct ppc_link_hash_entry): Add was_undefined.
1880
        (struct ppc_link_hash_table): Remove no_multi_toc, multi_toc_needed.
1881
        Make emit_stub_syms, stub_error and has_14bit_branch bit-fields.
1882
        Add twiddled_syms.
1883
        (link_hash_newfunc): Init was_undefined.
1884
        (add_symbol_adjust): Don't set undefined dot symbols to defweak;
1885
        Use undefweak instead.
1886
        (ppc64_elf_check_directives): Fix undefs chain.
1887
        (ppc64_elf_next_toc_section): Remove no_multi_toc and multi_toc_needed
1888
        references.
1889
        (ppc64_elf_size_stubs): Adjust for add_symbol_adjust change.
1890
        (undo_symbol_twiddle, ppc64_elf_restore_symbols): New functions.
1891
        * elf64-ppc.h (ppc64_elf_restore_symbols): Declare.
1892
 
1893
2004-08-09  Jakub Jelinek  
1894
 
1895
        * elf64-x86-64.c (elf64_x86_64_relocate_section): For -fno-pic
1896
        error, test input_section flags rather than sec.
1897
 
1898
2004-08-09  Alan Modra  
1899
 
1900
        * elf-bfd.h (struct elf_backend_data): Add
1901
        elf_backend_archive_symbol_lookup.
1902
        (_bfd_elf_archive_symbol_lookup): Declare.
1903
        * elflink.c (_bfd_elf_archive_symbol_lookup): New function..
1904
        (elf_link_add_archive_symbols): ..extracted from here.  Call the
1905
        backend version.
1906
        * elfxx-target.h (elf_backend_archive_symbol_lookup): Provide default.
1907
        (elfNN_bed): Init new field.
1908
        * elf64-ppc.c (elf_backend_check_directives): Define.
1909
        (elf_backend_archive_symbol_lookup): Define.
1910
        (struct ppc_link_hash_table): Add tls_get_add_fd.  Make tls_get_add
1911
        a ppc_link_hash_entry pointer.
1912
        (get_fdh): Move.
1913
        (ppc64_elf_archive_symbol_lookup, opd_entry_value): New functions.
1914
        (add_symbol_adjust, ppc64_elf_check_directives): New functions.
1915
        (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, func_desc_adjust,
1916
        ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup,
1917
        ppc64_elf_tls_optimize, allocate_dynrelocs, ppc_type_of_stub,
1918
        ppc_build_one_stub, ppc64_elf_size_stubs, ppc64_elf_relocate_section,
1919
        ppc64_elf_finish_dynamic_symbol): Handle branch relocs to function
1920
        descriptor symbols.
1921
 
1922
2004-08-09  Alan Modra  
1923
 
1924
        * elf64-ppc.c (struct ppc_link_hash_entry): Expand adjust_done comment.
1925
        (ppc64_elf_add_symbol_hook): Test for NULL section.
1926
        (get_sym_h): Formatting.
1927
        (ppc64_elf_size_stubs): Include reloc addend in value stored as
1928
        stub target_value.
1929
 
1930
        * elf64-ppc.c (ppc64_elf_relocate_section): Combine handling of
1931
        long branch stubs with code handling plt and r2off branch stubs.
1932
 
1933
2004-08-09  Alan Modra  
1934
 
1935
        * elf-bfd.h (_bfd_elf_gc_mark): Declare.
1936
        * elflink.c (elf_link_input_bfd): Formatting.
1937
        (_bfd_elf_gc_mark): Rename from elf_gc_mark and make global.  Adjust
1938
        all callers.
1939
        * elf64-ppc.c (struct ppc_link_hash_entry): Remove is_entry.
1940
        (link_hash_newfunc): Don't set it.
1941
        (ppc64_elf_copy_indirect_symbol): Nor copy it.
1942
        (ppc64_elf_mark_entry_syms): Delete.
1943
        (ppc64_elf_gc_mark_hook): Mark entry syms here.  Also mark opd
1944
        sections.  Use get_opd_info.
1945
        * elf64-ppc.h (ppc64_elf_mark_entry_syms): Delete.
1946
 
1947
2004-08-09  Alan Modra  
1948
 
1949
        * elf64-ppc.c (adjust_opd_syms): Fix merge error.
1950
 
1951
        * elf64-ppc.c (struct ppc_link_hash_table): Remove have_undefweak.
1952
        (func_desc_adjust): Don't set have_undefweak.
1953
        (ppc64_elf_func_desc_adjust): Don't add an extr nop to sfpr.
1954
        (ppc64_elf_relocate_section): NOP out calls to undefweak functions.
1955
 
1956
        * elf64-ppc.c (struct ppc_link_hash_entry): Make "oh" a
1957
        "struct ppc_link_hash_entry *".  Adjust all references.
1958
        (ppc64_elf_hide_symbol): Correct a comment.
1959
 
1960
        * elf64-ppc.c (get_opd_info): New function.
1961
        (adjust_opd_syms): Use get_opd_info.  Define removed symbols as zero.
1962
        (ppc64_elf_edit_opd): Use get_opd_info.  Check that sym has a dot
1963
        before calling get_fdh.  Test fdh rather than h before dereferencing
1964
        fdh.  Mark removed symbols in opd_adjust.
1965
        (ppc64_elf_tls_optimize): Don't bother with opd adjustment here.
1966
        (ppc64_elf_relocate_section): Use get_opd_info, and handle removed
1967
        opd symbols.
1968
        (ppc64_elf_output_symbol_hook): Likewise.
1969
 
1970
2004-08-06  Paul Brook  
1971
 
1972
        * elfarm-nabi.c (elf32_arm_howto_table): Add new EABI relocations.
1973
        (elf32_arm_reloc_map): Add BFD_RELOC_ARM_RELABS32,
1974
        BFD_RELOC_ARM_ROSEGREL32 and BFD_RELOC_ARM_SBREL32.
1975
        * reloc.c: Add BFD_RELOC_ARM_RELABS32, BFD_RELOC_ARM_ROSEGREL32
1976
        and BFD_RELOC_ARM_SBREL32.
1977
        * bfd-in2.h, bbfd.h: Regenerate.
1978
 
1979
2004-08-01  Thiemo Seufer  
1980
 
1981
        * elfxx-mips.c (mips_elf_calculate_relocation): Test only for
1982
        the dynamic link symbol actually in use.
1983
 
1984
2004-08-01  Stephane Carrez  
1985
 
1986
        * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Handle bfd_link_hash_new
1987
 
1988
2004-07-31  Joel Brobecker  
1989
            Thiemo Seufer  
1990
 
1991
        * elfxx-mips.c (_bfd_mips_elf_symbol_processing): Handle
1992
        SHN_MIPS_TEXT and SHN_MIPS_DATA.
1993
 
1994
2004-07-30  H.J. Lu  
1995
            Nick Clifton  
1996
 
1997
        PR 290
1998
        * bfd.c (_bfd_default_error_handler): Make it global.
1999
 
2000
        * elf-bfd.h (elf_backend_data): Add link_order_error_handler.
2001
 
2002
        * elf.c (assign_section_numbers): Cope gracefully with sections
2003
        which have SHF_LINK_ORDER set but no sh_link set up.
2004
        * elflink.c (elf_get_linked_section_vma): Likewise.
2005
 
2006
        * elfxx-ia64.c (elf_backend_link_order_error_handler): New. Set
2007
        it to NULL.
2008
 
2009
        * elfxx-target.h (elf_backend_link_order_error_handler): New.
2010
        Set it to _bfd_default_error_handler.
2011
        (elfNN_bed): Add elf_backend_link_order_error_handler.
2012
 
2013
        * libbfd-in.h (_bfd_default_error_handler): New.
2014
 
2015
        * libbfd.h: Regenerated.
2016
 
2017
2004-07-30  Jakub Jelinek  
2018
 
2019
        * archures.c (bfd_mach_sparc_64bit_p): Define.
2020
        * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Use it.
2021
        * bfd-in2.h: Rebuilt.
2022
 
2023
2004-07-29  Alexandre Oliva  
2024
 
2025
        Introduce SH2a support.
2026
        2004-02-18  Corinna Vinschen  
2027
        * archures.c (bfd_mach_sh2a_nofpu): New.
2028
        * bfd-in2.h: Rebuilt.
2029
        * cpu-sh.c (SH2A_NOFPU_NEXT): New.
2030
        (arch_info_struct): Add sh2a_nofpu.
2031
        * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a_nofpu.
2032
        2003-12-29  DJ Delorie  
2033
        * reloc.c: Add relocs for sh2a.
2034
        * bfd-in2.h: Regenerate.
2035
        * libbfd.hh: Regenerate.
2036
        2003-12-01  Michael Snyder  
2037
        * archures.c (bfd_mach_sh2a): New.
2038
        * bfd-in2.h: Rebuilt.
2039
        * cpu-sh.c (SH_NEXT, SH2_NEXT, etc.): Change defines to enums.
2040
        (SH2A_NEXT): New.
2041
        (arch_info_struct): Add sh2a.
2042
        * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a.
2043
 
2044
2004-07-28  Nick Clifton  
2045
            John David Anglin  
2046
 
2047
        PR 273
2048
        * som.c (setup_sections): Improve estimation of space sizes in
2049
        relocatable objects.
2050
 
2051
2004-07-27  Jason Thorpe  
2052
        * config.bfd (hppa*-*-netbsd*): Set targ_defvec to
2053
        bfd_elf32_hppa_nbsd_vec.  Add bfd_elf32_hppa_linux_vec
2054
        to targ_selvecs.
2055
        * configure.in (bfd_elf32_hppa_nbsd_vec): Add case.
2056
        * configure: Regenerate.
2057
        * elf32-hppa.c (elf32_hppa_object_p): Add "elf32-hppa-netbsd"
2058
        case that accepts OSABI=NetBSD and OSABI=SysV.
2059
        (elf32_hppa_set_gp): For "elf32-hppa-netbsd", set the GP to
2060
        the base of .got or .data (if .got does not exist).
2061
        (elf32_hppa_post_process_headers): For elf32-hppa-netbsd,
2062
        set OSABI=NetBSD.
2063
        (TARGET_BIG_SYM): Add bfd_elf32_hppa_nbsd_vec case.
2064
        (TARGET_BIG_NAME): Add "elf32-hppa-netbsd" case.
2065
        * targets.c (bfd_elf32_hppa_nbsd_vec): Add extern declaration.
2066
        (_bfd_target_vector): Add bfd_elf32_hppa_nbsd_vec.
2067
 
2068
2004-07-27  H.J. Lu  
2069
 
2070
        PR 161/251
2071
        * elf-bfd.h (bfd_elf_section_data): Add sec_group.
2072
        (elf_sec_group): Defined.
2073
        (bfd_elf_match_symbols_in_sections): New prototype.
2074
        (_bfd_elf_setup_group_pointers): Likewise.
2075
 
2076
        * elf.c (bfd_elf_discard_group): Abort.
2077
        (bfd_elf_set_group_contents): Also include relocation sections.
2078
        Remove zero-fill for ld -r.
2079
        (_bfd_elf_setup_group_pointers): New function.
2080
        (elf_sort_elf_symbol): Likewise.
2081
        (elf_sym_name_compare): Likewise.
2082
        (bfd_elf_match_symbols_in_sections): Likewise.
2083
 
2084
        * elfcode.h (elf_object_p): Call _bfd_elf_setup_group_pointers.
2085
 
2086
        * elflink.c (match_group_member): New.
2087
        (elf_link_input_bfd): Check group member for discarded section.
2088
        (try_match_symbols_in_sections): New function.
2089
        (already_linked): Likewise.
2090
        (_bfd_elf_section_already_linked): Support mixing comdat group
2091
        and linkonce section.
2092
 
2093
        * libbfd-in.h (bfd_section_already_linked_table_traverse): New.
2094
        * linker.c (bfd_section_already_linked_table_traverse): New.
2095
 
2096
        * libbfd.h: Regenerated.
2097
 
2098
2004-07-27  Tomer Levi  
2099
 
2100
        * reloc.c: Add BFD_RELOC_CRX_SWITCH8, BFD_RELOC_CRX_SWITCH16,
2101
        BFD_RELOC_CRX_SWITCH32.
2102
        * bfd-in2.h: Regenerate.
2103
        * libbfd.h: Regenerate.
2104
        * elf32-crx.c: Support relocation/relaxation of
2105
        BFD_RELOC_CRX_SWITCH* types.
2106
 
2107
2004-07-27  Alan Modra  
2108
 
2109
        * elf64-ppc.c: Correct "Linker stubs" comment.
2110
 
2111
2004-07-26  H.J. Lu  
2112
 
2113
        * elf-bfd.h (bfd_elf_section_data): Add a pointer for the
2114
        linked-to section.
2115
        (elf_linked_to_section): New.
2116
 
2117
        * elf.c (assign_section_numbers): Set up sh_link for
2118
        SHF_LINK_ORDER.
2119
 
2120
        * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set sh_info
2121
        to sh_link for SHT_IA_64_UNWIND sections.
2122
 
2123
2004-07-22  H.J. Lu  
2124
 
2125
        * elflink.c (elf_fixup_link_order): Add _() to error message.
2126
 
2127
2004-07-22  H.J. Lu  
2128
 
2129
        * elflink.c (elf_fixup_link_order): Issue a warning and flag
2130
        an error if failed.
2131
 
2132
2004-07-21  H.J. Lu  
2133
 
2134
        * aout-adobe.c (aout_32_section_already_linked): Defined.
2135
        * aout-target.h (MY_section_already_linked): Likewise.
2136
        * aout-tic30.c (MY_section_already_linked): Likewise.
2137
        * binary.c (binary_section_already_linked): Likewise.
2138
        * bout.c (b_out_section_already_linked): Likewise.
2139
        * coff-alpha.c (_bfd_ecoff_section_already_linked): Likewise.
2140
        * coff-mips.c (_bfd_ecoff_section_already_linked): Likewise.
2141
        * coffcode.h (coff_section_already_linked): Likewise.
2142
        * i386msdos.c (msdos_section_already_linked): Likewise.
2143
        * i386os9k.c (os9k_section_already_linked): Likewise.
2144
        * ieee.c (ieee_section_already_linked): Likewise.
2145
        * ihex.c (ihex_section_already_linked): Likewise.
2146
        * mach-o.c (bfd_mach_o_section_already_linked): Likewise.
2147
        * mmo.c (mmo_section_already_linked): Likewise.
2148
        * nlm-target.h (nlm_section_already_linked): Likewise.
2149
        * oasys.c (oasys_section_already_linked): Likewise.
2150
        * pef.c (bfd_pef_section_already_linked): Likewise.
2151
        * ppcboot.c (ppcboot_section_already_linked): Likewise.
2152
        * som.c (som_bfd_discard_group): Likewise.
2153
        * srec.c (srec_section_already_linked): Likewise.
2154
        * tekhex.c (tekhex_section_already_linked): Likewise.
2155
        * versados.c (versados_section_already_linked): Likewise.
2156
        * vms.c (vms_section_already_linked): Likewise.
2157
        * coff-target.h (_bfd_xcoff_section_already_linked): Likewise.
2158
        * xsym.c (bfd_sym_section_already_linked): Likewise.
2159
 
2160
        * bfd-in.h (bfd_section_already_linked_table_init): New.
2161
        (bfd_section_already_linked_table_free): Likewise.
2162
 
2163
        * coff-rs6000.c (rs6000coff_vec): Add
2164
        _bfd_generic_section_already_linked.
2165
        (pmac_xcoff_vec): Likewise.
2166
        * coff64-rs6000.c (rs6000coff64_vec): Likewise.
2167
        (aix5coff64_vec): Likewise.
2168
 
2169
        * elf-bfd.h (_bfd_elf_section_already_linked): New prototype.
2170
        * elflink.c (_bfd_elf_section_already_linked): New function.
2171
 
2172
        * elfxx-target.h (bfd_elfNN_section_already_linked): Defined.
2173
 
2174
        * libbfd-in.h (_bfd_nolink_section_already_linked): Defined.
2175
        (_bfd_generic_section_already_linked): New.
2176
        (bfd_section_already_linked_hash_entry): Likewise.
2177
        (bfd_section_already_linked): Likewise.
2178
        (bfd_section_already_linked_table_lookup): Likewise.
2179
        (bfd_section_already_linked_table_insert): Likewise.
2180
 
2181
        * linker.c (bfd_section_already_linked): New.
2182
        (_bfd_section_already_linked_table): Likewise.
2183
        (bfd_section_already_linked_table_lookup): Likewise.
2184
        (bfd_section_already_linked_table_insert): Likewise.
2185
        (already_linked_newfunc): Likewise.
2186
        (bfd_section_already_linked_table_init): Likewise.
2187
        (bfd_section_already_linked_table_free): Likewise.
2188
        (_bfd_generic_section_already_linked): Likewise.
2189
 
2190
        * section.c (bfd_section): Remove comdat.
2191
        (bfd_comdat_info): Moved to ...
2192
        * bfd-in.h (coff_comdat_info): Here.
2193
        (bfd_coff_get_comdat_section): New.
2194
        * coffgen.c (bfd_coff_get_comdat_section): Likewise.
2195
        * libcoff-in.h (coff_section_tdata): Add comdat.
2196
        * coffcode.h (handle_COMDAT): Updated.
2197
        * cofflink.c (coff_link_add_symbols): Likewise.
2198
        * ecoff.c (bfd_debug_section): Likewise.
2199
 
2200
        * targets.c (bfd_target): Add _section_already_linked.
2201
        (BFD_JUMP_TABLE_LINK): Updated.
2202
 
2203
        * bfd-in2.h: Regenerated.
2204
        * libbfd.h: Likewise.
2205
        * libcoff.h: Likewise.
2206
 
2207
2003-07-21  Paul Brook  
2208
 
2209
        * elflink.c (elf_get_linked_section_vma, compare_link_order,
2210
        elf_fixup_link_order): New functions.
2211
        (bfd_elf_final_link): Call elf_fixup_link_order.
2212
 
2213
2004-07-21  Alexandre Oliva  
2214
 
2215
        * elf-bfd.h (ELF_COMMON_DEF_P): New.
2216
        * elflink.c (_bfd_elf_symbol_refs_local_p): Use it to handle
2217
        common definitions.
2218
        * elf-m10300.c: Use SYMBOL_REFERENCES_LOCAL instead of
2219
        _bfd_elf_symbol_refs_local_p.
2220
        * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove hack for common
2221
        symbols.
2222
 
2223
2004-07-19  H.J. Lu  
2224
 
2225
        * bfd-in.h (dynamic_lib_link_class): Add DYN_NO_ADD_NEEDED and
2226
        DYN_NO_NEEDED.
2227
        (bfd_elf_get_dyn_lib_class): New prototype.
2228
        * elf.c (bfd_elf_get_dyn_lib_class): New function.
2229
 
2230
        * elflink.c (elf_link_add_object_symbols): Check DYN_AS_NEEDED,
2231
        DYN_DT_NEEDED and DYN_NO_NEEDED bits to see if a DT_NEEDED
2232
        entry is needed. Issue an error if a DT_NEEDED entry is needed
2233
        for a file marked DYN_NO_NEEDED.
2234
        (elf_link_check_versioned_symbol): Check the DYN_DT_NEEDED bit
2235
        for DT_NEEDED tags.
2236
 
2237
        * bfd-in2.h: Regenerated.
2238
 
2239
2004-07-14  John David Anglin  
2240
 
2241
        * elflink.c (elf_section_complain_discarded): Don't complain in
2242
        .PARISC.unwind.
2243
 
2244
2004-07-10  James E Wilson  
2245
 
2246
        * elfxx-ia64.c (elfNN_ia64_relax_ldxmov): Remove abfd parameter.
2247
        (elfNN_ia64_install_value, elfNN_ia64_relax_brl): Likewise.
2248
        (elfNN_ia64_relax_section, elfNN_ia64_relocate_section,
2249
        elfNN_ia64_finish_dynamic_symbol, elfNN_ia64_finish_dynamic_sections):
2250
        Fix callers.
2251
        (elfNN_ia64_relax_brl): Change bfd_get_64 to bfd_getl64.  Change
2252
        bfd_put_64 to bfd_putl64.
2253
        (elfNN_ia64_relax_ldxmov, elfNN_ia64_install_value): Likewise.
2254
 
2255
2004-07-09  H.J. Lu  
2256
 
2257
        PR 240
2258
        * elfxx-ia64.c (elfNN_ia64_relax_section): Only warn br in
2259
        .init/.fini sections when trying to relax it.
2260
 
2261
2004-07-09  Jie Zhang  
2262
 
2263
        * elf.c (assign_file_positions_for_segments): Make sure the
2264
        .dynamic section is the first section in the PT_DYNAMIC segment.
2265
 
2266
2004-07-09  Nick Clifton  
2267
 
2268
        * config.bfd: Change sh-sybmian-elf to sh-*-symbianelf.
2269
        * elf32-sh-symbian.c: Rename the sh_find_elf_flags and
2270
        sh_elf_get_flags_from_mach functions so that they do not conflict
2271
        when this target is built with other sh-elf targets.
2272
        * elf32-sh.c (sh_elf_get_flags_from_mach): Remove bogus
2273
        suppression of this function.
2274
        (sh_elf_find_flags): Likewise.
2275
 
2276
2004-07-07  Tomer Levi  
2277
 
2278
        * Makefile.am (ALL_MACHINES): Add cpu-crx.lo.
2279
        (ALL_MACHINES_CFILES): Add cpu-crx.c.
2280
        (BFD32_BACKENDS): Add elf32-crx.lo.
2281
        (BFD32_BACKENDS_CFILES): Add elf32-crx.c.
2282
        (cpu-crx.lo): New target.
2283
        (elf32-crx.lo): New target.
2284
        * Makefile.in: Regenerate.
2285
        * archures.c (bfd_architecture): Add bfd_{arch,mach}_crx.
2286
        (bfd_archures_list): Add bfd_crx_arch.
2287
        * bfd-in2.h: Regenerate.
2288
        * config.bfd: Handle crx-*-elf*, crx*.
2289
        * configure.in: Handle bfd_elf32_crx_vec.
2290
        * configure: Regenerate.
2291
        * cpu-crx.c: New file.
2292
        * elf32-crx.c: Likewise.
2293
        * libbfd.h: Regenerate.
2294
        * reloc.c: Add BFD_RELOC_CRX_REL4, BFD_RELOC_CRX_REL8,
2295
        BFD_RELOC_CRX_REL8_CMP, BFD_RELOC_CRX_REL16, BFD_RELOC_CRX_REL24,
2296
        BFD_RELOC_CRX_REL32, BFD_RELOC_CRX_REGREL12, BFD_RELOC_CRX_REGREL22,
2297
        BFD_RELOC_CRX_REGREL28, BFD_RELOC_CRX_REGREL32, BFD_RELOC_CRX_ABS16,
2298
        BFD_RELOC_CRX_ABS32, BFD_RELOC_CRX_NUM8, BFD_RELOC_CRX_NUM16,
2299
        BFD_RELOC_CRX_NUM32, BFD_RELOC_CRX_IMM16 and BFD_RELOC_CRX_IMM32
2300
        * targets.c (bfd_elf32_crx_vec): Declare.
2301
        (bfd_target_vector): Add bfd_elf32_crx_vec.
2302
 
2303
2004-07-06  Nick Clifton  
2304
 
2305
        * config.bfd: Add sh-symbian-elf target.
2306
        * configure.in: Add bfd_elf32_shl_symbian_vec.
2307
        * configure: Regenerate.
2308
        * elf-bfd.h (struct elf_backend_data): Add new field
2309
        'check_directives'.
2310
        * elflink.c (elf_link_add_object_symbols): Invoke the
2311
        check_directives function, if defined.
2312
        * elfxx-target.h: Provide a default, NULL definition for
2313
        check_directives.
2314
        * targets.c: Add bfd_elf32_shl_symbian_vec.
2315
        * elf32-sh.c (sh_elf_swap_insns): Protect against unnecessary
2316
        definition.
2317
        (elf32_shlin_grok_prstatus, elf32_shlib_grok_psinfo,
2318
        * sh_elf_get_flags_from_mach, sh_elf_find_flags): Likewise.
2319
        (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Only define if they have
2320
        not already been defined.
2321
        * elf32-sh64.c: Use SH_TARGET_ALREADY_DEFINED.
2322
        * sh-symbian.c: New file.  Provide functions to support the
2323
        * sh-symbian-elf target.
2324
        * Makefile.am: Add elf32-sh-symbian.c
2325
        * Makefile.in: Regenerate.
2326
 
2327
2004-07-05  Andrew Stubbs 
2328
 
2329
        * elf32-sh.c: Include ../opcodes/sh-opc.h.
2330
        * Makefile.am: Ran make dep-am.
2331
        * Makefile.in: Ran make dep-in.
2332
 
2333
2004-07-03  Aaron W. LaFramboise  
2334
 
2335
        * cofflink.c (_bfd_coff_generic_relocate_section): Resolve PE weak
2336
        externals properly.
2337
 
2338
2004-07-02  Martin Schwidefsky  
2339
 
2340
        * config.bfd: Add want64 to configuration target s390-*-linux*.
2341
 
2342
2004-07-01  H.J. Lu  
2343
 
2344
        * bfd.c (bfd_get_section_ident): New.
2345
 
2346
        * elflink.c (elf_link_read_relocs_from_section): Call
2347
        bfd_get_section_ident to identify the section when reporting
2348
        error.
2349
        (_bfd_elf_link_output_relocs): Likewise.
2350
        (elf_link_output_extsym): Likewise.
2351
        (elf_link_input_bfd): Likewise.
2352
        (bfd_elf_gc_record_vtinherit): Likewise.
2353
 
2354
        * bfd-in2.h: Regenerated.
2355
 
2356
2004-07-01  Jie Zhang  
2357
            Nick Clifton  
2358
 
2359
        PR 204
2360
        * elfxx-mips.c (_bfd_mips_elf_final_link): Pass the correct number
2361
        of section symbols to mips_elf_sort_hash_table ().
2362
 
2363
2004-07-01  Alan Modra  
2364
 
2365
        * elflink.c (elf_section_ignore_discarded_relocs): Revert last
2366
        change.  Comment.
2367
        (elf_section_complain_discarded): New function.  Handle
2368
        .gcc_except_table too.
2369
        (elf_link_input_bfd): Rewrite handling of relocs against symbols
2370
        in discarded sections.
2371
        * elf-bfd.h (elf_discarded_section): Protect macro arg.
2372
 
2373
2004-06-30  James E Wilson  
2374
 
2375
        * elfxx-ia64.c (elfNN_ia64_check_relocs): New local pltoff.  Initialize
2376
        to NULL.  Call get_pltoff if NULL and NEED_PLTOFF is true.
2377
 
2378
2004-06-30  H.J. Lu  
2379
 
2380
        PR 233
2381
        * elflink.c (elf_link_input_bfd): Issue an error for non-debug
2382
        local references to discarded sections and report their
2383
        locations.
2384
 
2385
2004-06-30  Alan Modra  
2386
 
2387
        * elflink.c (elf_section_ignore_discarded_relocs): Don't test
2388
        sec_info_type, test section name instead.
2389
 
2390
2004-06-29  H.J. Lu  
2391
 
2392
        PR 240
2393
        * elfxx-ia64.c (elfNN_ia64_relax_section): Don't relax branch
2394
        in .init/.fini sections.
2395
 
2396
2004-06-29  Bob Wilson  
2397
 
2398
        * elf32-xtensa.c (elf_xtensa_relocate_section): Use
2399
        bfd_get_section_limit.
2400
 
2401
2004-06-29  Bob Wilson  
2402
 
2403
        * elf32-xtensa.c (elf_xtensa_combine_prop_entries): Don't change the
2404
        output section size.
2405
 
2406
2004-06-29  Alan Modra  
2407
 
2408
        * elf64-mmix.c (mmix_set_relaxable_size): Save original size in
2409
        rawsize.
2410
        (mmix_elf_perform_relocation): Adjust for above change.
2411
        (mmix_elf_relocate_section): Likewise.
2412
        (mmix_elf_relax_section): Likewise.  Use output_section->rawsize.
2413
        (mmix_elf_get_section_contents): Delete.
2414
        (bfd_elf64_get_section_contents): Delete.
2415
        (mmix_elf_relocate_section): Zero stub area.
2416
        * linker.c (default_indirect_link_order): Alloc max of section size
2417
        and rawsize.
2418
        * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
2419
        * section.c (bfd_malloc_and_get_section): Likewise.
2420
        (struct bfd_section): Update rawsize comment.
2421
        * bfd-in2.h: Regenerate.
2422
 
2423
        * reloc16.c (bfd_coff_reloc16_relax_section): Set rawsize.
2424
 
2425
2004-06-29  Alan Modra  
2426
 
2427
        * bfd-in.h (bfd_get_section_limit): Define.
2428
        * reloc.c (bfd_perform_relocation, bfd_install_relocation)
2429
        (_bfd_final_link_relocate): Use bfd_get_section_limit.
2430
        * aout-tic30.c (tic30_aout_final_link_relocate): Likewise.
2431
        * coff-arm.c (coff_arm_relocate_section): Likewise.
2432
        * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): Likewise.
2433
        * cpu-ns32k.c (do_ns32k_reloc): Likewise.
2434
        (bfd_ns32k_final_link_relocate): Likewise.
2435
        * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): Likwise.
2436
        * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): Likewise.
2437
        * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc)
2438
        (i860_howto_highadj_reloc, i860_howto_splitn_reloc): Likewise.
2439
        * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc)
2440
        (m32r_elf_generic_reloc, m32r_elf_relocate_section): Likewise.
2441
        * elf32-m68hc1x.c (m68hc11_elf_special_reloc): Likewise.
2442
        * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
2443
        * elf32-or32.c (or32_elf_consth_reloc): Likewise.
2444
        * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Likewise.
2445
        * elf32-s390.c (s390_elf_ldisp_reloc): Likewise.
2446
        * elf32-sh.c (sh_elf_reloc_loop): Likewise.
2447
        * elf32-sparc.c (sparc_elf_wdisp16_reloc): Likewise.
2448
        (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc): Likwise.
2449
        * elf32-v850.c (v850_elf_reloc): Likewise.
2450
        * elf32-xstormy16.c (xstormy16_elf_24_reloc): Likewise.
2451
        * elf32-xtensa.c (bfd_elf_xtensa_reloc): Likewise.
2452
        * elf64-alpha.c (elf64_alpha_reloc_gpdisp): Likewise.
2453
        * elf64-mips.c (mips_elf64_gprel32_reloc)
2454
        (mips16_gprel_reloc): Likewise.
2455
        * elf64-mmix.c (mmix_elf_reloc): Likewise.
2456
        * elf64-s390.c (s390_elf_ldisp_reloc): Likewise.
2457
        * elf64-sparc.c (init_insn_reloc): Likewise.
2458
        * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
2459
        * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp)
2460
        (_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_lo16_reloc)
2461
        (_bfd_mips_elf_generic_reloc): Likewise.
2462
        * bfd-in2.h: Regenerate.
2463
 
2464
2004-06-28  Alan Modra  
2465
 
2466
        * bfd-in.h (struct stab_info): Move from stabs.c.
2467
        * stabs.c (struct stab_link_includes_table): Delete.
2468
        (stab_link_includes_lookup): Delete.
2469
        (_bfd_write_section_stabs, _bfd_write_stab_strings): Remove one
2470
        level of indirection from sinfo parm.
2471
        (_bfd_link_section_stabs): Likewise.  Set SEC_LINKER_CREATED on
2472
        stabstr section.  Adjust hash table accesses.
2473
        * coff-ppc.c (ppc_bfd_coff_final_link): Do include rawsize in contents
2474
        alloc.  Adjust stab_info test.
2475
        * cofflink.c (_bfd_coff_link_hash_table_init): Clear stab_info.
2476
        (_bfd_coff_final_link): Adjust stab_info test.
2477
        (_bfd_coff_link_input_bfd): Ignore SEC_LINKER_CREATED sections.
2478
        * elf-bfd.h (struct elf_link_hash_table): Include struct stab_info
2479
        in place.
2480
        * libcoff-in.h (struct coff_link_hash_table): Likewise.
2481
        * elf.c (_bfd_elf_link_hash_table_init): Clear stab_info.
2482
        * elflink.c (bfd_elf_final_link): Don't attempt to link linker created
2483
        stabstr section.  Adjust stab_info test.
2484
        * libbfd-in.h (_bfd_link_section_stabs, _bfd_write_section_stabs)
2485
        (_bfd_write_stab_strings): Adjust prototypes.
2486
        * libbfd.h: Regenerate.
2487
        * libcoff.h: Regenerate.
2488
        * bfd-in2.h: Regenerate.
2489
 
2490
2004-06-27  Mark Kettenis  
2491
 
2492
        From Miod Vallat :
2493
        * aoutx.h (NAME(aout,machine_type)): Handle bfd_arch_m88k.
2494
 
2495
2004-06-26  Alexandre Oliva  
2496
 
2497
        * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): Delete.
2498
        (struct elf32_mn10300_link_hash_entry): Remove
2499
        pcrel_relocs_copied.
2500
        (mn10300_elf_check_relocs): Only reserve dynamic relocations for
2501
        R_MN10300_32.  Don't adjust pcrel_relocs_copied.
2502
        (mn10300_elf_final_link_relocate): Fail for direct, pc-relative
2503
        and gotoff relocations if the symbol doesn't bind locally.  Use
2504
        _bfd_elf_symbol_refs_local_p to test.  Don't create dynamic
2505
        relocation for PCREL32.
2506
        (mn10300_elf_relocate_section): Use _bfd_elf_symbol_refs_local_p
2507
        to test whether a symbol binds locally.
2508
        (elf32_mn10300_link_hash_newfunc): Don't initialize
2509
        pcrel_relocs_copied.
2510
        (_bfd_mn10300_elf_discard_copies): Delete.
2511
        (_bfd_mn10300_elf_size_dynamic_sections): Don't call it.
2512
 
2513
2004-06-26  Mark Kettenis  
2514
 
2515
        * config.bfd: Replace m88k-*-openbsd* with m88*-*-openbsd*.
2516
 
2517
2004-06-25  Joel Brobecker  
2518
 
2519
        * som.c (som_set_reloc_info): Correct small typo.
2520
 
2521
2004-06-25  Kazuhiro Inaoka  
2522
 
2523
        * elf32-m32r.c (m32r_elf_howto_table): Support R_M32R_GOTOFF.
2524
        (m32r_elf_relocate_section): Changed for R_M32R_GOTOFF.
2525
        (m32r_elf_gcsweep_hook): Likewise.
2526
        (m32r_elf_check_relocs): Likewise.
2527
        (m32r_elf_howto_table): Added R_M32R_GOTOFF_HI_ULO,
2528
        R_M32R_GOTOFF_HI_SLO and R_M32R_GOTOFF_LO.
2529
        * reloc.c: Added BFD_RELOC_M32R_GOTOFF_HI_ULO,
2530
        BFD_RELOC_M32R_GOTOFF_HI_SLO and BFD_RELOC_M32R_GOTOFF_LO.
2531
        * bfd-in2.h: Regenerated.
2532
        * libbfd.h: Regenerated.
2533
 
2534
2004-06-24  H.J. Lu  
2535
 
2536
        * elf64-x86-64.c (elf64_x86_64_check_relocs): Warn overflow
2537
        relocation symbol.
2538
        (elf64_x86_64_relocate_section): Issue an error for
2539
        R_X86_64_PC8, R_X86_64_PC16 and R_X86_64_PC32 relocations
2540
        against global symbols when building shared library.
2541
 
2542
2004-06-24  Alan Modra  
2543
 
2544
        * section.c (struct sec): Rename "_cooked_size" to "size".
2545
        Rename "_raw_size" to "rawsize".
2546
        (STD_SECTION): Adjust comments.
2547
        (bfd_set_section_size, bfd_get_section_contents): Use size.
2548
        (bfd_malloc_and_get_section): New function.
2549
        * bfd-in.h (bfd_section_size, bfd_get_section_size): Use size.
2550
        * coff-sh.c (sh_relax_section): Alloc coff_section_data struct early.
2551
        Correctly free reloc and contents memory.
2552
        * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete FIXME
2553
        and fake CIE now that we can shink section size to zero.
2554
        (_bfd_elf_write_section_eh_frame): Likewise..
2555
        * elf32-ppc.c (ppc_elf_relax_section): Delay reading section contents.
2556
        * elf-m10300.c (mn10300_elf_final_link_relocate): Don't use
2557
        _bfd_stab_section_offset.  Use _bfd_elf_section_offset.
2558
        * stabs.c (_bfd_stab_section_offset_): Remove unused args and
2559
        unneeded indirection.
2560
        * elf.c (_bfd_elf_section_offset): .. and update call.
2561
        * libbfd-in.h (_bfd_stab_section_offset): Update prototype.
2562
        * libbfd.h: Regenerate.
2563
        * bfd-in2.h: Regenerate.
2564
 
2565
        Replace occurrences of "_raw_size" and "_cooked_size" in most places
2566
        with "size".  Set new "rawsize" for stabs, eh_frame, and SEC_MERGE
2567
        sections.  Use "rawsize", if non-zero, for bfd_get_section_contents
2568
        calls if the section might be a stabs, eh_frame, or SEC_MERGE section.
2569
        Similarly use "rawsize", if non-zero, in reloc functions to validate
2570
        reloc addresses.  Use new bfd_malloc_and_get_section in most places
2571
        where bfd_get_section_contents was called.  Expand all occurrences of
2572
        bfd_section_size and bfd_get_section_size.  Rename "raw_size" var in
2573
        grok_prstatus and similar functions to "size".
2574
        * aix386-core.c (aix386_core_file_p): ..
2575
        * aix5ppc-core.c (xcoff64_core_p): ..
2576
        * aout-adobe.c (aout_adobe_callback, aout_adobe_write_object_contents,
2577
        aout_adobe_set_section_contents): ..
2578
        * aout-target.h (callback): ..
2579
        * aout-tic30.c (tic30_aout_callback, tic30_aout_final_link_relocate,
2580
        MY_bfd_final_link): ..
2581
        * aoutf1.h (sunos4_core_file_p): ..
2582
        * aoutx.h (some_aout_object_p, adjust_o_magic, adjust_z_magic,
2583
        adjust_n_magic, adjust_sizes_and_vmas, translate_from_native_sym_flags,
2584
        final_link, aout_link_input_section): ..
2585
        * binary.c (binary_object_p, binary_canonicalize_symtab,
2586
        binary_set_section_contents): ..
2587
        * bout.c (b_out_callback, b_out_write_object_contents,
2588
        b_out_set_section_contents, b_out_bfd_relax_section,
2589
        b_out_bfd_get_relocated_section_contents): ..
2590
        * cisco-core.c (cisco_core_file_validate): ..
2591
        * coff-alpha.c (alpha_ecoff_object_p,
2592
        alpha_ecoff_get_relocated_section_conten, alpha_relocate_section): ..
2593
        * coff-arm.c (coff_arm_relocate_section,
2594
        bfd_arm_allocate_interworking_sections): ..
2595
        * coff-h8300.c (h8300_reloc16_extra_cases,
2596
        h8300_bfd_link_add_symbols): ..
2597
        * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): ..
2598
        * coff-ppc.c (coff_ppc_relocate_section, ppc_allocate_toc_section,
2599
        ppc_bfd_coff_final_link): ..
2600
        * coff-rs6000.c (xcoff_reloc_type_br, xcoff_ppc_relocate_section): ..
2601
        * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
2602
        sh_align_loads, sh_coff_get_relocated_section_contents): ..
2603
        * coff64-rs6000.c (xcoff64_write_object_contents,
2604
        xcoff64_reloc_type_br, xcoff64_ppc_relocate_section): ..
2605
        * coffcode.h (coff_compute_section_file_positions,
2606
        coff_write_object_contents): ..
2607
        * coffgen.c (make_a_section_from_file, coff_write_symbols,
2608
        coff_section_symbol, build_debug_section): ..
2609
        * cofflink.c (coff_link_add_symbols, _bfd_coff_final_link,
2610
        process_embedded_commands, _bfd_coff_link_input_bfd,
2611
        _bfd_coff_write_global_sym): ..
2612
        * cpu-arm.c (bfd_arm_update_notes, bfd_arm_get_mach_from_notes): ..
2613
        * cpu-ns32k.c (do_ns32k_reloc, _bfd_ns32k_final_link_relocate): ..
2614
        * dwarf1.c (parse_line_table, _bfd_dwarf1_find_nearest_line): ..
2615
        * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
2616
        _bfd_dwarf2_find_nearest_line): ..
2617
        * ecoff.c (bfd_debug_section, ecoff_set_symbol_info,
2618
        ecoff_compute_section_file_positions,
2619
        _bfd_ecoff_write_object_contents, ecoff_indirect_link_order): ..
2620
        * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame,
2621
        _bfd_elf_discard_section_eh_frame_hdr,
2622
        _bfd_elf_maybe_strip_eh_frame_hdr, _bfd_elf_eh_frame_section_offset,
2623
        _bfd_elf_write_section_eh_frame,
2624
        _bfd_elf_write_section_eh_frame_hdr): ..
2625
        * elf-hppa.h (elf_hppa_sort_unwind): ..
2626
        * elf-m10200.c (mn10200_elf_relax_section,
2627
        mn10200_elf_relax_delete_bytes,
2628
        mn10200_elf_get_relocated_section_contents): ..
2629
        * elf-m10300.c (_bfd_mn10300_elf_create_got_section,
2630
        mn10300_elf_check_relocs, mn10300_elf_relax_section,
2631
        mn10300_elf_relax_delete_bytes,
2632
        mn10300_elf_get_relocated_section_contents,
2633
        _bfd_mn10300_elf_adjust_dynamic_symbol,
2634
        _bfd_mn10300_elf_discard_copies,
2635
        _bfd_mn10300_elf_size_dynamic_sections,
2636
        _bfd_mn10300_elf_finish_dynamic_sections): ..
2637
        * elf.c (_bfd_elf_print_private_bfd_data, bfd_elf_get_bfd_needed_list,
2638
        _bfd_elf_make_section_from_phdr, elf_fake_sections,
2639
        bfd_elf_set_group_contents, map_sections_to_segments,
2640
        elf_sort_sections, assign_file_positions_for_segments,
2641
        SECTION_SIZE, copy_private_bfd_data,
2642
        _bfd_elf_get_dynamic_reloc_upper_bound,
2643
        _bfd_elf_canonicalize_dynamic_reloc, elfcore_maybe_make_sect,
2644
        _bfd_elfcore_make_pseudosection, elfcore_grok_prstatus,
2645
        elfcore_grok_lwpstatus, elfcore_grok_win32pstatus,
2646
        elfcore_grok_note, elfcore_grok_nto_status, elfcore_grok_nto_gregs,
2647
        _bfd_elf_rel_local_sym, _bfd_elf_get_synthetic_symtab): ..
2648
        * elf32-arm.h (bfd_elf32_arm_allocate_interworking_sect,
2649
        bfd_elf32_arm_process_before_allocation,
2650
        elf32_arm_adjust_dynamic_symbol, allocate_dynrelocs,
2651
        elf32_arm_size_dynamic_sections, elf32_arm_finish_dynamic_sections,
2652
        elf32_arm_write_section): ..
2653
        * elf32-cris.c (cris_elf_grok_prstatus,
2654
        elf_cris_finish_dynamic_sections, cris_elf_gc_sweep_hook,
2655
        elf_cris_adjust_gotplt_to_got, elf_cris_adjust_dynamic_symbol,
2656
        cris_elf_check_relocs, elf_cris_size_dynamic_sections,
2657
        elf_cris_discard_excess_dso_dynamics,
2658
        elf_cris_discard_excess_program_dynamics): ..
2659
        * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): ..
2660
        * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): ..
2661
        * elf32-frv.c (_frvfdpic_add_dyn_reloc, _frvfdpic_add_rofixup,
2662
        _frv_create_got_section, _frvfdpic_assign_plt_entries,
2663
        elf32_frvfdpic_size_dynamic_sections,
2664
        elf32_frvfdpic_modify_segment_map,
2665
        elf32_frvfdpic_finish_dynamic_sections): ..
2666
        * elf32-h8300.c (elf32_h8_relax_section, elf32_h8_relax_delete_bytes,
2667
        elf32_h8_get_relocated_section_contents): ..
2668
        * elf32-hppa.c (hppa_build_one_stub, hppa_size_one_stub,
2669
        elf32_hppa_adjust_dynamic_symbol, allocate_plt_static,
2670
        allocate_dynrelocs, elf32_hppa_size_dynamic_sections, group_sections,
2671
        elf32_hppa_size_stubs, elf32_hppa_set_gp, elf32_hppa_build_stubs,
2672
        elf32_hppa_finish_dynamic_sections): ..
2673
        * elf32-i370.c (i370_elf_adjust_dynamic_symbol,
2674
        i370_elf_size_dynamic_sections, i370_elf_check_relocs,
2675
        i370_elf_finish_dynamic_sections): ..
2676
        * elf32-i386.c (elf_i386_grok_prstatus, elf_i386_adjust_dynamic_symbol,
2677
        allocate_dynrelocs, elf_i386_size_dynamic_sections,
2678
        elf_i386_relocate_section, elf_i386_finish_dynamic_sections): ..
2679
        * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
2680
        i860_howto_highadj_reloc, i860_howto_splitn_reloc): ..
2681
        * elf32-ip2k.c (ip2k_is_switch_table_128,
2682
        ip2k_relax_switch_table_128, ip2k_is_switch_table_256,
2683
        ip2k_relax_switch_table_256, ip2k_elf_relax_section,
2684
        adjust_all_relocations, ip2k_elf_relax_delete_bytes): ..
2685
        * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc,
2686
        m32r_elf_generic_reloc, m32r_elf_adjust_dynamic_symbol,
2687
        allocate_dynrelocs, m32r_elf_size_dynamic_sections,
2688
        m32r_elf_relocate_section, m32r_elf_finish_dynamic_sections,
2689
        m32r_elf_relax_section, m32r_elf_relax_delete_bytes,
2690
        m32r_elf_get_relocated_section_contents): ..
2691
        * elf32-m68hc11.c (m68hc11_elf_build_one_stub,
2692
        m68hc11_elf_size_one_stub, m68hc11_elf_relax_section,
2693
        m68hc11_elf_relax_delete_bytes): ..
2694
        * elf32-m68hc12.c (m68hc12_elf_build_one_stub,
2695
        m68hc12_elf_size_one_stub): ..
2696
        * elf32-m68hc1x.c (elf32_m68hc11_size_stubs,
2697
        elf32_m68hc11_build_stubs, m68hc11_elf_special_reloc): ..
2698
        * elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_gc_sweep_hook,
2699
        elf_m68k_adjust_dynamic_symbol, elf_m68k_size_dynamic_sections,
2700
        elf_m68k_discard_copies, elf_m68k_finish_dynamic_sections): ..
2701
        * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
2702
        elf32_mips_grok_prstatus): ..
2703
        * elf32-or32.c (or32_elf_consth_reloc): ..
2704
        * elf32-ppc.c (ppc_elf_relax_section, ppc_elf_addr16_ha_reloc,
2705
        elf_create_pointer_linker_section, ppc_elf_create_linker_section,
2706
        ppc_elf_additional_program_headers, ppc_elf_adjust_dynamic_symbol,
2707
        allocate_dynrelocs, ppc_elf_size_dynamic_sections,
2708
        ppc_elf_finish_dynamic_sections, ppc_elf_grok_prstatus,
2709
        ppc_elf_final_write_processing): ..
2710
        * elf32-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
2711
        allocate_dynrelocs, elf_s390_size_dynamic_sections,
2712
        elf_s390_finish_dynamic_sections, elf_s390_grok_prstatus): ..
2713
        * elf32-sh.c (sh_elf_reloc_loop, sh_elf_relax_section,
2714
        sh_elf_relax_delete_bytes, sh_elf_align_loads,
2715
        sh_elf_adjust_dynamic_symbol, allocate_dynrelocs,
2716
        sh_elf_size_dynamic_sections, sh_elf_get_relocated_section_contents,
2717
        sh_elf_finish_dynamic_sections, elf32_shlin_grok_prstatus): ..
2718
        * elf32-sh64-com.c (sh64_address_in_cranges,
2719
        sh64_get_contents_type): ..
2720
        * elf32-sh64.c (sh64_find_section_for_address,
2721
        sh64_elf_final_write_processing): ..
2722
        * elf32-sparc.c (sparc_elf_wdisp16_reloc, sparc_elf_hix22_reloc,
2723
        sparc_elf_lox10_reloc, elf32_sparc_adjust_dynamic_symbol,
2724
        allocate_dynrelocs, elf32_sparc_size_dynamic_sections,
2725
        elf32_sparc_relocate_section, elf32_sparc_finish_dynamic_sections): ..
2726
        * elf32-v850.c (v850_elf_reloc, v850_elf_relax_section): ..
2727
        * elf32-vax.c (elf_vax_check_relocs, elf_vax_adjust_dynamic_symbol,
2728
        elf_vax_size_dynamic_sections, elf_vax_discard_copies,
2729
        elf_vax_instantiate_got_entries, elf_vax_relocate_section,
2730
        elf_vax_finish_dynamic_sections): ..
2731
        * elf32-xstormy16.c (xstormy16_elf_24_reloc,
2732
        xstormy16_elf_check_relocs, xstormy16_relax_plt_check,
2733
        xstormy16_elf_relax_section, xstormy16_elf_always_size_sections,
2734
        xstormy16_elf_finish_dynamic_sections): ..
2735
        * elf32-xtensa.c (xtensa_read_table_entries,
2736
        elf_xtensa_allocate_got_size, elf_xtensa_allocate_local_got_size,
2737
        elf_xtensa_size_dynamic_sections, elf_xtensa_do_reloc,
2738
        bfd_elf_xtensa_reloc, elf_xtensa_relocate_section,
2739
        elf_xtensa_combine_prop_entries, elf_xtensa_finish_dynamic_sections,
2740
        elf_xtensa_discard_info_for_section, elf_xtensa_grok_prstatus,
2741
        get_relocation_opcode, retrieve_contents, find_relaxable_sections,
2742
        collect_source_relocs, is_resolvable_asm_expansion, remove_literals,
2743
        relax_section, shrink_dynamic_reloc_sections, relax_property_section,
2744
        xtensa_callback_required_dependence): ..
2745
        * elf64-alpha.c (elf64_alpha_reloc_gpdisp, elf64_alpha_relax_section,
2746
        elf64_alpha_check_relocs, elf64_alpha_adjust_dynamic_symbol,
2747
        elf64_alpha_calc_got_offsets_for_symbol, elf64_alpha_calc_got_offsets,
2748
        elf64_alpha_size_plt_section, elf64_alpha_size_plt_section_1,
2749
        elf64_alpha_always_size_sections, elf64_alpha_calc_dynrel_sizes,
2750
        elf64_alpha_size_rela_got_section, elf64_alpha_size_rela_got_1,
2751
        elf64_alpha_size_dynamic_sections, elf64_alpha_emit_dynrel,
2752
        elf64_alpha_finish_dynamic_sections, elf64_alpha_final_link): ..
2753
        * elf64-hppa.c (allocate_dynrel_entries,
2754
        elf64_hppa_size_dynamic_sections,
2755
        elf64_hppa_finish_dynamic_sections): ..
2756
        * elf64-mips.c (mips_elf64_gprel32_reloc, mips16_gprel_reloc,
2757
        mips_elf64_canonicalize_dynamic_reloc, mips_elf64_slurp_reloc_table,
2758
        elf64_mips_grok_prstatus): ..
2759
        * elf64-mmix.c (mmix_elf_perform_relocation, mmix_elf_reloc,
2760
        mmix_elf_relocate_section, mmix_elf_final_link,
2761
        mmix_set_relaxable_size, _bfd_mmix_after_linker_allocation,
2762
        mmix_elf_relax_section, mmix_elf_get_section_contents): ..
2763
        * elf64-ppc.c (ppc64_elf_object_p, ppc64_elf_grok_prstatus,
2764
        ppc64_elf_check_relocs, ppc64_elf_func_desc_adjust,
2765
        ppc64_elf_adjust_dynamic_symbol, ppc64_elf_edit_opd,
2766
        allocate_dynrelocs, ppc64_elf_size_dynamic_sections,
2767
        ppc_build_one_stub, ppc_size_one_stub, ppc64_elf_next_toc_section,
2768
        toc_adjusting_stub_needed, group_sections, ppc64_elf_size_stubs,
2769
        ppc64_elf_build_stubs, ppc64_elf_relocate_section,
2770
        ppc64_elf_finish_dynamic_sections): ..
2771
        * elf64-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
2772
        allocate_dynrelocs, elf_s390_size_dynamic_sections,
2773
        elf_s390_finish_dynamic_sections): ..
2774
        * elf64-sh64.c (sh_elf64_get_relocated_section_contents,
2775
        sh_elf64_check_relocs, sh64_elf64_adjust_dynamic_symbol,
2776
        sh64_elf64_discard_copies, sh64_elf64_size_dynamic_sections,
2777
        sh64_elf64_finish_dynamic_sections): ..
2778
        * elf64-sparc.c (sparc64_elf_slurp_reloc_table, init_insn_reloc,
2779
        sparc64_elf_check_relocs, sparc64_elf_adjust_dynamic_symbol,
2780
        sparc64_elf_size_dynamic_sections, sparc64_elf_relocate_section,
2781
        sparc64_elf_finish_dynamic_symbol,
2782
        sparc64_elf_finish_dynamic_sections): ..
2783
        * elf64-x86-64.c (elf64_x86_64_grok_prstatus,
2784
        elf64_x86_64_adjust_dynamic_symbol, allocate_dynrelocs,
2785
        elf64_x86_64_size_dynamic_sections, elf64_x86_64_relocate_section,
2786
        elf64_x86_64_finish_dynamic_sections): ..
2787
        * elfarm-nabi.c (elf32_arm_nabi_grok_prstatus): ..
2788
        * elfcode.h (elf_slurp_reloc_table): ..
2789
        * elflink.c (_bfd_elf_create_got_section, elf_add_dt_needed_tag,
2790
        elf_finalize_dynstr, elf_link_add_object_symbols,
2791
        bfd_elf_size_dynamic_sections, elf_link_sort_relocs,
2792
        elf_link_input_bfd, bfd_elf_final_link, bfd_elf_discard_info): ..
2793
        * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
2794
        elf32_mips_grok_prstatus): ..
2795
        * elfxx-ia64.c (elfNN_ia64_relax_section, allocate_dynrel_entries,
2796
        elfNN_ia64_size_dynamic_sections, elfNN_ia64_install_dyn_reloc,
2797
        elfNN_ia64_choose_gp, elfNN_ia64_final_link,
2798
        elfNN_ia64_finish_dynamic_sections): ..
2799
        * elfxx-mips.c (mips_elf_create_procedure_table,
2800
        mips_elf_check_mips16_stubs, _bfd_mips_elf_gprel16_with_gp,
2801
        _bfd_mips_elf_hi16_reloc, _bfd_mips_elf_generic_reloc,
2802
        mips_elf_global_got_index, mips_elf_multi_got,
2803
        mips_elf_create_compact_rel_section, mips_elf_calculate_relocation,
2804
        mips_elf_allocate_dynamic_relocations,
2805
        mips_elf_create_dynamic_relocation, _bfd_mips_elf_fake_sections,
2806
        _bfd_mips_relax_section, _bfd_mips_elf_adjust_dynamic_symbol,
2807
        _bfd_mips_elf_always_size_sections,
2808
        _bfd_mips_elf_size_dynamic_sections,
2809
        _bfd_mips_elf_finish_dynamic_symbol,
2810
        _bfd_mips_elf_finish_dynamic_sections,
2811
        _bfd_mips_elf_modify_segment_map, _bfd_mips_elf_discard_info,
2812
        _bfd_mips_elf_write_section, _bfd_mips_elf_set_section_contents,
2813
        _bfd_elf_mips_get_relocated_section_contents,
2814
        _bfd_mips_elf_final_link, _bfd_mips_elf_merge_private_bfd_data): ..
2815
        * hp300hpux.c (callback): ..
2816
        * hppabsd-core.c (make_bfd_asection): ..
2817
        * hpux-core.c (make_bfd_asection): ..
2818
        * i386linux.c (linux_link_create_dynamic_sections,
2819
        bfd_i386linux_size_dynamic_sections, linux_finish_dynamic_link): ..
2820
        * i386msdos.c (msdos_write_object_contents): ..
2821
        * i386os9k.c (os9k_callback, os9k_write_object_contents,
2822
        os9k_set_section_contents): ..
2823
        * ieee.c (parse_expression, ieee_slurp_external_symbols,
2824
        ieee_slurp_sections, ieee_slurp_debug, ieee_slurp_section_data,
2825
        ieee_write_section_part, do_with_relocs, do_as_repeat,
2826
        do_without_relocs, ieee_write_debug_part, init_for_output,
2827
        ieee_set_section_contents): ..
2828
        * ihex.c (ihex_scan, ihex_read_section, ihex_get_section_contents): ..
2829
        * irix-core.c (do_sections, make_bfd_asection): ..
2830
        * libaout.h (aout_section_merge_with_text_p): ..
2831
        * libbfd.c (_bfd_generic_get_section_contents,
2832
        _bfd_generic_get_section_contents_in_window): ..
2833
        * linker.c (default_indirect_link_order): ..
2834
        * lynx-core.c (make_bfd_asection): ..
2835
        * m68klinux.c (linux_link_create_dynamic_sections,
2836
        bfd_m68klinux_size_dynamic_sections, linux_finish_dynamic_link): ..
2837
        * mach-o.c (bfd_mach_o_make_bfd_section,
2838
        bfd_mach_o_scan_read_dylinker, bfd_mach_o_scan_read_dylib,
2839
        bfd_mach_o_scan_read_thread, bfd_mach_o_scan_read_symtab,
2840
        bfd_mach_o_scan_read_segment): ..
2841
        * merge.c (_bfd_add_merge_section, record_section, merge_strings,
2842
        _bfd_merge_sections): ..
2843
        * mmo.c (mmo_find_sec_w_addr, mmo_get_spec_section, mmo_get_loc,
2844
        mmo_map_set_sizes, mmo_canonicalize_symtab,
2845
        mmo_internal_write_section, mmo_write_object_contents): ..
2846
        * netbsd-core.c (netbsd_core_file_p): ..
2847
        * nlm32-alpha.c (nlm_alpha_read_reloc, nlm_alpha_write_import,
2848
        nlm_alpha_set_public_section): ..
2849
        * nlm32-ppc.c (nlm_powerpc_read_reloc, nlm_powerpc_write_reloc): ..
2850
        * nlm32-sparc.c (nlm_sparc_write_import): ..
2851
        * nlmcode.h (add_bfd_section, nlm_swap_auxiliary_headers_in,
2852
        nlm_compute_section_file_positions): ..
2853
        * oasys.c (oasys_object_p, oasys_slurp_section_data,
2854
        oasys_write_sections, oasys_write_data, oasys_set_section_contents): ..
2855
        * opncls.c (get_debug_link_info): ..
2856
        * osf-core.c (make_bfd_asection): ..
2857
        * pdp11.c (some_aout_object_p, adjust_o_magic, adjust_z_magic,
2858
        adjust_n_magic, adjust_sizes_and_vmas, squirt_out_relocs,
2859
        final_link, aout_link_input_section): ..
2860
        * peXXigen.c (_bfd_XXi_swap_sym_in, _bfd_XXi_swap_aouthdr_out,
2861
        pe_print_idata, pe_print_edata, pe_print_pdata, pe_print_reloc): ..
2862
        * pef.c (bfd_pef_make_bfd_section, bfd_pef_print_loader_section,
2863
        bfd_pef_scan_start_address, bfd_pef_parse_symbols): ..
2864
        * ppcboot.c (ppcboot_object_p, ppcboot_canonicalize_symtab): ..
2865
        * ptrace-core.c (ptrace_unix_core_file_p): ..
2866
        * reloc.c (bfd_perform_relocation, bfd_install_relocation,
2867
        _bfd_final_link_relocate, bfd_generic_relax_section,
2868
        bfd_generic_get_relocated_section_contents): ..
2869
        * reloc16.c (bfd_coff_reloc16_relax_section,
2870
        bfd_coff_reloc16_get_relocated_section_c): ..
2871
        * riscix.c (riscix_some_aout_object_p): ..
2872
        * rs6000-core.c (read_hdr, make_bfd_asection): ..
2873
        * sco5-core.c (make_bfd_asection): ..
2874
        * simple.c (bfd_simple_get_relocated_section_contents): ..
2875
        * som.c (som_object_setup, setup_sections, som_prep_headers,
2876
        som_write_fixups, som_begin_writing, bfd_section_from_som_symbol,
2877
        som_set_reloc_info, som_get_section_contents,
2878
        som_bfd_link_split_section): ..
2879
        * sparclinux.c (linux_link_create_dynamic_sections,
2880
        bfd_sparclinux_size_dynamic_sections, linux_finish_dynamic_link): ..
2881
        * srec.c (srec_scan, srec_read_section, srec_get_section_contents): ..
2882
        * stabs.c (_bfd_link_section_stabs, _bfd_discard_section_stabs,
2883
        _bfd_write_stab_strings, _bfd_stab_section_offset): ..
2884
        * sunos.c (sunos_read_dynamic_info, sunos_create_dynamic_sections,
2885
        bfd_sunos_size_dynamic_sections, sunos_scan_std_relocs,
2886
        sunos_scan_ext_relocs, sunos_scan_dynamic_symbol,
2887
        sunos_write_dynamic_symbol, sunos_check_dynamic_reloc,
2888
        sunos_finish_dynamic_link): ..
2889
        * syms.c (_bfd_stab_section_find_nearest_line): ..
2890
        * tekhex.c (first_phase, tekhex_set_section_contents,
2891
        tekhex_write_object_contents): ..
2892
        * trad-core.c (trad_unix_core_file_p): ..
2893
        * versados.c (process_esd, process_otr, process_otr): ..
2894
        * vms-gsd.c (_bfd_vms_slurp_gsd, _bfd_vms_write_gsd): ..
2895
        * vms-misc.c (add_new_contents): ..
2896
        * vms-tir.c (check_section, new_section, _bfd_vms_write_tir): ..
2897
        * vms.c (vms_set_section_contents): ..
2898
        * xcofflink.c (xcoff_get_section_contents, xcoff_link_add_symbols,
2899
        xcoff_sweep, bfd_xcoff_size_dynamic_sections, xcoff_build_ldsyms,
2900
        _bfd_xcoff_bfd_final_link, xcoff_link_input_bfd): ..
2901
        * xsym.c (bfd_sym_scan): .. See above.
2902
 
2903
2004-06-21  H.J. Lu  
2904
 
2905
        * elfxx-ia64.c (elfNN_ia64_relax_section): Add addend when
2906
        calling _bfd_merged_section_offset only for section symbols.
2907
 
2908
2004-06-22  Alan Modra  
2909
 
2910
        * elf32-ppc.c (ppc_elf_relax_section): Implement reference code
2911
        for handling SEC_MERGE symbols in relax_section.
2912
 
2913
2004-06-21  Alexandre Oliva  
2914
 
2915
        2003-05-15  Richard Sandiford  
2916
        * cpu-h8300.c (compatible): Allow h8300s and h8300sx code to be
2917
        linked together. Mark the result as h8300sx code.
2918
 
2919
2004-06-21  Alexandre Oliva  
2920
 
2921
        * elf-bfd.h (struct elf_backend_data): Added
2922
        elf_backend_omit_section_dynsym.
2923
        (_bfd_elf_link_omit_section_dynsym): Declare.
2924
        * elf32-frv.c (_frvfdpic_link_omit_section_dynsym): New.
2925
        (elf_backend_omit_section_dynsym): Use it for frvfdpic.
2926
        * elflink.c (_bfd_elf_link_omit_section_dynsym): Split out of...
2927
        (_bfd_elf_link_renumber_dynsyms): ... this function.
2928
        * elfxx-target.h (elf_backend_omit_section_dynsym): Default to
2929
        _bfd_elf_link_omit_section_dynsym).
2930
        (elfNN_bed): Added elf_backend_omit_section_dynsym.
2931
 
2932
2004-06-21  Nick Clifton  
2933
 
2934
        * coffcode.h (styp_to_sec_flags): Ignore IMAGE_SCN_MEM_NOT_PAGED
2935
        flags.
2936
 
2937
2004-06-17  Jerome Guitton  
2938
 
2939
        * bfd-in.h (bfd_cache_close_all): New function declaration.
2940
        * bfd-in2.h: Regenerate.
2941
        * cache.c (bfd_cache_close_all): New function definition.
2942
 
2943
2004-06-16  Mark Kettenis  
2944
 
2945
        * configure.in: Don't set COREFILE to trad-core.lo for FreeBSD
2946
        4.10 and beyond.
2947
        * configure: Regenerate.
2948
 
2949
2004-06-16  Daniel Jacobowitz  
2950
 
2951
        * elf32-ppc.c (ppc_elf_create_linker_section): Create symbols in
2952
        the pre-existing section.
2953
 
2954
2004-06-15  Alan Modra  
2955
 
2956
        * section.c (struct sec): Remove usused flags.  Reorganize a little.
2957
        (bfd_get_section_size_before_reloc): Delete.
2958
        (bfd_get_section_size_after_reloc): Delete.
2959
        (STD_SECTION): Update.
2960
        (bfd_get_section_size_now): Delete.
2961
        (bfd_set_section_contents): Don't referece reloc_done.
2962
        (bfd_get_section_contents): Remove reloc_done comment.
2963
        * bout.c (b_out_bfd_get_relocated_section_contents): Don't set
2964
        reloc_done.
2965
        * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Likewise.
2966
        * ecoff.c (bfd_debug_section): Update initializer.
2967
        * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents): Ditto.
2968
        * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
2969
        * bfd-in.h (bfd_section_size): Expand.
2970
        (bfd_get_section_size): New macro.
2971
        * bfd-in2.h: Regenerate.
2972
        * coff64-rs6000.c (xcoff64_write_object_contents): Replace
2973
        bfd_get_section_size_before_reloc with bfd_get_section_size.
2974
        * coffcode.h (coff_write_object_contents): Likewise.
2975
        * coffgen.c (build_debug_section): Likewise.
2976
        * dwarf1.c (parse_line_table): Likewise.
2977
        (_bfd_dwarf1_find_nearest_line): Likewise.
2978
        * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
2979
        * i386msdos.c (msdos_write_object_contents): Likewise.
2980
        * pdp11.c (squirt_out_relocs): Likewise.
2981
        * elf32-sh64.c (sh64_find_section_for_address): Remove comment.
2982
        * elf64-mmix.c (mmix_elf_final_link): Update comment.
2983
 
2984
2004-06-14  Chris Demetriou  
2985
 
2986
        * elf32-mips.c (elf_mips_gnu_pcrel32): Add (undoing 2004-04-24
2987
        removal) with updated comment.
2988
        (bfd_elf32_bfd_reloc_type_lookup): Add back case for
2989
        BFD_RELOC_32_PCREL.
2990
        (mips_elf32_rtype_to_howto): Add back case for R_MIPS_PC32.
2991
        * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
2992
 
2993
2004-06-12  Alan Modra  
2994
 
2995
        * elf64-x86-64.c (elf64_x86_64_relocate_section): Ignore reloc
2996
        overflow on branches to undefweaks.
2997
 
2998
2004-06-11  Maciej W. Rozycki  
2999
 
3000
        * coff-alpha.c (alpha_relocate_section): Set used_by_bfd directly
3001
        as ecoff_section_data() does not return a valid lvalue.
3002
 
3003
2004-06-09  Alexandre Oliva  
3004
 
3005
        * elflink.c (elf_sort_symbol): Compare section id, not pointers.
3006
        (elf_link_add_object_symbols): Likewise.
3007
 
3008
        * elf-m10300.c (_bfd_mn10300_elf_reloc_type_class): New.
3009
        (elf_backend_reloc_type_class): New.
3010
 
3011
2004-06-08  Mark Kettenis  
3012
 
3013
        * configure.in (hppa*-*-netbsd*, hppa*-*-openbsd): Set COREFILE to
3014
        netbsd-core.lo.
3015
        * configure: Regenerate.
3016
 
3017
2004-06-07  Daniel Jacobowitz  
3018
 
3019
        From:  Albert Chin-A-Young  
3020
        * elf-bfd.h (struct eh_cie_fde): Convert unsigned char bitfields
3021
        to unsigned int.
3022
 
3023
2004-05-29  H.J. Lu  
3024
 
3025
        * elfxx-ia64.c (elfNN_ia64_relax_section): Undo the last
3026
        change.
3027
 
3028
2004-05-28  DJ Delorie  
3029
 
3030
        * elf-m10300.c (mn10300_elf_relax_section): Preserve reloc addend
3031
        for linking, but otherwise adjust reloc for merged sections.
3032
 
3033
2004-05-28  H.J. Lu  
3034
 
3035
        * elfxx-ia64.c (elfNN_ia64_relax_section): Properly call
3036
        _bfd_merged_section_offset for local symbols.
3037
 
3038
2004-05-28  Andrew Stubbs 
3039
 
3040
        * Makefile.am: Regenerate dependencies.
3041
        * Makefile.in: Regenerate.
3042
        * archures.c: Add bfd_mach_sh3_nommu .
3043
        * bfd-in2.h: Regenerate.
3044
        * cpu-sh.c: Add sh3-nommu architecture.
3045
        (bfd_to_arch_table): Create new table.
3046
        (sh_get_arch_from_bfd_mach): Create new function.
3047
        (sh_get_arch_up_from_bfd_mach): Create new function.
3048
        (sh_merge_bfd_arch): Create new function.
3049
        * elf32-sh.c (sh_ef_bfd_table): Add table.
3050
        (sh_elf_check_relocs): Replace switch statement with
3051
        use of sh_ef_bfd_table .
3052
        (sh_elf_get_flags_from_mach): Add new function.
3053
        (sh_find_elf_flags): Likewise.
3054
        (sh_elf_copy_private_data): Replace most of non-elf contents
3055
        with a call to sh_merge_bfd_arch() .
3056
 
3057
2004-05-27  Michael Chastain  
3058
 
3059
        * Makefile.am (bfdver.h): Use explicit filename, not $< .
3060
        * Makefile.in: Regenerate.
3061
 
3062
2004-05-27  Alexandre Oliva  
3063
 
3064
        * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Avoid
3065
        custom calling conventions for dynamic symbols.
3066
        (mn10300_elf_relax_section): Avoid relaxing a function as a local
3067
        symbol if it's an alias to a global one.
3068
 
3069
2004-05-26  H.J. Lu  
3070
 
3071
        * elf.c (_bfd_elf_make_section_from_shdr): Undo the last
3072
        change.
3073
 
3074
2004-05-27  Alexandre Oliva  
3075
 
3076
        * elf-m10300.c (mn10300_elf_relax_section): Don't test isym within
3077
        loop over hashes.
3078
 
3079
2004-05-26  Alan Modra  
3080
 
3081
        * elf.c (_bfd_elf_make_section_from_shdr): Don't set SEC_EXCLUDE
3082
        for SHT_GROUP sections.
3083
 
3084
2004-05-25  Alan Modra  
3085
 
3086
        * elflink.c (elf_link_add_object_symbols): Don't set up merge
3087
        section data here..
3088
        * elf.c (_bfd_elf_merge_sections): .. Do it here instead.
3089
        * merge.c: Formatting.  Remove unnecessary casts.  Expand
3090
        bfd_get_section_alignment macro.
3091
        (struct sec_merge_sec_info): Rename "first" to "first_str".  Update
3092
        use throughout file.
3093
        (_bfd_add_merge_section): Rename from _bfd_merge_section.  Update
3094
        comment.  Abort on dynamic or non-SEC_MERGE input.  Don't test
3095
        section name to determine sinfo group, instead test output section
3096
        and alignment.
3097
        (_bfd_merge_sections): Add struct bfd_link_info param.  Call
3098
        _bfd_strip_section_from_output rather than just twiddling flags.
3099
        * libbfd-in.h (_bfd_add_merge_section): Rename, update comment.
3100
        (_bfd_merge_sections): Update prototype.
3101
        * libbfd.h: Regenerate.
3102
 
3103
2004-05-24  Mark Kettenis  
3104
 
3105
        * netbsd-core.c: Correctly indent section that sets architecture
3106
        from machine ID.
3107
 
3108
        From Miod Vallat :
3109
        * m88kopenbsd.c: New file.
3110
        * targets.c (m88k_openbsd_vec): New.
3111
        * config.bfd: Add m88k-*-openbsd*.
3112
        * configure.in (m88k-*-openbsd*): Set COREFILE to netbsd-core.lo.
3113
        (m88kopenbsd_vec): New.
3114
        * configure: Regenerate.
3115
        * Makefile.am (BFD32_BACKENDS): Add m88kopenbsd.lo.
3116
        (BFD32_BACKENDS_CFILES): Add m88kopenbsd.c.
3117
        Run "make dep-am".
3118
        * Makefile.in: Regenerate.
3119
        * po/SRC-POTFILES.in: Regenerate.
3120
 
3121
2004-05-24  Nick Clifton  
3122
 
3123
        * hash.c: Remove bogus node "Changing the default Hash Table Size"
3124
        introduced by hash table size patch.
3125
 
3126
2004-05-22  Ben Elliston  
3127
 
3128
        * configure.in (is_release): Remove.
3129
        (bfd_version_date, bfd_version, bfd_version_string): Likewise.
3130
        (AC_OUTPUT): Don't output bfdver.h from version.h.
3131
        * configure: Regenerate.
3132
        * Makefile.am (RELEASE): New variable.
3133
        (bfdver.h): New target.
3134
        * Makefile.in: Regenerate.
3135
        * doc/Makefile.in: Likewise.
3136
 
3137
2004-05-22  Ben Elliston  
3138
 
3139
        * Makefile.am (config.status): Don't depend on version.h.
3140
        * Makefile.in: Regenerate.
3141
 
3142
2004-05-22  Alan Modra  
3143
 
3144
        * merge.c (_bfd_merged_section_offset): Remove "addend" param.
3145
        * libbfd-in.h (_bfd_merged_section_offset): Adjust prototype.
3146
        * libbfd.h: Regenerate.
3147
        * elf.c (_bfd_elf_rela_local_sym): Adjust call.
3148
        (_bfd_elf_rel_local_sym): Likewise.
3149
        * elflink.c (_bfd_elf_link_sec_merge_syms): Likewise.
3150
        (elf_link_input_bfd): Likewise.
3151
        * elf32-ppc.c (ppc_elf_relax_section): Likewise.
3152
        * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
3153
        * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
3154
        (elfNN_ia64_relocate_section): Likewise.
3155
 
3156
2004-05-21  Andy Chittenden  
3157
 
3158
        * hash.c (bfd_default_hash_table_size): New variable.
3159
        (bfd_hash_table_init): Use new variable instead of DEFAULT_SIZE.
3160
        (bfd_hash_set_default_size): New function.  Set the default size
3161
        to a selected prime number close to the argument.  Document new
3162
        function.
3163
        * bfd-in.h: Add prototype for  bfd_hash_set_default_size.
3164
        * bfd-in2.h: Regenerate.
3165
        * Makefile.am (hash.lo): Add dependency upon libiberty.h.
3166
        * Makefile.in: Regenerate.
3167
 
3168
2004-05-21  Mark Kettenis  
3169
 
3170
        * libaout.h (machine_type): Add M_88K_OPENBSD and M_HPPA_OPENBSD.
3171
        * netbsd-core.c (netbsd_core_file_p): Set architecture for alpha,
3172
        arm, m68k, m88k and hppa core files.
3173
 
3174
2004-05-21  Nick Clifton  
3175
 
3176
        * bfdio.c (bfd_bread): Do not use iovec if it is NULL.
3177
        (bfd_bwrite): Likewise.
3178
        (bfd_tell): Likewise.
3179
        (bfd_flush): Likewise.
3180
        (bfd_stat): Likewise.
3181
        (bfd_seek): Likewise.
3182
        (bfd_get_mtime): Likewise.
3183
        (bfd_get_size): Likewise.
3184
 
3185
2004-05-19  Ben Elliston  
3186
 
3187
        * dwarf2.c (_bfd_dwarf2_find_nearest_line): Comment correction.
3188
 
3189
2004-05-19  Mikulas Patocka  
3190
 
3191
        * archive.c (_bfd_get_elt_at_filepos): Cope with a nested archives.
3192
        (bfd_generic_openr_next_archived_file): Likewise.
3193
 
3194
2004-05-17  Bob Wilson  
3195
 
3196
        * elf32-xtensa.c (xtensa_get_property_section_name): Determine linkonce
3197
        section names by inserting a new substring after .gnu.linkonce, except
3198
        for .gnu.linkonce.t.* where the "t." is replaced.
3199
 
3200
2004-05-17  Adam Nemet  
3201
 
3202
        * config.bfd (sparc-*-lynxos* case): Add to obsolete list.
3203
        (m68-*-lynxos* case): Likewise.
3204
        (powerpc-*-lyxnos* case): New case.
3205
        (i[3-7]86-*-lynxos* case): Update to LynxOS 4.0 ELF.
3206
 
3207
2004-05-17  David Heine  
3208
 
3209
        * aout-target.h (MY_bfd_copy_private_header_data): Define.
3210
        * aout-tic30.c (MY_bfd_copy_private_header_data): Define.
3211
        * bfd.c (bfd_copy_private_header_data): Define.
3212
        * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Add entries for new
3213
        interface.
3214
        * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
3215
        * coffcode.h (coff_bfd_copy_private_header_data): Define.
3216
        * elf-bfd.h (_bfd_elf_copy_private_header_data): Declare.
3217
        * elf.c (_bfd_elf_copy_private_section_data): Remove code to set up
3218
        segments by calling copy_private_bfd_data.
3219
        (_bfd_elf_copy_private_header_data): Define.
3220
        * elfxx-target.h (bfd_elfNN_bfd_copy_private_header_data): Define.
3221
        * libbfd-in.h (_bfd_generic_bfd_copy_private_header_data): Define.
3222
        * libecoff.h (_bfd_ecoff_bfd_copy_private_header_data): Define.
3223
        * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Define.
3224
        * mmo.c (mmo_bfd_copy_private_header_data): Define.
3225
        * ppcboot.c (ppcboot_bfd_copy_private_header_data): Define.
3226
        * som.c (som_bfd_copy_private_header_data): Define.
3227
        * targets.c (BFD_JUMP_TABLE_COPY): Add _bfd_copy_private_header_data.
3228
        * vms.c (vms_bfd_copy_private_header_data): Define.
3229
        * bfd-in2.h: Regenerate.
3230
        * libbfd.h: Regenerate.
3231
 
3232
2004-05-15  Thiemo Seufer  
3233
 
3234
        * elfxx-mips.c (MINUS_TWO): Define.
3235
        (mips_elf_higher, mips_elf_highest,
3236
        mips_elf_create_dynamic_relocation): Use MINUS_ONE and MINUS_TWO for
3237
        some bfd_vma values.
3238
        (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Code cleanup.
3239
 
3240
2004-05-14  John David Anglin  
3241
 
3242
        * som.c (log2): Rename to exact_log2.  Adjust all callers.
3243
 
3244
2004-05-13  Paul Brook  
3245
 
3246
        * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle
3247
        dwarf3 format CIE entries.  Remove comment about the size of the
3248
        ra_column field.  It is now correctly deduced.
3249
 
3250
2004-05-13  Joel Sherrill 
3251
 
3252
        * config.bfd (or32-*-rtems*): Switch to elf.
3253
 
3254
2004-05-13  Nick Clifton  
3255
 
3256
        * po/fr.po: Updated French translation.
3257
 
3258
2004-05-11  Jakub Jelinek  
3259
 
3260
        * elflink.c (bfd_elf_final_link): Don't output STT_SECTION symbol
3261
        into .dynsym if elf_section_data (sec)->dynindx <= 0.
3262
        Adjust counting of last_local.
3263
        (_bfd_elf_link_renumber_dynsyms): Don't assign dynindx to sections
3264
        other than SHT_PROGBITS/SHT_NOBITS and neither for .got/.got.plt/.plt
3265
        created by the linker nor !SHF_ALLOC.
3266
 
3267
        * elf32-i386.c (elf_i386_finish_dynamic_sections): Point
3268
        DT_PLTGOT to the start of the .got.plt section instead of the
3269
        .got output section.  Set sh_entsize for .got section in addition
3270
        to .got.plt.
3271
        (elf_i386_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
3272
        is at sgot->output_section->vma.
3273
        * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Point
3274
        DT_PLTGOT to the start of the .got.plt section instead of the
3275
        .got output section.
3276
        (elf64_x86_64_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
3277
        is at sgot->output_section->vma.  Set sh_entsize for .got section
3278
        in addition to .got.plt.
3279
        * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_RELRO.
3280
        (bfd_section_from_phdr): Likewise.
3281
        (map_sections_to_segments): Likewise.
3282
        (assign_file_positions_for_segments): Likewise.
3283
        (get_program_header_size): Likewise.
3284
        * elflink.c (bfd_elf_size_dynamic_sections): Set
3285
        elf_tdata (output_bfd)->relro from info->relro.
3286
        * elf-bfd.h (struct elf_obj_tdata): Add relro field.
3287
 
3288
2004-05-08  Alexandre Oliva  
3289
 
3290
        * elf32-frv.c (_frvfdpic_add_dyn_reloc): Don't warn when we get
3291
        a zero symndx for which we hadn't accounted a dynamic relocation.
3292
        (_frvfdpic_add_rofixup): Likewise.
3293
 
3294
2004-05-07  Brian Ford  
3295
            DJ Delorie  
3296
 
3297
        * coffcode.h (coff_write_object_contents) [COFF_IMAGE_WITH_PE]:
3298
        Propagate IMAGE_FILE_LARGE_ADDRESS_AWARE.
3299
        * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Recognize
3300
        IMAGE_FILE_LARGE_ADDRESS_AWARE.  Use PE defines.
3301
 
3302
2004-05-07  Alexandre Oliva  
3303
 
3304
        * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Return
3305
        immediately if there's no link info.
3306
        (elf32_frvfdpic_copy_private_bfd_data): New.
3307
        (bfd_elf32_bfd_copy_private_bfd_data): Use it for frvfdpic.
3308
 
3309
2004-05-06  Zack Weinberg  
3310
 
3311
        * dwarf2.c (add_line_info): Also set info->filename to NULL if
3312
        filename argument is null; do not call strlen on a null pointer.
3313
 
3314
2004-05-06  Daniel Jacobowitz  
3315
 
3316
        * elf32-arm.h (elf32_arm_relocate_section): Remove R_ARM_PLT32
3317
        special case.
3318
 
3319
2004-05-05  Alexandre Oliva  
3320
 
3321
        * configure.in (bfd_elf32_frvfdpic_vec): New.
3322
        * configure: Rebuilt.
3323
        * targets.c (bfd_elf32_frvfdpic_vec): New.
3324
        * config.bfd: Enable it on frv-*-elf and frv-*-*linux*, as default
3325
        on the latter.
3326
        * elf32-frv.c: Prefix all identifiers added for FDPIC support with
3327
        frvfdpic instead of frv.  Rearrange elf-target macros such that
3328
        the FDPIC-specific ones are only defined for this new target
3329
        vector.
3330
        (bfd_elf32_frvfdpic_vec): Declare.
3331
        (IS_FDPIC): New.
3332
        (elf32_frv_relocate_section): Use it to enable segment checking
3333
        and to control rofixup emission.  Add output section vma to
3334
        applied relocation in non-LOAD non-ALLOC sections.  Use
3335
        _bfd_error_handler for errors.
3336
        (_frv_create_got_section): Create .rel.got and .rofixup only in
3337
        FDPIC.  Create non-dynamic _gp at .got+2048 in non-FDPIC, like the
3338
        linker script.
3339
        (elf32_frvfdpic_size_dynamic_sections): Assume FDPIC.
3340
        (elf32_frvfdpic_modify_segment_map): Likewise.
3341
        (elf32_frv_finish_dynamic_sections): New, do-nothing.
3342
        (elf32_frvfdpic_finish_dynamic_sections): Assume FDPIC.  Improve
3343
        error message if we miscompute the rofixup size.
3344
        (frvfdpic_elf_use_relative_eh_frame): Assume FDPIC.
3345
        (frvfdpic_elf_encode_eh_address): Likewise.
3346
        (elf32_frv_check_relocs): Reject FDPIC-only relocs in non-FDPIC.
3347
        Record relocs only in FDPIC.  Make sure _gp is defined for GPREL
3348
        relocs.  Reject unknown relocation types.
3349
        (elf32_frv_object_p): Make sure target vector matches FDPIC bits.
3350
        (frv_elf_merge_private_bfd_data): Likewise.
3351
        (ELF_MAXPAGESIZE): Revert to 0x1000 for elf32-frv; keep it as
3352
        0x4000 for newly-added elf32-frvfdpic.
3353
 
3354
2004-05-05  Nick Clifton  
3355
 
3356
        PR/136
3357
        * cache.c (bfd_cache_lookup_worker): Call abort() rather than
3358
        returning NULL as most users of this function do not check its
3359
        return value.
3360
        * hppabsd-core.c (hppabsd_core_core_file_p): Do not check result
3361
        of bfd_cache_lookup().
3362
        * sco5-core.c (sco5_core_file_p): Likewise.
3363
        * trad-core.c (trad_unix_core_file_p): Likewise.
3364
 
3365
2004-05-05  Nick Clifton  
3366
 
3367
        * cache.c (bfd_cache_lookup): Improve formatting.
3368
        * archive.c: Fix formatting.
3369
 
3370
2004-05-05  Peter Barada  
3371
 
3372
        * bfd_archures.c(bfd_architecture): Add 521x,5249,547x,548x.
3373
        * cpu-m68k.c(bfd_m68k_arch): Likewise.
3374
        * bfd-in2.h(bfd_architecture): Regenerate.
3375
 
3376
2004-05-03  Alan Modra  
3377
 
3378
        * elf.c (_bfd_elf_rela_local_sym): Set kept_section for excluded
3379
        SEC_MERGE sections.
3380
        * elflink.c (elf_link_input_bfd): Adjust output reloc index for
3381
        those against discarded link-once and SEC_MERGE section symbols.
3382
 
3383
2004-05-02  H.J. Lu  
3384
 
3385
        * section.c (bfd_get_section_by_name_if): New.
3386
        * bfd-in2.h: Regenerated.
3387
 
3388
2004-05-02  Alan Modra  
3389
 
3390
        * som.c (som_bfd_is_group_section): Define.
3391
 
3392
2004-05-01  Alan Modra  
3393
 
3394
        * section.c (bfd_make_section_anyway): Copy the whole
3395
        bfd_hash_entry, not just "next" from existing entry.
3396
 
3397
2004-04-30  H.J. Lu  
3398
 
3399
        * elf.c (bfd_section_from_shdr): Maintain the section order in
3400
        a section group.
3401
        (special_sections): Add ".note.GNU-stack".
3402
        (elf_fake_sections): Handle section group for relocatable
3403
        link..
3404
 
3405
2004-04-30  H.J. Lu  
3406
 
3407
        * section.c (bfd_sections_find_if): New.
3408
        * bfd-in2.h: Regenerated.
3409
 
3410
2004-04-30  Alan Modra  
3411
 
3412
        * section.c (bfd_make_section_anyway): Add all sections to hash tab.
3413
 
3414
        * elf-bfd.h (bfd_elf_is_group_section): Declare.
3415
        * elf.c (bfd_elf_is_group_section): New function.
3416
        * elfxx-target.h (bfd_elfNN_bfd_is_group_section
3417
        * section.c (bfd_generic_is_group_section): New function.
3418
        * targets.c (struct bfd_target): Add _bfd_is_group_section field.
3419
        (BFD_JUMP_TABLE_LINK): Adjust.
3420
        * aout-adobe.c (aout_32_bfd_is_group_section): Define.
3421
        * aout-target.h (MY_bfd_is_group_section): Define.
3422
        * aout-tic30.c (MY_bfd_is_group_section): Define.
3423
        * bfd.c (bfd_is_group_section): Define.
3424
        * binary.c (binary_bfd_is_group_section): Define.
3425
        * bout.c (b_out_bfd_is_group_section): Define.
3426
        * coff-alpha.c (_bfd_ecoff_bfd_is_group_section): Define.
3427
        * coff-mips.c (_bfd_ecoff_bfd_is_group_section): Define.
3428
        * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Adjust.
3429
        * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Adjust.
3430
        * coffcode.h (coff_bfd_is_group_section): Define.
3431
        * i386msdos.c (msdos_bfd_is_group_section): Define.
3432
        * i386os9k.c (os9k_bfd_is_group_section): Define.
3433
        * ieee.c (ieee_bfd_is_group_section): Define.
3434
        * ihex.c (ihex_bfd_is_group_section): Define.
3435
        * libbfd-in.h (_bfd_nolink_bfd_is_group_section): Define.
3436
        * mach-o.c (bfd_mach_o_bfd_is_group_section): Define.
3437
        * mmo.c (mmo_bfd_is_group_section): Define.
3438
        * nlm-target.h (nlm_bfd_is_group_section): Define.
3439
        * oasys.c (oasys_bfd_is_group_section): Define.
3440
        * pef.c (bfd_pef_bfd_is_group_section): Define.
3441
        * ppcboot.c (ppcboot_bfd_is_group_section): Define.
3442
        * srec.c (srec_bfd_is_group_section): Define.
3443
        * tekhex.c (tekhex_bfd_is_group_section): Define.
3444
        * versados.c (versados_bfd_is_group_section): Define.
3445
        * vms.c (vms_bfd_is_group_section): Define.
3446
        * xsym.c (bfd_sym_bfd_is_group_section): Define.
3447
        * bfd-in2.h: Regenerate.
3448
        * libbfd.h: Regenerate.
3449
 
3450
2004-04-30  Alan Modra  
3451
 
3452
        * elflink.c (elf_gc_mark): Follow indirect and warning syms.
3453
 
3454
2004-04-30  Hans-Peter Nilsson  
3455
 
3456
        * configure.in: Update version to 2.15.91.
3457
        * configure: Regenerate.
3458
 
3459
2004-04-29  Brian Ford  
3460
 
3461
        * bfd.c (bfd_get_sign_extend_vma): Add pe[i]-i386 case to DJGPP hack.
3462
        * coffcode.h (DOT_DEBUG, GNU_LINKONCE_WI): Define.
3463
        [!COFF_WITH_PE] (sec_to_styp_flags, styp_to_sec_flags): Use them.
3464
        (coff_compute_section_file_positions) [RS6000COFF_C]: Likewise.
3465
        [COFF_WITH_PE] (sec_to_styp_flags): Handle DWARF 2/3 .debug* and
3466
        .gnu.linkonce.wi. sections.
3467
        * pe-i386.c (COFF_SUPPORT_GNU_LINKONCE): Define.
3468
        (COFF_SECTION_ALIGNMENT_ENTRIES): Add entries for .debug and
3469
        .gnu.linkonce.wi..
3470
        * pei-i386.c (COFF_SUPPORT_GNU_LINKONCE): Likewise.
3471
        (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
3472
 
3473
2004-04-28  Chris Demetriou  
3474
 
3475
        * reloc.c: Remove BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
3476
        * bfd-in2.h: Regenerate.
3477
        * libbfd.h: Likewise.
3478
 
3479
2004-04-28  John David Anglin  
3480
 
3481
        * som.c (struct som_misc_symbol_info): Add is_comdat, is_common and
3482
        dup_common fields.
3483
        (setup_sections): Use som_subspace_dictionary_record struct instead
3484
        subspace_dictionary_record.  Set SEC_LINK_ONCE if subspace is
3485
        is_comdat, is_common or dup_common.
3486
        (som_prep_headers): Use som_subspace_dictionary_record struct.  Set
3487
        is_comdat, is_common and dup_common in section subspace_dict from
3488
        copy_data.
3489
        (som_begin_writing): Use som_subspace_dictionary_record struct.
3490
        (som_finish_writing): Likewise.
3491
        (som_bfd_derive_misc_symbol_info): Add support to set is_comdat,
3492
        is_common and dup_common flags in info for symbol.  Add comment
3493
        regarding linker support for these fields.  Slightly reorganize
3494
        function.
3495
        (som_build_and_write_symbol_table): Set is_comdat, is_common and
3496
        dup_common fields in symbol table from symbol info.
3497
        (bfd_som_set_subsection_attributes): Add comdat, common and dup_common
3498
        arguments.  Set corresponding fields in copy_data.  Change all callers.
3499
        (som_bfd_ar_write_symbol_stuff): Set dup_common flag in library
3500
        symbol table.
3501
        (som_vec): Add SEC_LINK_ONCE to applicable section flags.
3502
        * som.h (som_subspace_dictionary_record): Define.
3503
        (som_copyable_section_data_struct): Add is_comdat, is_common and
3504
        dup_common fields.
3505
        (som_section_data_struct): Use som_subspace_dictionary_record struct
3506
        instead of subspace_dictionary_record.
3507
        (bfd_boolean bfd_som_set_subsection_attributes): Adjust prototype.
3508
 
3509
2004-04-27  Bob Wilson  
3510
 
3511
        * elf32-xtensa.c (xtensa_read_table_entries): Use section _cooked_size
3512
        if set.  Check reloc_done flag before applying relocations.  Use
3513
        output addresses, both when applying relocations and when comparing
3514
        against the specified section.
3515
        (elf_xtensa_relocate_section): Use output address to check if dynamic
3516
        reloc is in a literal pool.  Set section's reloc_done flag.
3517
 
3518
2004-04-27  H.J. Lu  
3519
 
3520
        * elf32-sh64.c (elf_backend_section_flags): New. Defined.
3521
        (sh64_elf_set_mach_from_flags): Remove the kludge for .cranges
3522
        section.
3523
        (sh64_elf_section_flags): New. Set SEC_DEBUGGING for .cranges
3524
        section.
3525
 
3526
2004-04-27  Alan Modra  
3527
 
3528
        * elf64-alpha.c (elf64_alpha_read_ecoff_info): Don't assign
3529
        structure field removed in 2004-04-24 patch.
3530
        * elf64-sparc.c (sparc64_elf_plt_sym_val): Warning fix.
3531
 
3532
        * elf-bfd.h (struct elf_backend_data ):
3533
        Constify hdr arg.
3534
        * elf32-arm.h (elf32_arm_section_flags): Likewise.
3535
        * elf64-alpha.c (elf64_alpha_section_flags): Likewise.
3536
        * elfxx-ia64.c (elfNN_ia64_section_flags): Likewise.
3537
        * elf.c (_bfd_elf_make_section_from_shdr): Set the bfd_section
3538
        field before calling elf_backend_section_flags.
3539
 
3540
2004-04-24  Chris Demetriou  
3541
 
3542
        * elf32-mips.c (elf_mips_gnu_rel_hi16, elf_mips_gnu_rel_lo16)
3543
        (elf_mips_gnu_pcrel64, elf_mips_gnu_pcrel32): Remove.
3544
        (bfd_elf32_bfd_reloc_type_lookup): Remove cases for
3545
        BFD_RELOC_PCREL_HI16_S, BFD_RELOC_PCREL_LO16, BFD_RELOC_64_PCREL,
3546
        and BFD_RELOC_32_PCREL.
3547
        (mips_elf32_rtype_to_howto): Remove cases for R_MIPS_GNU_REL_HI16,
3548
        R_MIPS_GNU_REL_LO16, R_MIPS_PC64, R_MIPS_PC32.
3549
        * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
3550
        (_bfd_mips_elf_lo16_reloc): Remove handling for R_MIPS_GNU_REL_HI16.
3551
        (mips_elf_next_relocation): Move comment about matching HI/LO
3552
        relocations to...
3553
        (_bfd_mips_elf_relocate_section): Here.  Remove handling for
3554
        R_MIPS_GNU_REL_HI16.
3555
 
3556
2004-04-23  Chris Demetriou  
3557
 
3558
        * coff-mips.c (mips_relhi_reloc, mips_rello_reloc)
3559
        (mips_switch_reloc, mips_read_relocs, mips_relax_section)
3560
        (mips_relax_pcrel16, PCREL16_EXPANSION_ADJUSTMENT): Remove.
3561
        (mips_relocate_hi): Remove now-unused 'adjust' and 'pcrel' arguments,
3562
        and update comments to reflect current usage.
3563
        (mips_howto_table): Remove entries for MIPS_R_RELHI, MIPS_R_RELLO,
3564
        and MIPS_R_SWITCH, as well as several empty entries.  Update comment
3565
        for MIPS_R_PCREL16.
3566
        (mips_ecoff_swap_reloc_in, mips_ecoff_swap_reloc_out)
3567
        (mips_adjust_reloc_out, mips_bfd_reloc_type_lookup): Remove support
3568
        for MIPS_R_SWITCH, MIPS_R_RELLO, and MIPS_R_RELHI relocations.
3569
        (mips_adjust_reloc_in): Likewise, adjust maximum accepted relocation
3570
        type number to be MIPS_R_PCREL16.
3571
        (mips_relocate_section): Remove support for link-time relaxation
3572
        of branches used by embedded-PIC.  Remove support for MIPS_R_SWITCH,
3573
        MIPS_R_RELLO, and MIPS_R_RELHI relocations.
3574
        (_bfd_ecoff_bfd_relax_section): Redefine to bfd_generic_relax_section.
3575
        * ecoff.c (ecoff_indirect_link_order): Remove support for link-time
3576
        relaxation of branches used by embedded-PIC.
3577
        * ecofflink.c (bfd_ecoff_debug_accumulate): Likewise.
3578
        * libecoff.h (struct ecoff_section_tdata): Remove embedded-PIC
3579
        related members, update comment.
3580
        * pe-mips.c: Remove disabled (commented-out and #if 0'd)
3581
        code related to embedded-PIC.
3582
        * elfxx-mips.c (_bfd_mips_elf_read_ecoff_info): Remove
3583
        initialization of now-removed 'adjust' member of
3584
        'struct ecoff_debug_info'.
3585
 
3586
2004-04-23  Chris Demetriou  
3587
 
3588
        * elfxx-mips.c (mips_elf_get_global_gotsym_index): Remove.
3589
 
3590
2004-04-21  Philip Blundell  
3591
 
3592
        * elf32-arm.h (elf32_arm_check_relocs): Don't output REL32
3593
        relocs for locally defined symbols during -shared final link.
3594
        (elf32_arm_final_link_relocate): Likewise.
3595
 
3596
2004-04-22  Jakub Jelinek  
3597
 
3598
        * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Copy also
3599
        ELF_LINK_POINTER_EQUALITY_NEEDED.
3600
        (elf64_x86_64_check_relocs): Set ELF_LINK_POINTER_EQUALITY_NEEDED
3601
        if r_type is not R_X86_64_PC32.
3602
        (elf64_x86_64_finish_dynamic_symbol): If
3603
        ELF_LINK_POINTER_EQUALITY_NEEDED is not set, clear st_value of
3604
        SHN_UNDEF symbols.
3605
 
3606
2004-04-22  Kaz Kojima  
3607
 
3608
        * elf32-sh.c (sh_elf_plt_sym_val): New function.
3609
        (elf_backend_plt_sym_val): Define.
3610
 
3611
2004-04-22  Andrew Cagney  
3612
 
3613
        * opncls.c (bfd_alloc): Fix type of "wanted" in doco.
3614
 
3615
2004-04-22  John David Anglin  
3616
 
3617
        * hpux-core.c (hpux_core_core_file_p): Add cast in call to
3618
        make_bfd_asection.
3619
        * som.c (som_set_section_contents): Constantify second argument.
3620
        (hppa_som_gen_reloc_type): Abort for unsupported selectors.
3621
        (som_object_setup): Rework to avoid warning.
3622
        (setup_sections, som_write_fixups, bfd_section_from_som_symbol):
3623
        Likewise.
3624
 
3625
2004-04-22  Andrew Cagney  
3626
 
3627
        * cache.c (bfd_cache_close): Check for a previously closed file.
3628
 
3629
2004-04-22  Jakub Jelinek  
3630
 
3631
        * bfd.c (bfd_get_synthetic_symtab): Define.
3632
        * targets.c (BFD_JUMP_TABLE_DYNAMIC): Add
3633
        NAME##_get_synthetic_symtab.
3634
        (struct bfd_target): Add _bfd_get_synthetic_symtab.
3635
        * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Define.
3636
        * elf-bfd.h (struct elf_backend_data): Add plt_sym_val and
3637
        relplt_name fields.
3638
        (_bfd_elf_get_synthetic_symtab): New prototype.
3639
        * elfcode.h (elf_get_synthetic_symtab): Define.
3640
        * elf.c (_bfd_elf_get_synthetic_symtab): New function.
3641
        * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Define.
3642
        (elf_backend_plt_sym_val, elf_backend_relplt_name): Define.
3643
        (elfNN_bed): Add elf_backend_plt_sym_val and elf_backend_relplt_name.
3644
        * bfd-in2.h: Rebuilt.
3645
        * libbfd.h: Rebuilt.
3646
        * elf32-i386.c (elf_i386_plt_sym_val): New function.
3647
        (elf_backend_plt_sym_val): Define.
3648
        * elf64-x86-64.c (elf64_x86_64_plt_sym_val): New function.
3649
        (elf_backend_plt_sym_val): Define.
3650
        * elf32-s390.c (elf_s390_plt_sym_val): New function.
3651
        (elf_backend_plt_sym_val): Define.
3652
        * elf64-s390.c (elf_s390_plt_sym_val): New function.
3653
        (elf_backend_plt_sym_val): Define.
3654
        * elf32-sparc (elf32_sparc_plt_sym_val): New function.
3655
        (elf_backend_plt_sym_val): Define.
3656
        * elf64-sparc.c (sparc64_elf_plt_sym_val): New function.
3657
        (elf_backend_plt_sym_val): Define.
3658
        * elf32-ppc.c (ppc_elf_plt_sym_val): New function.
3659
        (elf_backend_plt_sym_val): Define.
3660
        * aout-target.h (MY_get_synthetic_symtab): Define.
3661
        * aout-tic30.c (MY_get_synthetic_symtab): Define.
3662
        * coff-rs6000.c (rs6000coff_vec): Add
3663
        _bfd_nodynamic_get_synthetic_symtab.
3664
        (pmac_xcoff_vec): Likewise.
3665
        * coff64-rs6000.c (rs6000coff64_vec): Add
3666
        _bfd_nodynamic_get_synthetic_symtab.
3667
        (aix5coff64_vec): Likewise.
3668
        * sunos.c (MY_get_synthetic_symtab): Define.
3669
        * vms.c (vms_get_synthetic_symtab): Define.
3670
 
3671
2004-04-22  Nick Clifton  
3672
 
3673
        * bfd.c (bfd_archive_filename): Return NULL on NULL input.
3674
 
3675
2004-04-22  Peter Barada 
3676
 
3677
        * archures.c: Add bfd_mach_mcfv4e to bfd_architecture.
3678
        * bfd2-in.h: Regenerate.
3679
        * cpu-m68k.c: Add 'm68k:mcfv4e' to arch_info_struct[].
3680
 
3681
2004-04-21  Chris Demetriou  
3682
 
3683
        * coff-mips.c (bfd_mips_ecoff_create_embedded_relocs): Remove.
3684
        * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Remove.
3685
        * bfd-in.h (bfd_mips_ecoff_create_embedded_relocs)
3686
        (bfd_mips_elf32_create_embedded_relocs): Remove prototypes
3687
        * bfd-in2.h: Regenerate.
3688
 
3689
2004-04-21  Bob Wilson  
3690
 
3691
        * elf32-xtensa.c (is_same_value): Add final_static_link argument and
3692
        require relocations against a weak symbol to reference the same
3693
        symbol hash entry if not a final, static link.
3694
        (get_cached_value, add_value_map): Add final_static_link argument.
3695
        (remove_literals): Pass final_static_link argument as needed.
3696
 
3697
2004-04-21  Andrew Cagney  
3698
 
3699
        * opncls.c (_bfd_new_bfd_contained_in): Copy "iovec".
3700
        (struct opncls, opncls_btell, opncls_bseek, opncls_bread)
3701
        (opncls_bwrite, opncls_bclose, opncls_bflush)
3702
        (opncls_bstat, opncls_iovec, bfd_openr_iovec): Implement a
3703
        bfd iovec that uses function callbacks.
3704
        (bfd_close): Use the iovec's bclose.
3705
        * cache.c (cache_btell, cache_bseek, cache_bread, cache_bwrite)
3706
        (cache_bclose, cache_bflush, cache_bstat)
3707
        (cache_iovec): New functions and global variable, implement a
3708
        cache "iovec", where applicable set bfd_error.
3709
        (bfd_cache_init, bfd_cache_close): Set/test the bfd's iovec.
3710
        * bfdio.c (struct bfd_iovec): Define.
3711
        (real_read): Delete function.
3712
        (bfd_bread, bfd_bread, bfd_bwrite, bfd_tell, bfd_flush, bfd_stat)
3713
        (bfd_seek, bfd_get_mtime, bfd_get_size): Use the bfd's "iovec",
3714
        assume that bread and bwrite set bfd_error.
3715
        * bfd.c (struct bfd): Add "iovec", update comments.
3716
        * bfd-in2.h, libbfd.h: Re-generate.
3717
 
3718
2004-04-21  Andrew Cagney  
3719
 
3720
        * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
3721
 
3722
2004-04-21  Eric Botcazou  
3723
 
3724
        * elflink.c (elf_gc_mark_dynamic_ref_symbol): New function.
3725
        (bfd_elf_gc_sections): Fail if a shared object is being created.
3726
        Do not fail if dynamic sections have been created.  Instead call
3727
        elf_gc_mark_dynamic_ref_symbol to mark sections that contain
3728
        dynamically referenced symbols.  Do not mark the whole graph
3729
        rooted at .eh_frame, only the section proper.
3730
 
3731
2004-04-20  DJ Delorie  
3732
 
3733
        * reloc.c: Add BFD_RELOC_32_SECREL.
3734
        * bfd-in2.h: Regenerate.
3735
        * libbfd.h: Likewise.
3736
        * coff-i386.c (howto_table) [COFF_WITH_PE]: Add R_SECREL32.
3737
        (coff_i386_rtype_to_howto) [COFF_WITH_PE]: Handle it.
3738
        (coff_i386_reloc_type_lookup) [COFF_WITH_PE]: Likewise.
3739
 
3740
2004-04-19  Jakub Jelinek  
3741
 
3742
        * elf32-sparc.c (elf32_sparc_relocate_section): Handle
3743
        relocs against hidden/protected undefweak symbols properly.
3744
        * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
3745
 
3746
2004-04-18  Mark Kettenis  
3747
 
3748
        * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
3749
        * netbsd-core.c (netbsd_core_file_p): Set architecture for PowerPC
3750
        core files.
3751
 
3752
2004-04-17  Brian Ford  
3753
 
3754
        * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the first non-zero
3755
        filepos for the SizeOfHeaders field.
3756
        (_bfd_XXi_swap_scnhdr_out): Correct section flags lossage on reloc
3757
        overflow.
3758
        (_bfd_XXi_swap_sym_in): Remove redundant section flags assignment.
3759
 
3760
2004-04-16  Alan Modra  
3761
 
3762
        * simple.c (bfd_simple_get_relocated_section_contents): Don't
3763
        change reloc_done.  Set and restore _cooked_size.
3764
        (RETURN): Delete.
3765
 
3766
2004-04-15  Mark Kettenis  
3767
 
3768
        * netbsd-core.c (netbsd_core_file_p): Set architecture for VAX
3769
        core files.
3770
 
3771
2004-04-15  Nick Clifton  
3772
 
3773
        * bfd.c (bfd_archive_filename): Catch NULL bfd pointers.
3774
 
3775
2004-04-15  Alan Modra  
3776
 
3777
        * elf64-sparc.c (sparc64_elf_check_relocs): Fix thinko last change.
3778
 
3779
2004-04-15  H.J. Lu  
3780
 
3781
        * elflink.c (_bfd_elf_merge_symbol): Treat weak as strong only
3782
        when it is a definition.
3783
 
3784
2004-04-14  Alan Modra  
3785
 
3786
        * elf32-sparc.c (elf32_sparc_relocate_section): Don't abort
3787
        when statically linking PIC code.
3788
        * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
3789
 
3790
2004-04-11  Thiemo Seufer  
3791
 
3792
        * config.bfd: Remove mips*-*-mach3* and mips*-dec-mach3* targets.
3793
        * configure.in: Remove mips-dec-bsd*, mips-dec-mach3*, mips-*-mach3*
3794
        targets amd aout_mips_big_vec, aout_mips_little_vec target vectors.
3795
        * configure: Regenerate.
3796
 
3797
2004-04-08  Richard Sandiford  
3798
 
3799
        * elflink.c: Include libiberty.h.
3800
        * Makefile.am (elflink.lo): Depend on libiberty.h.
3801
        * Makefile.in: Regenerate.
3802
 
3803
2004-04-06  Daniel Jacobowitz  
3804
 
3805
        * elfxx-mips.c (MIPS_ELF_STUB_SECTION_NAME): Always use
3806
        ".MIPS.stubs".
3807
 
3808
2004-04-05  H.J. Lu  
3809
 
3810
        * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Always
3811
        reserve the memory for dynamic linker
3812
 
3813
2004-04-05  Mark Kettenis  
3814
 
3815
        * netbsd-core.c (CORE_WCOOKIE_OFFSET): New define.
3816
        (netbsd_core_file_p): Create a .wcookie section for OpenBSD/sparc.
3817
 
3818
2004-04-02  H.J. Lu  
3819
 
3820
        * elf32-cr16c.c (elf32_cr16c_relocate_section): Use
3821
        RELOC_FOR_GLOBAL_SYMBOL.
3822
        (elf32_cr16c_add_symbol_hook): Remove const from Elf_Internal_Sym.
3823
 
3824
2004-04-02  H.J. Lu  
3825
 
3826
        * elf32-arm.h (elf32_arm_final_link_relocate): Handle
3827
        R_ARM_ALU* only if OLD_ARM_ABI is not defined.
3828
 
3829
2004-04-01  Paul Brook  
3830
 
3831
        * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update.
3832
        * elf32-arm.h (struct elf32_elf_section_map): New.
3833
        (struct _arm_elf_section_data): New.
3834
        (elf32_arm_section_data): Define.
3835
        (struct elf32_arm_link_hash_table): Add byteswap_code.
3836
        (elf32_arm_link_hash_table_create): Initialize byteswap_code.
3837
        (bfd_elf32_arm_process_before_allocation): Add byteswap_code.
3838
        (elf32_arm_post_process_headers): Set EF_ARM_BE8.
3839
        (elf32_arm_output_symbol_hook, elf32_arm_new_section_hook,
3840
        elf32_arm_compare_mapping, elf32_arm_write_section): New functions.
3841
        (bfd_elf32_new_section_hook, elf_backend_write_section,
3842
        elf_backend_link_output_symbol_hook): Define.
3843
 
3844
2004-04-01  Andy Chittenden  
3845
 
3846
        * stabs.c (struct stab_link_includes_totals): Add field 'symb'
3847
        that keeps the characters in a B_INCL..B_EINCL range.
3848
        (_bfd_link_section_stabs): When computing the sum of the
3849
        characters in a B_INCL..B_EINCL range also keep a copy of those
3850
        characters.  Use this information to distinguish between
3851
        include sections that have the same sum and the same length
3852
        but which are nevertheless unique.
3853
 
3854
2004-03-31  Paul Brook  
3855
 
3856
        * elf32-arm.h (elf32_arm_final_link_relocate): Add R_ARM_ALU*.
3857
        * elfarm-nabi.c (elf32_arm_howto_table): Ditto.
3858
 
3859
2004-03-31  Andy Chittenden 
3860
 
3861
        * stabs.c (struct stab_link_includes_totals): Rename field 'total'
3862
        to 'sum_chars' and add field 'num_chars'.
3863
        (_bfd_link_section_stabs): When computing the sum of the
3864
        characters in a B_INCL..B_EINCL range also keep a count of the
3865
        number of characters.  Use this information to help distinguish
3866
        between include sections when have the same sum but which
3867
        nevertheless are still unique.
3868
 
3869
2004-03-31  Mattias Engdegård  
3870
 
3871
        * stabs.c (_bfd_link_section_stabs): Do not skip N_EXCL stabs.
3872
 
3873
2004-03-30  Galit Heller  
3874
            Tomer Levi    
3875
 
3876
        * Makefile.am (ALL_MACHINES): Add cpu-cr16c.lo.
3877
        (ALL_MACHINES_CFILES): Add cpu-cr16c.c.
3878
        (BFD32_BACKENDS): Add elf32-cr16c.lo.
3879
        (BFD32_BACKENDS_CFILES): Add elf32-cr16c.c.
3880
        (cpu-cr16c.lo): New target.
3881
        (elf32-cr16c.lo): Likewise.
3882
        * Makefile.in: Regenerate.
3883
        * archures.c (bfd_architecture): Add bfd_{arch,mach}_cr16c.
3884
        (bfd_archures_list): Add bfd_cr16c_arch.
3885
        * config.bfd: Handle cr16c-*-elf*.
3886
        * configure.in: Handle bfd_elf32_cr16c_vec.
3887
        * configure: Regenerate.
3888
        * reloc.c: Add BFD_RELOC_16C_NUM08, BFD_RELOC_16C_NUM08_C,
3889
        BFD_RELOC_16C_NUM16, BFD_RELOC_16C_NUM16_C,
3890
        BFD_RELOC_16C_NUM32, BFD_RELOC_16C_NUM32_C,
3891
        BFD_RELOC_16C_DISP04, BFD_RELOC_16C_DISP04_C,
3892
        BFD_RELOC_16C_DISP08, BFD_RELOC_16C_DISP08_C,
3893
        BFD_RELOC_16C_DISP16, BFD_RELOC_16C_DISP16_C,
3894
        BFD_RELOC_16C_DISP24, BFD_RELOC_16C_DISP24_C,
3895
        BFD_RELOC_16C_DISP24a, BFD_RELOC_16C_DISP24a_C,
3896
        BFD_RELOC_16C_REG04, BFD_RELOC_16C_REG04_C,
3897
        BFD_RELOC_16C_REG04a, BFD_RELOC_16C_REG04a_C,
3898
        BFD_RELOC_16C_REG14, BFD_RELOC_16C_REG14_C,
3899
        BFD_RELOC_16C_REG16, BFD_RELOC_16C_REG16_C,
3900
        BFD_RELOC_16C_REG20, BFD_RELOC_16C_REG20_C,
3901
        BFD_RELOC_16C_ABS20, BFD_RELOC_16C_ABS20_C,
3902
        BFD_RELOC_16C_ABS24, BFD_RELOC_16C_ABS24_C,
3903
        BFD_RELOC_16C_IMM04, BFD_RELOC_16C_IMM04_C,
3904
        BFD_RELOC_16C_IMM16, BFD_RELOC_16C_IMM16_C,
3905
        BFD_RELOC_16C_IMM20, BFD_RELOC_16C_IMM20_C,
3906
        BFD_RELOC_16C_IMM24, BFD_RELOC_16C_IMM24_C,
3907
        BFD_RELOC_16C_IMM32, BFD_RELOC_16C_IMM32_C.
3908
        * targets.c (bfd_elf32_cr16c_vec): Declare.
3909
        (bfd_target_vector): Add bfd_elf32_cr16c_vec.
3910
        * cpu-cr16c.c: New file.
3911
        * elf32-cr16c.c: Likewise.
3912
        * libbfd.h: Regenerate.
3913
        * bfd-in2.h: Likewise.
3914
 
3915
2004-03-30  Jakub Jelinek  
3916
 
3917
        * elf.c (map_sections_to_segments): Fix handling of .tbss.
3918
 
3919
2004-03-27  Alan Modra  
3920
 
3921
        * Makefile.am: Remove all mention of elflink.h.
3922
        * Makefile.in: Regenerate.
3923
        * bfd-in.h (bfd_elf_discard_info): Declare.
3924
        (bfd_elf32_discard_info, bfd_elf64_discard_info): Delete.
3925
        * bfd-in2.h: Regenerate.
3926
        * elf-bfd.h (bfd_elf32_print_symbol, bfd_elf64_print_symbol,
3927
        bfd_elf32_link_record_dynamic_symbol,
3928
        bfd_elf64_link_record_dynamic_symbol,
3929
        _bfd_elf_link_record_dynamic_symbol, bfd_elf32_bfd_final_link,
3930
        bfd_elf64_bfd_final_link, elf_link_record_local_dynamic_symbol,
3931
        _bfd_elf32_link_record_local_dynamic_symbol,
3932
        _bfd_elf64_link_record_local_dynamic_symbol,
3933
        _bfd_elf32_gc_sections, _bfd_elf32_gc_common_finalize_got_offsets,
3934
        _bfd_elf32_gc_common_final_link, _bfd_elf64_gc_common_final_link,
3935
        _bfd_elf32_gc_record_vtinherit, _bfd_elf32_gc_record_vtentry,
3936
        _bfd_elf64_gc_sections, _bfd_elf64_gc_common_finalize_got_offsets,
3937
        _bfd_elf64_gc_record_vtinherit, _bfd_elf64_gc_record_vtentry,
3938
        _bfd_elf32_reloc_symbol_deleted_p,
3939
        _bfd_elf64_reloc_symbol_deleted_p): Delete.
3940
        (bfd_elf_link_record_dynamic_symbol,
3941
        bfd_elf_link_record_local_dynamic_symbol,
3942
        bfd_elf_final_link, bfd_elf_gc_sections,
3943
        bfd_elf_gc_record_vtinherit, bfd_elf_gc_record_vtentry,
3944
        bfd_elf_gc_common_finalize_got_offsets, bfd_elf_gc_common_final_link,
3945
        bfd_elf_reloc_symbol_deleted_p): Declare.
3946
        (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
3947
        * elf32-arm.h: Update for changed function names.  Remove local
3948
        WILL_CALL_FINISH_DYNAMIC_SECTION define.
3949
        * elf-hppa.h, elf-m10300.c, elf32-cris.c, elf32-d10v.c, elf32-dlx.c,
3950
        * elf32-fr30.c, elf32-frv.c, elf32-h8300.c, elf32-hppa.c, elf32-i386.c,
3951
        * elf32-iq2000.c, elf32-m32r.c, elf32-m68hc1x.c, elf32-m68k.c,
3952
        * elf32-mcore.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
3953
        * elf32-sh.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
3954
        * elf32-xstormy16.c, elf32-xtensa.c, elf64-alpha.c, elf64-hppa.c,
3955
        * elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c, elf64-sparc.c,
3956
        * elf64-x86-64.c, elfxx-ia64.c, elfxx-mips.c, elfxx-target.h: Likewise.
3957
        * elfxx-target.h (bfd_elfNN_bfd_final_link): Define.
3958
        (bfd_elfNN_print_symbol): Define.
3959
        * elfcode.h: Don't include elflink.h.
3960
        (elf_bfd_discard_info, elf_reloc_symbol_deleted_p,
3961
        elf_link_record_dynamic_symbol, elf_bfd_final_link, elf_gc_sections,
3962
        elf_gc_common_finalize_got_offsets, elf_gc_common_final_link,
3963
        elf_gc_record_vtinherit, elf_gc_record_vtentry,
3964
        elf_link_record_local_dynamic_symbol): Don't define.
3965
        * elflink.c: Update for changed function names.  Move elflink.h
3966
        code here.
3967
        * elflink.h: Delete file.
3968
        * po/SRC-POTFILES.in: Regenerate.
3969
        * po/bfd.pot: Regenerate.
3970
 
3971
2004-03-27  Alan Modra  
3972
 
3973
        * elf64-mmix.c (mmix_elf_relocate_section): Restore code setting
3974
        "name" for global syms accidentally removed in 2004-03-20 change.
3975
 
3976
2004-03-27  Alan Modra  
3977
 
3978
        * elf-bfd.h (struct elf_reloc_cookie): Add r_sym_shift field.
3979
        * elflink.h: Replace all occurrences of sizeof (Elf_External_*)
3980
        where Elf_External_* is different for 64 and 32 bit, with
3981
        corresponding elf_size_info field.
3982
        (struct elf_final_link_info): Use "bfd_byte *" instead
3983
        of "Elf_External_Sym *" for external_syms and symbuf.
3984
        (elf_link_adjust_relocs): Set up r_type_mask and r_sym_shift local
3985
        vars and use instead of ELF_R_INFO and ELF_R_TYPE macros.
3986
        (struct elf_link_sort_rela): Add "sym_mask" alias for "offset".
3987
        (elf_link_sort_cmp1): Use sym_mask field instead of ELF_R_SYM.
3988
        (elf_link_sort_cmp2): Adjust.
3989
        (elf_link_sort_relocs): Set up r_sym_mask local var instead of
3990
        using ELF_R_SYM macro.  Set u.sym_mask.
3991
        (elf_bfd_final_link): Call _bfd_elf_stringtab_init instead of macro
3992
        version, elf_stringtab_init.  Ditto for bfd_section_from_elf_index
3993
        vs. section_from_elf_index.  Adjust Elf_External_Sym pointer
3994
        arithmetic.  Pass bed to elf_link_flush_output_syms.  Adjust
3995
        Elf_External_Dyn pointer arithmentic.  Use bed swap_dyn_in and
3996
        swap_syn_out functions.  Rearrange dyn swap in/out switch.
3997
        (elf_link_output_sym): Adjust Elf_External_Sym pointer arithmentic.
3998
        Pass bed to elf_link_flush_output_syms.  Use bed swap_symbol_out.
3999
        (elf_link_flush_output_syms): Add elf_backend_data arg.
4000
        (elf_link_check_versioned_symbol): Likewise.
4001
        (elf_link_output_extsym): Pass bed to elf_link_check_versioned_symbol.
4002
        Adjust Elf_External_Sym pointer arithmetic.  Use bed swap_symbol_out.
4003
        (elf_link_input_bfd): Use bfd_section_from_elf_index.  Set up
4004
        r_type_mask and r_sym_shift local vars and use instead of ELF_R_SYM,
4005
        ELF_R_TYPE and ELF_R_INFO macros.
4006
        (elf_reloc_link_order): Select ELF32_R_INFO or ELF64_R_INFO invocation
4007
        based on size rather than using ELF_R_INFO.
4008
        (elf_gc_mark): Set up r_sym_shift local var and use instead of
4009
        ELF_R_SYM macro.
4010
        (struct alloc_got_off_arg): New.
4011
        (elf_gc_common_finalize_got_offsets): Use elf_size_info instead of
4012
        ARCH_SIZE.  Pass get entry size down to elf_gc_allocate_got_offsets.
4013
        (elf_gc_allocate_got_offsets): Adjust.
4014
        (elf_reloc_symbol_deleted_p): Usee cookie.r_sym_shift instead of
4015
        ELF_R_SYM.  Use bfd_section_from_elf_index.
4016
        (elf_bfd_discard_info): Set cookie.r_sym_shift.
4017
        * elfcode.h (elf_stringtab_init, section_from_elf_index): Delete.
4018
        (elf_slurp_symbol_table): Use bfd_section_from_elf_index.
4019
 
4020
2004-03-26  Stan Shebs  
4021
 
4022
        Remove MPW support, no longer used.
4023
        * config.bfd (powerpc-*-mpw*): Remove configuration.
4024
        * mpw-config.in, mpw-make.sed: Remove files.
4025
        * ecoffswap.h [MPW_C]: Remove MPW-C-friendly version of code.
4026
 
4027
2004-03-26  Alan Modra  
4028
 
4029
        * elf64-ppc.c (elf_backend_add_symbol_hook): Define.
4030
        (ppc64_elf_add_symbol_hook): New function.
4031
        * elf-bfd.h (struct elf_backend_data ): Remove
4032
        const from Elf_Internal_Sym param.
4033
        * elflink.c (elf_link_add_object_symbols): Adjust.
4034
        * elf-hppa.h (elf_hppa_add_symbol_hook): Adjust.
4035
        * elf32-frv.c (elf32_frv_add_symbol_hook): Adjust.
4036
        * elf32-i370.c (elf_backend_add_symbol_hook): Adjust.
4037
        * elf32-m32r.c (m32r_elf_add_symbol_hook): Adjust.
4038
        * elf32-m68hc1x.c (elf32_m68hc11_add_symbol_hook): Adjust.
4039
        * elf32-m68hc1x.h (elf32_m68hc11_add_symbol_hook): Adjust.
4040
        * elf32-ppc.c (ppc_elf_add_symbol_hook): Adjust.
4041
        * elf32-sh64.c (sh64_elf_add_symbol_hook): Adjust.
4042
        * elf32-v850.c (v850_elf_add_symbol_hook): Adjust.
4043
        * elf64-alpha.c (elf64_alpha_add_symbol_hook): Adjust.
4044
        * elf64-mmix.c (mmix_elf_add_symbol_hook): Adjust.
4045
        * elf64-sh64.c (sh64_elf64_add_symbol_hook): Adjust.
4046
        * elf64-sparc.c (sparc64_elf_add_symbol_hook): Adjust.
4047
        * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Adjust.
4048
        * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Adjust.
4049
        * elfxx-mips.h (_bfd_mips_elf_add_symbol_hook): Adjust.
4050
 
4051
2004-03-26  Alan Modra  
4052
 
4053
        * elfxx-target.h (bfd_elfNN_bfd_link_add_symbols): Define.
4054
        * elf-bfd.h (_bfd_elf_link_add_archive_symbols): Delete.
4055
        (_bfd_elf_sort_symbol, _bfd_elf_add_dt_needed_tag): Delete.
4056
        (_bfd_elf_finalize_dynstr, bfd_elf32_bfd_link_add_symbols): Delete.
4057
        (bfd_elf64_bfd_link_add_symbols): Delete.
4058
        (bfd_elf_link_add_symbols): Declare.
4059
        * elfcode.h (elf_bfd_link_add_symbols): Delete.
4060
        * elflink.c: Include safe-ctype.h.
4061
        (elf_add_dt_needed_tag): Rename from _bfd_elf_add_dt_needed_tag,
4062
        make static.
4063
        (elf_sort_symbol): Rename from _bfd_elf_sort_symbol, make static.
4064
        (elf_finalize_dynstr): Rename from _bfd_elf_finalize_dynstr, make
4065
        static.
4066
        (elf_link_add_archive_symbols): Rename from
4067
        _bfd_elf_link_add_archive_symbols, make static.
4068
        (elf_link_add_object_symbols): New function.  Corresponding
4069
        elflink.h function converted to use elf_size_info.
4070
        (bfd_elf_link_add_symbols): Likewise.
4071
        (bfd_elf_size_dynamic_sections): Adjust.
4072
        * elflink.h (elf_bfd_link_add_symbols): Delete.
4073
        (elf_link_add_object_symbols): Delete.
4074
        * elf32-gen.c (elf32_generic_link_add_symbols): Call
4075
        bfd_elf_link_add_symbols.
4076
        * elf64-gen.c (elf64_generic_link_add_symbols): Likewise.
4077
 
4078
2004-03-25  Alan Modra  
4079
 
4080
        * elflink.h (elf_link_add_object_symbols): Add DT_NEEDED for as-needed
4081
        and chained shared libs only if dynsym.  Clear dynsym on forced-local.
4082
 
4083
        * elf-bfd.h (_bfd_elf_add_dynamic_entry): Declare.
4084
        (bfd_elf32_add_dynamic_entry, bfd_elf64_add_dynamic_entry): Delete.
4085
        (_bfd_elf_add_dt_needed_tag): Declare.
4086
        (_bfd_elf_sort_symbol): Declare.
4087
        (_bfd_elf_finalize_dynstr): Declare.
4088
        (RELOC_FOR_GLOBAL_SYM): Formatting.
4089
        * elfcode.h (elf_add_dynamic_entry): Delete.
4090
        * elflink.c (_bfd_elf_add_dynamic_entry): New function.  Corresponding
4091
        elflink.h function converted to use elf_size_info.
4092
        (_bfd_elf_add_dt_needed_tag): Likewise.
4093
        (_bfd_elf_sort_symbol): Likewise.
4094
        (_bfd_elf_finalize_dynstr): Likewise.
4095
        (compute_bucket_count): Likewise.
4096
        (bfd_elf_size_dynamic_sections): Likewise.  Check result of
4097
        _bfd_elf_strtab_add before calling _bfd_elf_strtab_addref.
4098
        (elf_adjust_dynstr_offsets, elf_collect_hash_codes): Moved from..
4099
        * elflink.h: ..here.
4100
        (sort_symbol, add_dt_needed_tag): Delete.
4101
        (elf_add_dynamic_entry, elf_finalize_dynstr): Delete.
4102
        (compute_bucket_count, NAME(bfd_elf,size_dynamic_sections)): Delete.
4103
        Update all users.
4104
        * elf32-arm.h (add_dynamic_entry): Update.  Remove casts.
4105
        * elf32-cris.c (add_dynamic_entry): Likewise.
4106
        * elf32-hppa.c (add_dynamic_entry): Likewise.
4107
        * elf32-i370.c (add_dynamic_entry): Likewise.
4108
        * elf32-i386.c (add_dynamic_entry): Likewise.
4109
        * elf32-m32r.c (add_dynamic_entry): Likewise.
4110
        * elf32-m68k.c (add_dynamic_entry): Likewise.
4111
        * elf32-ppc.c (add_dynamic_entry): Likewise.
4112
        * elf32-s390.c (add_dynamic_entry): Likewise.
4113
        * elf32-sh.c (add_dynamic_entry): Likewise.
4114
        * elf32-sparc.c (add_dynamic_entry): Likewise.
4115
        * elf32-vax.c (add_dynamic_entry): Likewise.
4116
        * elf32-xtensa.c (add_dynamic_entry): Likewise.
4117
        * elf64-alpha.c (add_dynamic_entry): Likewise.
4118
        * elf64-hppa.c (add_dynamic_entry): Likewise.
4119
        * elf64-ppc.c (add_dynamic_entry): Likewise.
4120
        * elf64-s390.c (add_dynamic_entry): Likewise.
4121
        * elf64-sparc.c (add_dynamic_entry): Likewise.
4122
        * elf64-x86-64.c (add_dynamic_entry): Likewise.
4123
        * elfxx-ia64.c (add_dynamic_entry): Likewise.
4124
        * elfxx-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise.
4125
        * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
4126
        * elf32-frv.c (elf32_frv_size_dynamic_sections): Likewise.
4127
        * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
4128
 
4129
2004-03-23  Paul Brook  
4130
 
4131
        * elf32-arm.h (arm_print_private_bfd_data): Add EABI v3.
4132
 
4133
2004-03-22  Bob Wilson  
4134
 
4135
        * elf32-xtensa.c (elf_xtensa_check_relocs): Remove code to read
4136
        literal tables and check for relocs outside of literal pools.
4137
        (elf_xtensa_make_sym_local): Don't clear ELF_LINK_NON_GOT_REF flag.
4138
        (elf_xtensa_fix_refcounts): Don't check ELF_LINK_NON_GOT_REF or
4139
        set DF_TEXTREL.
4140
        (elf_xtensa_size_dynamic_sections): Don't add DT_TEXTREL entry.
4141
        (elf_xtensa_relocate_section): Read literal tables and check for
4142
        dynamic relocations in read-only sections and not in literal pools.
4143
 
4144
2004-03-23  Alan Modra  
4145
 
4146
        PR 51.
4147
        * linker.c (bfd_wrapped_link_hash_lookup): Handle info->wrap_char.
4148
 
4149
2004-03-22  Hans-Peter Nilsson  
4150
 
4151
        * elf32-cris.c (cris_elf_relocate_section) 
4152
        R_CRIS_16_GOTPLT>: Also error if there's no PLT for a symbol
4153
        not defined by the executable, or defined in a DSO.
4154
        : Initialize GOT entry for a
4155
        function symbol or ELF_LINK_HASH_NEEDS_PLT statically in an
4156
        executable.
4157
        (cris_elf_gc_sweep_hook): Improve fallthrough marking.
4158
        (elf_cris_try_fold_plt_to_got): Improve head comment.  Do not fold
4159
        a PLT reloc to GOT for an executable.
4160
        (elf_cris_adjust_dynamic_symbol): Only fold a .got.plt entry with
4161
        .got for a DSO and explain why.
4162
        (elf_cris_discard_excess_program_dynamics): Also lose GOT-relocs
4163
        and unreferenced symbols for which a PLT is defined.  Adjust
4164
        dynamic-symbol pruning correspondingly, to make sure we don't lose
4165
        a dynamic symbol also defined by a DSO.
4166
 
4167
2004-03-22  Alan Modra  
4168
 
4169
        * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add input_bfd, input_section
4170
        and rel args.  Group input and output args.  Wrap to 80 columns.
4171
        * elf-m10200.c, elf-m10300.c, elf32-arm.h, elf32-avr.c,
4172
        elf32-cris.c, elf32-d10v.c, elf32-fr30.c, elf32-h8300.c,
4173
        elf32-hppa.c, elf32-i386.c, elf32-i860.c, elf32-ip2k.c,
4174
        elf32-iq2000.c, elf32-m68hc1x.c, elf32-m68k.c, elf32-mcore.c,
4175
        elf32-msp430.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
4176
        elf32-sparc.c, elf32-v850.c, elf32-vax.c, elf32-xstormy16.c,
4177
        elf32-xtensa.c, elf64-alpha.c, elf64-mmix.c, elf64-ppc.c,
4178
        elf64-s390.c, elf64-sparc.c, elf64-x86-64.c, elfxx-ia64.c: Update
4179
        RELOC_FOR_GLOBAL_SYMBOL invocation.
4180
 
4181
2004-03-20  H.J. Lu  
4182
 
4183
        * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Report error if
4184
        unresolved symbols in objects aren't allowed.
4185
 
4186
        * elf-hppa.h (elf_hppa_relocate_section): Properly handle
4187
        unresolved symbols.
4188
        (elf_hppa_remark_useless_dynamic_symbols): Likewise.
4189
        (elf_hppa_unmark_useless_dynamic_symbols):
4190
        * elf32-frv.c (elf32_frv_relocate_section): Likewise.
4191
        * elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
4192
        (elf32_hppa_relocate_section): Likewise.
4193
        * elf32-i370.c (i370_elf_relocate_section): Likewise.
4194
        * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
4195
        * elf32-sh.c (sh_elf_relocate_section): Likewise.
4196
        * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
4197
        * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
4198
 
4199
        * elf-m10200.c (mn10200_elf_relocate_section): Use
4200
        RELOC_FOR_GLOBAL_SYMBOL.
4201
        * elf32-avr.c (elf32_avr_relocate_section): Likewise.
4202
        * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
4203
        * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
4204
        * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
4205
        * elf32-i860.c (elf32_i860_relocate_section): Likewise.
4206
        * elf32-m68hc1x.c (m68hc11_get_relocation_value): Likewise.
4207
        * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
4208
        * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
4209
        * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
4210
        * elf32-v850.c (v850_elf_relocate_section): Likewise.
4211
        * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
4212
        * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
4213
 
4214
2004-03-19  John David Anglin  
4215
 
4216
        * elf32-hppa.c (elf32_hppa_check_relocs): Handle R_PARISC_PCREL32.
4217
        (final_link_relocate): Likewise.
4218
        * elf-hppa.h (elf_hppa_reloc_final_type): Handle selectors for
4219
        R_PARISC_PCREL32 and R_PARISC_PCREL64 relocations.
4220
 
4221
2004-03-19  Alan Modra  
4222
 
4223
        * Makefile.am: Run "make dep-am".
4224
        * Makefile.in: Regenerate.
4225
        * aclocal.m4: Regenerate.
4226
        * config.in: Regenerate.
4227
        * po/bfd.pot: Regenerate.
4228
 
4229
2004-03-19  Alan Modra  
4230
            H.J. Lu  
4231
 
4232
        * elflink.c (_bfd_elf_merge_symbol): Revert last change.  Move
4233
        type and size change code to where it was previously.  Remove
4234
        dt_needed param.  Treat old weak syms as strong if new sym is
4235
        from a shared lib, even when old sym is from another shared
4236
        lib.  Remove unnecessary tests of oldweak and newweak.  Correct
4237
        comments.
4238
        (_bfd_elf_add_default_symbol): Remove dt_needed param.  Update
4239
        _bfd_elf_merge_symbol calls.
4240
        * elflink.h (elf_link_add_object_symbols): Update calls.  Remove
4241
        dt_needed local var.  Update comments.
4242
        * elf-bfd.h (_bfd_elf_merge_symbol): Update prototype.
4243
        (_bfd_elf_add_default_symbol): Likewise.
4244
 
4245
        * elflink.c (_bfd_elf_merge_symbol): Reinstate code to handle
4246
        strong syms in one shared object overriding weak syms in another.
4247
 
4248
2004-03-18  Alan Modra  
4249
 
4250
        * elf-bfd.h (struct elf_obj_tdata): Delete dt_soname field.  Add
4251
        dyn_lib_class field.  Rearrange for better packing.
4252
        (elf_dt_soname): Delete.
4253
        (elf_dyn_lib_class): Define.
4254
        * elf.c (bfd_elf_set_dt_needed_name): Update comment.
4255
        (bfd_elf_set_dt_needed_soname): Delete.
4256
        (bfd_elf_set_dyn_lib_class): New function.
4257
        * elflink.h (add_dt_needed_tag): New function.  Split out from..
4258
        (elf_link_add_object_symbols): ..here.  Rename "name" to "soname".
4259
        Use elf_dyn_lib_class to set dt_needed and add_needed.  Move fallback
4260
        initialization of soname.
4261
        (elf_link_check_versioned_symbol): Test elf_dyn_lib_class instead of
4262
        elf_dt_soname.
4263
        * bfd-in.h (enum dynamic_lib_link_class): New.
4264
        (bfd_elf_set_dt_needed_soname): Delete.
4265
        (bfd_elf_set_dyn_lib_class): Declare.
4266
        * bfd-in2.h: Regenerate.
4267
 
4268
        * elflink.c (_bfd_elf_merge_symbol): Rewrite weak symbol handling.
4269
        (_bfd_elf_add_default_symbol): Remove indirect BFD_ASSERTs.
4270
        * elflink.h (elf_link_add_object_symbols): Don't clear dt_needed in
4271
        symbol loop.  Instead use add_needed to flag tag as written.
4272
 
4273
2004-03-17  Nathan Sidwell  
4274
 
4275
        * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
4276
        logic for null_input_bfd detection.
4277
 
4278
2004-03-17  Ralf Corsepius 
4279
 
4280
        * config.bfd: Switch sh-*-rtems* to ELF.  Add sh-*-rtemscoff*.
4281
 
4282
2004-03-16  Mark Kettenis  
4283
 
4284
        * netbsd-core.c (netbsd_core_file_p) [CORE_FPU_OFFSET]: Remove
4285
        code.
4286
 
4287
2004-03-16  Alan Modra  
4288
 
4289
        * elflink.c (elf_link_read_relocs_from_section): Don't use
4290
        NUM_SHDR_ENTRIES in end of reloc calc.  Move NULL shdr check..
4291
        (_bfd_elf_link_read_relocs): ..to here.
4292
        * elf32-ppc.c (ppc_elf_relax_section): Formatting.
4293
 
4294
2004-03-16  Alan Modra  
4295
 
4296
        * configure.in (HOST_64BIT_TYPE, HOST_U_64BIT_TYPE): Don't override
4297
        values selected in configure.host.  Require both to be defined
4298
        before setting BFD_HOST_64_BIT_DEFINED.  Protect assignment to
4299
        corresponding BFD_HOST vars with quotes.
4300
        <${host64}-${target64}-${want64} in *true*>: Don't exempt gcc;
4301
        Always require BFD_HOST_64_BIT_DEFINED.
4302
        : Find off_t size before emitting message.  Combine
4303
        off_t and ftello64 conditional.
4304
        * configure: Regenerate.
4305
 
4306
2004-03-16  Alan Modra  
4307
 
4308
        * elf32-m32r.c (m32r_elf_create_dynamic_sections): Fix pointer
4309
        aliasing warning.  Remove trailing whitespace throughout file.
4310
 
4311
2004-03-15  John David Anglin  
4312
 
4313
        * elf-hppa.h (elf_hppa_relocate_section): Pass input_bfd instead of
4314
        input_section in calls to get_dyn_name.
4315
        * elf64-hppa.c (get_dyn_name): Change type of first argument to "bfd *".        Use section id of first section in input BFD to build dynamic name for
4316
        local symbols.
4317
        (elf64_hppa_check_relocs): Pass abfd in call to get_dyn_name.
4318
 
4319
2004-03-15  Alan Modra  
4320
 
4321
        * bfd-in.h (bfd_int64_t, bfd_uint64_t): New types.
4322
        (BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Don't define here.
4323
        (bfd_getb64, bfd_getl64, bfd_get_bits): Return bfd_uint64_t.
4324
        (bfd_getb_signed_64, bfd_getl_signed_64): Return bfd_int64_t.
4325
        (bfd_putb64, bfd_putl64, bfd_put_bits): Accept bfd_uint64_t.
4326
        * configure.in (HOST_U_64BIT_TYPE): Set when sizeof long is 8.
4327
        (BFD_HOST_64_BIT_DEFINED, BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Set
4328
        when using long.
4329
        * libbfd.c (EIGHT_GAZILLION, COERCE64): Use bfd_int64_t.
4330
        (bfd_getb64): Return bfd_uint64_t.  Enable when BFD_HOST_64_BIT.
4331
        (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
4332
        (bfd_putb64): Accept bfd_uint64_t.  Enable when BFD_HOST_64_BIT.
4333
        (bfd_putl64, bfd_put_bits, bfd_get_bits): Likewise.
4334
        * dwarf2.c (struct attribute): Use bfd_int64_t and bfd_uint64_t.
4335
        (read_8_bytes, read_indirect_string, read_address): Likewise.
4336
        (read_abbrevs, parse_comp_unit): Likewise.
4337
        * targets.c (struct bfd_target): Likewise.
4338
        * aix386-core.c (NO_GET64, NO_PUT64, NO_GETS64): Define and use.
4339
        * hppabsd-core.c: Likewise.  Formatting.
4340
        * hpux-core.c: Likewise.
4341
        * irix-core.c: Likewise.
4342
        * netbsd-core.c: Likewise.
4343
        * osf-core.c: Likewise.
4344
        * ptrace-core.c: Likewise.
4345
        * sco5-core.c: Likewise.
4346
        * trad-core.c: Likewise.
4347
        * configure: Regenerate.
4348
        * bfd-in2.h: Regenerate.
4349
 
4350
2004-03-15  Alan Modra  
4351
 
4352
        * bfd-in.h (bfd_getb64, bfd_getl64): Replace bfd_byte* with void*.
4353
        (bfd_getb32, bfd_getl32, bfd_getb16, bfd_getl16): Likewise.
4354
        (bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
4355
        (bfd_getb_signed_32, bfd_getl_signed_32): Likewise.
4356
        (bfd_getb_signed_16, bfd_getl_signed_16): Likewise.
4357
        (bfd_putb64, bfd_putl64, bfd_putb32, bfd_putl32): Likewise.
4358
        (bfd_putb16, bfd_putl16, bfd_get_bits, bfd_put_bits): Likewise.
4359
        * libbfd.c: Likewise in function definitions.
4360
        (bfd_put_8): Mask with 0xff rather than casting to char.
4361
        (bfd_putb16, bfd_putl16, bfd_putb32, bfd_putl32): Likewise.
4362
        (bfd_putb64, bfd_putl64, bfd_put_bits): Likewise.
4363
        (H_PUT_64, H_PUT_32, H_PUT_16, H_PUT_8): Remove casts, simplify.
4364
        (H_PUT_S64, H_PUT_S32, H_PUT_S16, H_PUT_S8): Likewise.
4365
        (H_GET_64, H_GET_32, H_GET_16, H_GET_8): Likewise.
4366
        (H_GET_S64, H_GET_S32, H_GET_S16, H_GET_S8): Likewise.
4367
        * libaout.h (H_PUT_64 H_PUT_32, H_PUT_16): Remove casts, simplify.
4368
        (H_PUT_S64, H_PUT_S32, H_PUT_S16): Likewise.
4369
        (H_GET_64, H_GET_32, H_GET_16): Likewise.
4370
        (H_GET_S64, H_GET_S32, H_GET_S16): Likewise.
4371
        * archive.c (do_slurp_coff_armap): Update swap prototype.
4372
        * coff-tic54x.c (tic54x_getl32): Replace bfd_byte* with void*.
4373
        (tic54x_getl_signed_32): Likewise.
4374
        (tic54x_putl32): Likewise.  Mask with 0xff rather than casting to char.
4375
        * mach-o.c (bfd_mach_o_read_header): Update get32 prototype.
4376
        * pdp11.c (bfd_getp32): Make static, replace bfd_byte* with void*.
4377
        (bfd_getp_signed_32, bfd_putp32): Likewise.
4378
        * targets.c (struct bfd_target): Use void* in place of bfd_byte* for
4379
        bfd_getx64, bfd_getx_signed_64, bfd_putx64, bfd_getx32,
4380
        bfd_getx_signed_32, bfd_putx32, bfd_getx16, bfd_getx_signed_16,
4381
        bfd_putx16, bfd_h_getx64, bfd_h_getx_signed_64, bfd_h_putx64,
4382
        bfd_h_getx32, bfd_h_getx_signed_32, bfd_h_putx32, bfd_h_getx16,
4383
        bfd_h_getx_signed_16, bfd_h_putx16.
4384
        * aix386-core.c (NO_GET, NO_GETS, NO_PUT): Update prototypes.
4385
        * hppabsd-core.c: Similarly.  Rename NO_SIGNED_GET to NO_GETS.
4386
        * hpux-core.c: Likewise.
4387
        * irix-core.c: Likewise.
4388
        * netbsd-core.c: Likewise.
4389
        * osf-core.c: Likewise.
4390
        * ptrace-core.c: Likewise.
4391
        * sco5-core.c: Likewise.
4392
        * trad-core.c: Likewise.
4393
        * bfd-in2.h: Regenerate.
4394
 
4395
2004-03-15  Matt Thomas  
4396
 
4397
        * config.bfd: Add x86-64 vector to NetBSD/i386 if 64bit BFD is
4398
        selected.
4399
 
4400
2004-03-13  Mark Kettenis  
4401
 
4402
        * config.bfd: Add x86_64-*-openbsd*.
4403
        * configure.in (x86_64-*-openbsd*): Set COREFILE to
4404
        netbsd-core.lo.
4405
        * configure: Regenerate.
4406
 
4407
2004-03-12  Nick Clifton  
4408
            Dave Murphy  
4409
 
4410
        * elf32-arm.h (elf32_arm_merge_private_bfd_data): Skip most checks
4411
        if the input bfd does not contain any code.
4412
 
4413
2004-03-09  Steve Ellcey  
4414
 
4415
        * elfxx-ia64.c (plt_full_entry): Change ld8 to ld8.acq.
4416
 
4417
2004-03-05  Fred Fish  
4418
 
4419
        * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Just force
4420
        mips16 symbols to be even rather than testing first for even/odd.
4421
        (_bfd_mips_elf_link_output_symbol_hook): Ditto.
4422
 
4423
2004-03-05  Nathan Sidwell  
4424
 
4425
        * elf.c (map_sections_to_segments): Ignore .tbss sections for
4426
        layout purposes.
4427
 
4428
2004-03-03  Alexandre Oliva  
4429
 
4430
        * elflink.c (bfd_elf_record_link_assignment): Mark undefweak and
4431
        undefined symbols as hash_new.
4432
 
4433
2003-03-03  Andrew Stubbs  
4434
 
4435
        * archures.c: Add bfd_mach_sh4_nommu_nofpu.
4436
        * cpu-sh.c: Ditto.
4437
        * elf32-sh.c: Ditto.
4438
        * bfd-in2.h: Regenerate.
4439
 
4440
2004-03-02  Alexandre Oliva  
4441
 
4442
        * elf32-frv.c (struct frv_pic_relocs_info): Added fixups and
4443
        dynrelocs.
4444
        (_frv_count_got_plt_entries): Initialize them.
4445
        (frv_pic_relocs_info_find): Add insert argument.  Adjust all
4446
        callers.
4447
        (frv_pic_relocs_info_for_global): Likewise.
4448
        (frv_pic_relocs_info_for_local): Likewise.
4449
        (frv_pic_merge_early_relocs_info): New.
4450
        (_frv_resolve_final_relocs_info): Use it in case one entry maps to
4451
        another.
4452
        (_frv_add_dyn_reloc): Add entry argument.  Adjust all callers.
4453
        Check that we don't exceed the allocated count for entry.
4454
        (_frv_add_rofixup): Likewise.
4455
        (_frv_emit_got_relocs_plt_entries): Adjust for coding standards.
4456
        (elf32_frv_finish_dynamic_sections): Improve error message in case
4457
        we emit too few rofixup entries.
4458
 
4459
2004-03-01  Richard Sandiford  
4460
 
4461
        * archures.c (bfd_mach_fr450): New.
4462
        * bfd-in2.h: Regenerate.
4463
        * cpu-frv.c (arch_info_450): New bfd_arch_info_type.
4464
        (arch_info_500): Link to it.
4465
        * elf32-frv.c (elf32_frv_machine, frv_elf_merge_private_bfd_data)
4466
        (frv_elf_print_private_bfd_data): Handle fr405 and fr450 header flags.
4467
        (frv_elf_arch_extension_p): New function.
4468
        (frv_elf_merge_private_bfd_data): Use it.
4469
 
4470
2004-02-28  H.J. Lu  
4471
 
4472
        * elf-bfd.h (_bfd_elf_link_add_archive_symbols): New prototype.
4473
 
4474
        * elflink.h (is_global_data_symbol_definition): Moved to
4475
        elflink.c.
4476
        (elf_link_is_defined_archive_symbol): Likewise.
4477
        (elf_link_add_archive_symbols): Likewise. Renamed to
4478
        _bfd_elf_link_add_archive_symbols.
4479
 
4480
        * elflink.c (elf_link_is_defined_archive_symbol): Get the size
4481
        of ELF symbol table entry from backend.
4482
        (_bfd_elf_link_add_archive_symbols): Call bfd_link_add_symbols
4483
        instead of elf_link_add_object_symbols.
4484
 
4485
2004-02-27  Alexandre Oliva  
4486
 
4487
        * elf-bfd.h (struct elf_backend_data): Added
4488
        elf_backend_can_make_relative_eh_frame,
4489
        elf_backend_can_make_lsda_relative_eh_frame and
4490
        elf_backend_encode_eh_address.
4491
        (_bfd_elf_encode_eh_address): Declare.
4492
        (_bfd_elf_can_make_relative): Declare.
4493
        * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use new
4494
        hooks to decide whether to attempt to make_relative and
4495
        make_lsda_relative.
4496
        (_bfd_elf_write_section_eh_frame_hdr): Call encode_eh_address.
4497
        (_bfd_elf_can_make_relative): New.
4498
        (_bfd_elf_encode_eh_address): New.
4499
        * elf32-frv.c (frv_elf_use_relative_eh_frame): New.
4500
        (frv_elf_encode_eh_address): New.
4501
        (elf_backend_can_make_relative_eh_frame): Define.
4502
        (elf_backend_can_make_lsda_relative_eh_frame): Define.
4503
        (elf_backend_encode_eh_address): Define.
4504
        * elfxx-target.h
4505
        (elf_backend_can_make_relative_eh_frame): Define.
4506
        (elf_backend_can_make_lsda_relative_eh_frame): Define.
4507
        (elf_backend_encode_eh_address): Define.
4508
        (elfNN_bed): Add them.
4509
 
4510
2004-02-27  Alexandre Oliva  
4511
 
4512
        * elf32-frv.c (elf32_frv_howto_table) : Set
4513
        complain_on_overflow to signed.
4514
 
4515
2004-02-27  H.J. Lu  
4516
 
4517
        * elflink.h (sort_symbol): New.
4518
        (elf_link_add_object_symbols): Use a sorted symbol array for
4519
        weakdef.
4520
 
4521
2004-02-27  Jakub Jelinek  
4522
 
4523
        * elf32-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
4524
        for pc relative relocs.
4525
        (elf_s390_relocate_section): Likewise.
4526
        * elf64-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
4527
        for pc relative relocs.
4528
        (elf_s390_relocate_section): Likewise.
4529
 
4530
2004-02-26  H.J. Lu  
4531
 
4532
        * elfxx-ia64.c (elfNN_ia64_check_relocs): Fix call to
4533
        count_dyn_reloc.
4534
 
4535
2004-02-25  H.J. Lu  
4536
 
4537
        * elfxx-ia64.c (elfNN_ia64_dyn_reloc_entry): Add the reltext.
4538
        field to track if a relocation is against readonly section.
4539
        (count_dyn_reloc): Take a new argument for rent->reltext.
4540
        (elfNN_ia64_check_relocs): Adjust call to count_dyn_reloc.
4541
        (get_reloc_section): Don't set ia64_info->reltext here.
4542
        (allocate_dynrel_entries): Set ia64_info->reltext here.
4543
 
4544
2004-02-24  Alexandre Oliva  
4545
 
4546
        * elf32-frv.c (FRV_SYM_LOCAL): Weak undefined doesn't imply local.
4547
        (_frv_emit_got_relocs_plt_entries): Decay relocation to protected
4548
        function's descriptor to symbol+offset, and map local undefweak
4549
        symbol to NULL function descriptor.
4550
        (elf32_frv_relocate_section): Likewise.
4551
 
4552
2004-02-23  Mark Kettenis  
4553
 
4554
        * libaout.h (enum machine_type): Add M_SPARC64_NETBSD and
4555
        M_X86_64_NETBSD.
4556
        * netbsd-core.c (M_SPARC64_OPENBSD): Define.
4557
        (netbsd_core_file_p): Set architecture from machine ID for
4558
        selected machines.
4559
 
4560
2004-02-23  Jakub Jelinek  
4561
 
4562
        * elflink.h (size_dynamic_sections): If not adding DT_FLAGS and
4563
        DF_BIND_NOW is set in info->flags, create DT_BIND_NOW dynamic entry.
4564
 
4565
2004-02-21  H.J. Lu  
4566
 
4567
        * elflink.c (_bfd_elf_merge_symbol): Properly handle undefined
4568
        symbols with non-default visibility.
4569
 
4570
2004-02-21  Danny Smith  
4571
 
4572
        * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Clear
4573
        IMAGE_SCN_MEM_WRITE on known sections only.
4574
 
4575
2004-02-20  Jakub Jelinek  
4576
 
4577
        * elf32-ppc.c (allocate_dynrelocs): Create dynsym for undef weak
4578
        symbols used in PIE relocs.
4579
 
4580
2004-02-19  Jakub Jelinek  
4581
 
4582
        * elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Clear
4583
        .plt sh_entsize.
4584
 
4585
2004-02-18  Daniel Jacobowitz  
4586
 
4587
        * configure.in: Update version to 2.15.90.
4588
        * configure: Regenerate.
4589
 
4590
2004-02-17  Daniel Jacobowitz  
4591
            Richard Sandiford  
4592
 
4593
        * elfxx-mips.c (mips_elf_calculate_relocation): Use
4594
        _bfd_elf_symbol_refs_local_p to decide whether to decay
4595
        a GOT_PAGE/GOT_OFST pair to GOT_DISP/addend.
4596
        (_bfd_mips_elf_check_relocs): Add a global GOT entry for GOT_PAGE
4597
        relocs if the symbol wasn't defined by a regular object file.
4598
        Don't check the symbol's dynindx.
4599
 
4600
2004-02-16  Andrew Cagney  
4601
 
4602
        * bfd-in.h (file_ptr, ufile_ptr): Configure type using
4603
        @bfd_file_ptr@.
4604
        * bfd-in2.h: Re-generate.
4605
 
4606
2004-02-14  Andrew Cagney  
4607
 
4608
        * configure.host (HDEFINES): When hppa*-*-hpux*, define
4609
        _LARGEFILE64_SOURCE.
4610
 
4611
2004-02-13  Andrew Cagney  
4612
 
4613
        * elf.c (vma_page_aligned_bias): New function.
4614
        (assign_file_positions_except_relocs)
4615
        (assign_file_positions_for_segments): Replace broken modulo
4616
        arithmetic with call to vma_page_aligned_bias.
4617
 
4618
2004-02-11  Andrew Cagney  
4619
 
4620
        * bfd-in.h: Update copyright.
4621
        (bfd_tell): Change return type to file_ptr.
4622
        * bfd-in2.h: Re-generate.
4623
        * cache.c: Update copyright.
4624
        (bfd_cache_lookup_worker): Use real_fseek, do not cast offset
4625
        parameter.
4626
        (close_one): Use real_ftell.
4627
        * bfdio.c: Update copyright.
4628
        (real_ftell, real_fseek): New functions.
4629
        (bfd_tell): Use real_fseek and real_ftell, change return type to
4630
        file_ptr.
4631
        (bfd_seek): Use real_ftell and real_fseek, change type of
4632
        file_position to a file_ptr.
4633
        * libbfd-in.h: Update copyright.
4634
        (real_ftell, real_fseek): Declare.
4635
        * libbfd.h: Re-generate.
4636
 
4637
        * configure.in (AC_CHECK_FUNCS): Check for ftello, ftello64,
4638
        fseeko and fseeko64.  Determine bfd_file_ptr.
4639
        * configure: Re-generate.
4640
        * config.in: Re-generate.
4641
 
4642
2004-02-09  Anil Paranjpe  
4643
 
4644
        * coff-h8300.c: Added comments about relaxation for ldc.w and stc.w.
4645
        * elf32-h8300.c: Likewise.
4646
 
4647
2004-02-09  Christian Vogel 
4648
            Nick Clifton  
4649
 
4650
        * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Catch
4651
        GOT entries with no associated GOT subsection.
4652
 
4653
2004-02-09  Richard Sandiford  
4654
 
4655
        * bfd-elf.h (elf_backend_name_local_section_symbols): New hook.
4656
        * elf.c (swap_out_syms): Use it to decide whether local section
4657
        symbols should be named.
4658
        * elfxx-target.h (elf_backend_name_local_section_symbols): New macro.
4659
        * elfxx-mips.h (_bfd_mips_elf_name_local_section_symbols): Declare.
4660
        (elf_backend_name_local_section_symbols): Define.
4661
        * elfxx-mips.c (_bfd_mips_elf_name_local_section_symbols): New.
4662
 
4663
2004-01-30  H.J. Lu  
4664
 
4665
        * elfxx-ia64.c (elfNN_ia64_relax_brl): New function.
4666
        (elfNN_ia64_relax_section): Optimize brl to br during the relax
4667
        finalize pass.
4668
 
4669
2004-01-30  Alexandre Oliva  
4670
 
4671
        * elf32-frv.c (elf32_frv_always_size_sections): Initialize pointer
4672
        to bfd_link_hash_entry passed by reference to
4673
        _bfd_generic_link_add_one_symbol.
4674
 
4675
2004-01-25  H.J. Lu  
4676
 
4677
        * elfxx-ia64.c (elfNN_ia64_relocate_section): Disallow imm
4678
        relocations against dynamic symbols.
4679
 
4680
2004-01-23  Daniel Jacobowitz  
4681
 
4682
        * elf32-arm.h (elf32_arm_check_relocs): Revert part of 2004-01-13
4683
        change.
4684
 
4685
2004-01-21  Tom Rix  
4686
 
4687
        * reloc.c: New 5 bit reloc, BFD_RELOC_M68HC12_5B, for m68hc12 movb/movw.
4688
        * bfd-in2.h, libbfd.h: Rebuilt.
4689
 
4690
2004-01-20  Danny Smith  
4691
 
4692
        * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Don't remove
4693
        IMAGE_SCN_MEM_WRITE flag from .text section if WP_TEXT
4694
        flag has been cleared.
4695
 
4696
2004-01-19  Kazu Hirata  
4697
 
4698
        * coff-h8300.c: Add and adjust comments about relaxation.
4699
        * elf32-h8300.c: Likewise.
4700
 
4701
2004-01-16  Kazu Hirata  
4702
 
4703
        * coff-h8300.c: Fix comment typos.
4704
        * elf32-h8300.c: Likewise.
4705
 
4706
2004-01-16  Kazu Hirata  
4707
 
4708
        * coff-h8300.c: Add comments about relaxation.
4709
        * elf32-h8300.c: Likewise.
4710
 
4711
2004-01-14  Maciej W. Rozycki  
4712
 
4713
        * acinclude.m4: Quote names of macros to be defined by AC_DEFUN
4714
        throughout.
4715
        * aclocal.m4: Regenerate.
4716
        * configure: Regenerate.
4717
 
4718
2004-01-13  Ian Lance Taylor  
4719
 
4720
        * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Call
4721
        mips_elf64_rtype_to_howto instead of using howto_table.
4722
 
4723
2004-01-13  Daniel Jacobowitz  
4724
 
4725
        * elf32-arm.h (elf32_arm_final_link_relocate): Check that we created
4726
        the .plt section.
4727
        (elf32_arm_check_relocs): Don't increment the PLT refcount for
4728
        relocs which would not use the PLT.
4729
 
4730
2004-01-13  Alan Modra  
4731
 
4732
        * elf64-ppc.c (ppc64_elf_check_relocs): Ignore !SEC_ALLOC relocs.
4733
        (ppc64_elf_gc_sweep_hook): Likewise.
4734
        (ppc64_elf_size_dynamic_sections): Test for .plt directly.
4735
 
4736
2004-01-12  Anil Paranjpe  
4737
 
4738
        Adds linker relaxation support for bit manipulation insns like
4739
        band, bclr, biand, bild, bior, bist, bixor, bld, bnot, bor, bset,
4740
        bst, btst, bxor.
4741
        * elf32-h8300.c: Opcode for bit manipulation insn is checked in
4742
        elf32_h8_relax_section function while relxation for aa:16 and aa:32.
4743
        * coff-h8300.c: Opcode for bit manipulation insn is checked in
4744
        h8300_reloc16_extra_cases function while relxation for aa:16 and aa:32.
4745
 
4746
2004-01-12  Alan Modra  
4747
 
4748
        * dwarf2.c: Convert to C90, remove unneeded casts and prototypes.
4749
 
4750
2004-01-11  Kazu Hirata  
4751
 
4752
        * elf32-h8300.c: Fix formatting.
4753
 
4754
2004-01-11  Kazu Hirata  
4755
 
4756
        * elf32-cris.c (cris_elf_gc_sweep_hook): Return early if no
4757
        dynamic object is present.  Declare r_symndx and h in an inner
4758
        scope.
4759
        * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
4760
 
4761
2004-01-09  Daniel Jacobowitz  
4762
 
4763
        * elf32-arm.h (struct elf32_arm_relocs_copied): Remove pc_count.
4764
        (elf32_arm_copy_indirect_symbol): Don't copy pc_count.
4765
        (elf32_arm_final_link_relocate): Handle PLT32 and PC24 relocs
4766
        identically.  Do not emit PC24 relocations for shared libraries.
4767
        (elf32_arm_gc_sweep_hook): Handle PLT32 and PC24 relocs
4768
        identically.  Don't adjust pc_count.
4769
        (elf32_arm_check_relocs): Handle PLT32 and PC24 relocs identically.
4770
        Set ELF_LINK_HASH_NEEDS_PLT for both.  Don't adjust pc_count; don't
4771
        adjust count for branch relocations.
4772
        (allocate_dynrelocs): Correct typo in call to
4773
        WILL_CALL_FINISH_DYNAMIC_SYMBOL.  Never allocate space for
4774
        PC24 or PLT32 relocs when linking.
4775
 
4776
2004-01-09  Dmitry Semyonov  
4777
 
4778
        * coff-arm.c (aoutarm_std_reloc_howto): [ARM_WINCE] Synchronize ARM_26D
4779
        relocation howto with ARM_26 one for consistency.
4780
        (coff_arm_relocate_section): Set partial_inplace for ARM_26 relocations
4781
        that will be converted to ARM_26D ones, since we always want 'done'
4782
        relocations to be reflected in section's data.
4783
        (coff_arm_relocate_section): [ARM_WINCE] Quick fix for BL instruction
4784
        offset.
4785
        (_bfd_final_link_relocate): Do not modify "inplace" data, if not
4786
        requested.
4787
 
4788
2004-01-08  Dmitry Semyonov  
4789
 
4790
        * coff-arm.c (coff_arm_relocate_section): Do not alter relocs that
4791
        are not partial_inplace during a relocatable link.
4792
 
4793
2004-01-08  Kazu Hirata  
4794
 
4795
        * elf32-m68k.c (elf_m68k_gc_sweep_hook): Return early
4796
        if no dynamic object is present.  Declare r_symndx and h in an
4797
        inner scope.
4798
 
4799
2004-01-07  H.J. Lu  
4800
 
4801
        * elfxx-ia64.c (elfNN_ia64_relax_section): Don't install
4802
        trampoline if it is known out of range.
4803
 
4804
2004-01-06  Alexandre Oliva  
4805
 
4806
        2003-12-17  Alexandre Oliva  
4807
        * elf32-frv.c (_frv_osec_readonly_p): New.
4808
        (_frv_emit_got_relocs_plt_entries): Don't emit rofixup for
4809
        undefweak symbol.
4810
        (_frv_count_got_plt_entries): Adjust expected count accordingly.
4811
        (elf32_frv_relocate_section): Likewise.  Error out if attempting
4812
        to emit rofixups or dynamic relocs in read-only segments.  Use
4813
        _bfd_elf_section_offset to adjust r_offsets in rofixups and
4814
        dynamic relocations.
4815
        2003-12-12  Alexandre Oliva  
4816
        * elf32-frv.c (elf32_frv_relocate_section): Compute dynamic
4817
        relocations or fixups involving merged sections correctly.  Avoid
4818
        crash when undefined symbol is referenced by R_FRV_32 or
4819
        R_FRV_FUNCDESC_VALUE.
4820
        2003-12-02  Alexandre Oliva  
4821
        * elf32-frv.c (elf32_frv_relocate_section): Add output_offset of
4822
        input section holding local symbol to addend of R_FRV_32 or
4823
        R_FRV_FUNCDESC_VALUE dynamic relocation.
4824
        2003-11-27  Alexandre Oliva  
4825
        * elf32-frv.c (elf32_frv_modify_segment_map): Add link info arg.
4826
        (elf32_frv_always_size_sections): Don't store pointer to
4827
        __stacksize symbol in sec_info.
4828
        (elf32_frv_modify_segment_map): Look it up here.
4829
        2003-11-26  Alexandre Oliva  
4830
        * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Emit the address
4831
        of the lazy PLT entry, not only its offset, as the low word of a
4832
        function descriptor.
4833
        2003-11-10  Alexandre Oliva  
4834
        * elf32-frv.c (elf32_frv_always_size_sections): Define __stacksize
4835
        if a hash table entry already exists but is not a definition.
4836
        2003-11-05  Alexandre Oliva  
4837
        * elf32-frv.c (frv_elf_link_hash_table_create): Use bfd_zalloc.
4838
        (_frv_add_rofixup): Don't inline.
4839
        (_frv_emit_got_relocs_plt_entries): Use NULL as funcdesc address
4840
        for undefweak symbols.
4841
        (elf32_frv_relocate_section): Avoid crash while computing
4842
        relocation when linking with shared library.  Only emit rofixups
4843
        and dynamic relocations for alloc&load sections.  Mark binaries
4844
        with inter-segment relocations for relocation as a unit.
4845
        (_frv_create_got_section): Rename .rofixup.got to .rofixup.
4846
        (DEFAULT_STACK_SIZE): New.
4847
        (_frv_count_got_plt_entries): Fix thinko in deciding whether to
4848
        emit rofixups or dynamic relocs when linking dynamic non-PIE
4849
        executables.
4850
        (elf32_frv_size_dynamic_sections): Generate rofixup on PIEs and
4851
        shared libs too.  Reserve the last entry for the GOT pointer.
4852
        (elf32_frv_finish_dynamic_sections): Emit it.
4853
        (elf32_frv_always_size_sections): New.
4854
        (elf32_frv_modify_segment_map): New.
4855
        (elf32_frv_check_relocs): Reserve relocs32 space only in ALLOC
4856
        sections.
4857
        (frv_elf_merge_private_bfd_data): Clear PIC bit if FDPIC is set.
4858
        (frv_elf_print_private_bfd_data): Handle FDPIC and LIBPIC.
4859
        (elf_backend_always_size_sections): New.
4860
        (elf_backend_modify_segment_map): New.
4861
        2003-10-31  Alexandre Oliva  
4862
        * config.bfd: Added frv-*-*linux*.
4863
        * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Use idx 0 for
4864
        ABS section, instead of crashing.
4865
        (elf32_frv_relocate_section): Don't crash before warning about
4866
        different segments in non-PIC relocation.
4867
        2003-10-17  Alexandre Oliva  
4868
        * elf32-frv.c (elf32_frv_relocate_section): Don't warn on LABEL24
4869
        relocs to undefweak symbols.
4870
        (elf32_frv_relocate_section): Ditto for undefined symbols.
4871
        2003-10-06  Alexandre Oliva  
4872
        * elf32-frv.c (elf32_frv_create_dynamic_sections): Make sure
4873
        gotfixup section was created.
4874
        2003-09-30  Alexandre Oliva  
4875
        * elf32-frv.c (elf32_frv_howto_table): Change GOT12,
4876
        FUNCDESC_GOT12, GOTOFF12 and FUNCDESC_GOTOFF12 to
4877
        complain_overflow_signed.
4878
        * elf32-frv.c (_frv_add_rofixup): Do not error out if contents
4879
        have not been allocated.
4880
        (_frv_emit_got_relocs_plt_entries): Return non-void.  Assert
4881
        privfd only if dynamic sections were created.
4882
        (elf32_frv_relocate_section): Compute gprel_segment, and use it
4883
        for GPREL relocs.  When linking relocatable FDPIC executables,
4884
        emit warnings for relocations that would be illegal on PIE or
4885
        shared libraries.  Emit rofixup for R_FRV_32 only if input object
4886
        is not FDPIC.
4887
        (_frv_create_got_section): Define _gp symbol in the rofixup
4888
        section.
4889
        (elf32_frv_finish_dynamic_sections): If rofixups needed but
4890
        dynamic sections missing, error out requesting -melf32frvfd.
4891
        2003-09-19  Alexandre Oliva  
4892
        * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Rearrange
4893
        computation of addends from section and global or local symbol
4894
        value.  Change return type to bfd_boolean, and return a failure if
4895
        a dynamic FUNCDESC or FUNCDESC_VALUE relocation that requires a
4896
        nonzero addend is required.
4897
        (elf32_frv_relocate_section): Likewise.  Print error for
4898
        unsupported nonzero addends.
4899
        2003-09-18  Alexandre Oliva  
4900
        * elf32-frv.c (FRV_SYM_LOCAL): In the absence of dynamic sections,
4901
        force everything local.
4902
        (_frv_emit_got_relocs_plt_entries): Cope with NULL sec.
4903
        * elf32-frv.c (struct frv_elf_link_hash_table): Added sgotfixup.
4904
        (frv_gotfixup_section): New.
4905
        (FRV_SYM_LOCAL): Accept undefweak and local common symbols.
4906
        (struct frv_pic_relocs_info): Split relocs into relocs32, relocsfd
4907
        and relocsfdv.
4908
        (_frv_add_rofixup): New.
4909
        (_frv_emit_got_relocs_plt_entries): Generate fixups for non-PIE
4910
        fdpic executables.  Use FRV_SYM_LOCAL more widely to simplify and
4911
        improve some ugly conditions.
4912
        (elf32_frv_relocate_section): Likewise.  Reject inter-segment
4913
        relocations in fdpic.
4914
        (_frv_create_got_section): Create .rofixup.got section.
4915
        (struct _frv_dynamic_got_info): Added fixups.
4916
        (_frv_count_got_plt_entries): Account in-GOT relocations into
4917
        relocs32, relocsfd and relocsfdv.  Account them into relocs or
4918
        fixups, as appropriate.
4919
        (elf32_frv_size_dynamic_sections): Size rofixup section.  Simplify
4920
        sizing of gotrel.
4921
        (elf32_frv_finish_dynamic_sections): Verify that the right number
4922
        of relocations and fixups was generated.
4923
        (elf32_frv_check_relocs): Compute relocs32, relocsfd and
4924
        relocsfdv.
4925
        * elf32-frv.c (FRV_SYM_LOCAL): New macro, used instead of
4926
        SYMBOL_CALLS_LOCAL and SYMBOL_REFERENCES_LOCAL.
4927
        (FRV_FUNCDESC_LOCAL): New macro, used to decide whether a function
4928
        descriptor of a (formerly-)global symbol is local.
4929
        (struct frv_pic_relocs_info): Adjust comments.
4930
        (_frv_emit_got_relocs_plt_entries): Adjust.
4931
        (elf32_frv_relocate_section): Likewise.
4932
        (_frv_count_got_plt_entries): Likewise.
4933
        * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Don't add global
4934
        symbol's value to addend in the common preamble.  Decay dynamic
4935
        symbols to section+offset if they bind or call locally, for GOT
4936
        and FUNCDESC_VALUE, respectively.
4937
        (elf32_frv_relocate_section): Likewise.
4938
        (elf32_frv_check_relocs): Don't register as dynamic symbols of
4939
        internal or hidden visibility.
4940
        2003-09-17  Alexandre Oliva  
4941
        * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Get addend as
4942
        argument, so as to not call _bfd_elf_rel_local_sym to compute it.
4943
        (elf32_frv_relocate_section): Pass relocation addend in.  Use
4944
        original relocation addend to look up the got relocs/plt entries
4945
        table.  Do not call _bfd_elf_rel_local_sym.  Don't error out when
4946
        processing relocations that reference .scommon symbols.
4947
        2003-09-15  Alexandre Oliva  
4948
        Introduce support for dynamic linking.
4949
        * elf32-frv.c (R_FRV_FUNCDESC_VALUE): Mark it as 64 bits.
4950
        (elf32_frv_rel_32_howto, elf32_frv_rel_funcdesc_howto,
4951
        elf32_frv_rel_funcdesc_value_howto): New REL descriptors.
4952
        (frv_reloc_type_lookup): Return REL howtos for executables and
4953
        dynamic libraries.
4954
        (frv_info_to_howto_rel): New.
4955
        (struct frv_elf_link_hash_table): New.
4956
        (frv_hash_table, frv_got_section, frv_gotrel_section,
4957
        frv_plt_section, frv_pltrel_section, frv_relocs_info,
4958
        frv_got_initial_offset, frv_plt_initial_offset): New macros.
4959
        (frv_elf_link_hash_table_create): New.
4960
        (struct frv_pic_relocs_info): New.
4961
        (frv_pic_relocs_info_hash, frv_pic_relocs_info_eq): New.
4962
        (frv_pic_relocs_info_find): New.
4963
        (frv_pic_relocs_info_for_global, frv_pic_relocs_info_for_local):
4964
        New.
4965
        (FRV_LZPLT_BLOCK_SIZE, FRV_LZPLT_RESOLVE_LOC): New.
4966
        (_frv_add_dyn_reloc, _frv_osec_to_segment): New.
4967
        (_frv_emit_got_relocs_plt_entries): New.
4968
        (elf32_frv_relocate_section): Add support for dynamic linking.
4969
        Handle new relocations.
4970
        (_frv_create_got_section): New.
4971
        (elf32_frv_create_dynamic_sections): New.
4972
        (ELF_DYNAMIC_INTERPRETER): New.
4973
        (struct _frv_dynamic_got_info): New.
4974
        (_frv_count_got_plt_entries): New.
4975
        (struct _frv_dynamic_got_plt_info): New.
4976
        (_frv_compute_got_alloc_data): New.
4977
        (_frv_get_got_entry, _frv_get_fd_entry): New.
4978
        (_frv_assign_got_entries, _frv_assign_plt_entries): New.
4979
        (_frv_resolve_final_relocs_info): New.
4980
        (elf32_frv_size_dynamic_sections): New.
4981
        (elf32_frv_finish_dynamic_sections): New.
4982
        (elf32_frv_adjust_dynamic_symbol): New.
4983
        (elf32_frv_finish_dynamic_symbol): New.
4984
        (elf32_frv_check_relocs): Handle new relocs.  Explain how the
4985
        whole thing works.
4986
        (elf_info_to_howto_rel): Define.
4987
        (bfd_elf32_bfd_link_hash_table_create): Define.
4988
        (elf_backend_create_dynamic_sections): Define.
4989
        (elf_backend_adjust_dynamic_symbol): Define.
4990
        (elf_backend_size_dynamic_sections): Define.
4991
        (elf_backend_finish_dynamic_symbol): Define.
4992
        (elf_backend_finish_dynamic_sections): Define.
4993
        (elf_backend_want_got_sym): Define.
4994
        (elf_backend_got_header_size): Define.
4995
        (elf_backend_want_got_plt): Define.
4996
        (elf_backend_plt_readonly): Define.
4997
        (elf_backend_want_plt_sym): Define.
4998
        (elf_backend_plt_header_size): Define.
4999
        (elf_backend_may_use_rel_p): Define.
5000
        (elf_backend_may_use_rela_p): Define.
5001
        (elf_backend_default_use_rela_p): Define.
5002
        2003-08-08  Alexandre Oliva  
5003
        * elf32-frv.c (R_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_GOTOFF12,
5004
        R_FRV_FUNCDESC_GOTOFFHI, R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12,
5005
        R_FRV_GOTOFFHI, R_FRV_GOTOFFLO): New.
5006
        (frv_reloc_map): Map the corresponding BFD relocs to them.
5007
        (frv_reloc_type_lookup): ... and back to BFD relocs.
5008
        * reloc.c: New relocs.
5009
        * bfd-in2.h, libbfd.h: Rebuilt.
5010
        2003-08-04  Alexandre Oliva  
5011
        * elf32-frv.c (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
5012
        R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
5013
        R_FRV_FUNCDESC_GOTLO): New.
5014
        (frv_reloc_map): Map the corresponding BFD relocs to them.
5015
        (frv_reloc_type_lookup): ... and back to BFD relocs.
5016
        * reloc.c: New relocs.
5017
        * bfd-in2.h, libbfd.h: Rebuilt.
5018
 
5019
2004-01-05  Maciej W. Rozycki  
5020
 
5021
        * elf32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
5022
        targets to support pages of up to 64kB.
5023
        (elf32_bed): Redefine to get a separate backend data structure for
5024
        traditional targets.
5025
        * elf64-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
5026
        targets to support pages of up to 64kB.
5027
        (elf64_bed): Redefine to get a separate backend data structure for
5028
        traditional targets.
5029
        * elfn32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
5030
        targets to support pages of up to 64kB.
5031
        (elf32_bed): Redefine to get a separate backend data structure for
5032
        traditional targets.
5033
 
5034
2004-01-04  Mark Kettenis  
5035
 
5036
        * elf32-sparc.c (elf32_sparc_grok_psinfo): New function.
5037
 
5038
2004-01-02  Mark Kettenis  
5039
 
5040
        * elf32-i386.c (elf_i386_grok_prstatus): Add support for FreeBSD.
5041
        (elf_i386_grok_psinfo): Likewise.
5042
 
5043
2004-01-02  Bernardo Innocenti  
5044
 
5045
        * config.bfd: Add m68k-uClinux target.
5046
 
5047
2004-01-01  Grant Edwards 
5048
 
5049
        * elflink.h (elf_gc_sections): Warn when gc-sections option is ignored.
5050
        * elf32-h8300.c (elf32_h8_gc_mark_hook): New function.
5051
        (elf32_h8_gc_sweep_hook): New function.
5052
        (elf_backend_gc_mark_hook): Define.
5053
        (elf_backend_gc_sweep_hook): Define.
5054
        (elf_backend_can_gc_sections): Define.
5055
 
5056
For older changes see ChangeLog-0203
5057
 
5058
Local Variables:
5059
mode: change-log
5060
left-margin: 8
5061
fill-column: 74
5062
version-control: never
5063
End:

powered by: WebSVN 2.1.0

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