~ubuntu-branches/ubuntu/karmic/insight/karmic

« back to all changes in this revision

Viewing changes to bfd/ChangeLog

  • Committer: Bazaar Package Importer
  • Author(s): Masayuki Hatta (mhatta)
  • Date: 2007-12-04 22:37:09 UTC
  • mfrom: (1.2.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20071204223709-jxj396d1ox92s8ox
Tags: 6.7.1.dfsg.1-1
* New upstream release.
* This typo has been fixed in the upstream - closes: #314037.
* Removed non-free documents (GFDL'd with Invariant Sections, etc.).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
2006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
2
 
 
3
 
        * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
4
 
        prototype.
5
 
        (bfd_elf32_arm_set_byteswap_code): New prototype.
6
 
        * bfd-in2.h: Regenerate.
7
 
        * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Don't take
8
 
        byteswap_code as an argument.  Revert 2006-11-01 change.
9
 
        (bfd_elf32_arm_set_byteswap_code): New.
10
 
        (elf32_arm_size_dynamic_sections): Call
11
 
        bfd_elf32_arm_process_before_allocation.
12
 
 
13
 
2006-11-10  Thiemo Seufer  <ths@mips.com>
14
 
 
15
 
        * config.bfd (mips*el-sde-elf*, mips*-sde-elf*): Drop ECOFF support
16
 
        for SDE configs.
17
 
 
18
 
2006-11-10  Nick Clifton  <nickc@redhat.com>
19
 
 
20
 
        * config.bfd: Move previously obsoleted targets to the REMOVED
21
 
        list.
22
 
        Add maxq-*-coff to the obsolete list.
23
 
 
24
 
2006-11-10  Pedro Alves  <pedro_alves@portugalmail.pt>
25
 
 
26
 
        * pe-arm-wince.c (LOCAL_LABEL_PREFIX): Define as ".".
27
 
        * pei-arm-wince.c (LOCAL_LABEL_PREFIX): Likewise.
28
 
        * coff-arm.c (LOCAL_LABEL_PREFIX): Only define if not defined before.
29
 
 
30
 
2006-11-07  Daniel Jacobowitz  <dan@codesourcery.com>
31
 
 
32
 
        * elf32-arm.c (find_thumb_glue): Add ERROR_MESSAGE argument; set it
33
 
        on error.
34
 
        (find_arm_glue): Likewise.
35
 
        (elf32_thumb_to_arm_stub, elf32_arm_create_thumb_stub)
36
 
        (elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate): Add
37
 
        ERROR_MESSAGE argument and pass it through.
38
 
        (elf32_arm_to_thumb_export_stub): Update.
39
 
        (elf32_arm_relocate_section): Use ERROR_MESSAGE and reloc_dangerous.
40
 
 
41
 
2006-11-07  Alan Modra  <amodra@bigpond.net.au>
42
 
 
43
 
        * elf64-ppc.c (enum _ppc64_sec_type): New.
44
 
        (struct _ppc64_elf_section_data): Move "t_symndx" into opd union,
45
 
        and rename fields.  Add sec_type and has_14bit_branch.
46
 
        (struct ppc_link_hash_table): Remove has_14bit_branch.
47
 
        (get_opd_info, get_tls_mask, ppc64_elf_edit_opd): Adjust.
48
 
        (ppc64_elf_relocate_section): Likewise.
49
 
        (ppc64_elf_check_relocs): Likewise.  Set per-section has_14bit_branch.
50
 
        (ppc64_elf_size_stubs): Don't set default group size here.
51
 
        (group_sections): Instead do so here, and group sections using
52
 
        their individual requirements.
53
 
 
54
 
2006-11-07  Alan Modra  <amodra@bigpond.net.au>
55
 
 
56
 
        * elf64-ppc.c (struct ppc64_elf_obj_tdata): Remove "has_dotsym"
57
 
        and union.
58
 
        (struct ppc_link_hash_entry): Add "next_dot_sym".
59
 
        (struct ppc_link_hash_table): Add "dot_syms".
60
 
        (link_hash_newfunc): Make list of syms starting with a dot.
61
 
        (ppc_get_stub_entry, adjust_opd_syms): Adjust.
62
 
        (ppc64_elf_add_symbol_hook): Don't set has_dotsym.
63
 
        (struct add_symbol_adjust_data): Delete.
64
 
        (add_symbol_adjust): Simplify params and return.
65
 
        (ppc64_elf_check_directives): Just process the "dot_syms" lists,
66
 
        not all syms.
67
 
 
68
 
2006-11-02  Daniel Jacobowitz  <dan@codesourcery.com>
69
 
 
70
 
        * libbfd-in.h (_bfd_clear_contents): New prototype.
71
 
        * reloc.c (_bfd_clear_contents): New.
72
 
        * libbfd.h: Regenerated.
73
 
 
74
 
        * elf32-arm.c (elf32_arm_final_link_relocate): Use
75
 
        _bfd_clear_contents.
 
1
2007-10-25  Pedro Alves  <pedro_alves@portugalmail.pt>
 
2
 
 
3
        PR gdb/2339
 
4
        * bfd-in.h (STRING_COMMA_LEN): Don't handle NULL STR case.
 
5
        * bfd-in2.h: Regenerate.
 
6
 
 
7
2007-09-04  Michael Snyder  <msnyder@access-company.com>
 
8
 
 
9
        * elf32-bfin.c (howto_table): Cut and paste error?  
 
10
        Name field of reloc is wrong.
 
11
 
 
12
2007-09-04  Alan Modra  <amodra@bigpond.net.au>
 
13
 
 
14
        * elf32-spu.c (elf_howto_table): Formatting.
 
15
 
 
16
2007-09-02  H.J. Lu  <hongjiu.lu@intel.com>
 
17
 
 
18
        PR ld/4986
 
19
        * dwarf2.c (new_line_sorts_after): Undo the last change.
 
20
        (add_line_info): Only keep the last entry with the same address
 
21
        and end sequence.
 
22
 
 
23
2007-08-31  H.J. Lu  <hongjiu.lu@intel.com>
 
24
 
 
25
        PR ld/4986
 
26
        * dwarf2.c (new_line_sorts_after): Also compare line number.
 
27
 
 
28
2007-08-31  Jesse Michael  <jmichael@suse.de>
 
29
 
 
30
        * mach-o.c (bfd_mach_o_make_bfd_section): Fix test for non
 
31
        zerofill sections.
 
32
 
 
33
2007-08-28  David Heine  <dlheine@tensilica.com>
 
34
 
 
35
        * elf32-xtensa.c (compute_ebb_actions): Update removed_bytes when
 
36
        narrowing instructions.
 
37
 
 
38
2007-08-28  Mark Shinwell  <shinwell@codesourcery.com>
 
39
            Joseph Myers  <joseph@codesourcery.com>
 
40
 
 
41
        * elf32-arm.c (elf32_arm_compare_mapping): Compare first on vma,
 
42
        then on type.
 
43
 
 
44
2007-08-28  Robert Sebastian Gerus  <arachnist@gmail.com>
 
45
 
 
46
        * config.bfd: Add support for i[3-7]86-*-dragonfly*.
 
47
        * configure.in: Likewise.
 
48
        * configure: Regenerate.
 
49
 
 
50
2007-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
 
51
            Alan Modra  <amodra@bigpond.net.au>
 
52
 
 
53
        * elf.c (elfcore_grok_spu_note): New function.
 
54
        (elf_parse_notes): Call it.
 
55
 
 
56
2007-08-24  H.J. Lu  <hongjiu.lu@intel.com>
 
57
 
 
58
        * elf64-x86-64.c (elf64_x86_64_relocate_section): Adjust
 
59
        indentation.
 
60
 
 
61
2007-08-24  Pedro Alves  <pedro_alves@portugalmail.pt>
 
62
 
 
63
        * elf.c (elfcore_grok_win32pstatus): Remove HAVE_WIN32_PSTATUS_T
 
64
        guard.  Make it host independent.
 
65
        (elfcore_grok_note): Remove HAVE_WIN32_PSTATUS_T guard around
 
66
        NT_WIN32PSTATUS.
 
67
 
 
68
2007-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
69
 
 
70
        * elf-bfd.h (struct elf_obj_tdata): New BUILD_ID_SIZE, BUILD_ID.
 
71
        * elf.c (elfcore_read_notes): Split to ...
 
72
        (elf_read_notes) ... here ...
 
73
        (elf_parse_notes): ... and here.  Check `bfd_get_format (abfd)' with
 
74
        the former subfunctions called only for BFD_CORE.
 
75
        Call ELFOBJ_GROK_GNU_NOTE for BFD_OBJECT files with the owner "GNU".
 
76
        (_bfd_elf_make_section_from_shdr): Call ELF_PARSE_NOTES for SHT_NOTEs.
 
77
        (bfd_section_from_phdr): Update the call for renamed ELFCORE_READ_NOTES.
 
78
        (elfobj_grok_gnu_build_id, elfobj_grok_gnu_note): New functions.
 
79
        Code advisory: Roland McGrath
 
80
 
 
81
2007-08-24  Daniel Jacobowitz  <dan@codesourcery.com>
 
82
 
 
83
        * elf64-mips.c (elf_backend_sign_extend_vma): Define.
 
84
 
 
85
2007-08-24  Alan Modra  <amodra@bigpond.net.au>
 
86
 
 
87
        * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Warning fix.
 
88
 
 
89
2007-08-23  H.J. Lu  <hongjiu.lu@intel.com>
 
90
 
 
91
        * Makefile.am: Run "make dep-am".
 
92
        * Makefile.in: Regenerated.
 
93
 
 
94
2007-08-23  H.J. Lu  <hongjiu.lu@intel.com>
 
95
 
 
96
        * elf32-i386.c: Include "bfd_stdint.h".
 
97
        (elf_i386_rtype_to_howto): New function.
 
98
        (elf_i386_info_to_howto_rel): Use it.
 
99
        (x86_64_opcode16): New union type.
 
100
        (elf_i386_check_tls_transition): New function.
 
101
        (elf_i386_tls_transition): Updated to check transition and
 
102
        issue an error if a transition isn't supported.
 
103
        (elf_i386_check_relocs): Return FALSE if
 
104
        elf_i386_tls_transition returns FALSE.
 
105
        (elf_i386_gc_sweep_hook): Likewise.
 
106
        (elf_i386_relocate_section): Likewise. Remove BFD_ASSERT
 
107
        on TLS transitions.
 
108
 
 
109
        * elf64-x86-64.c: Include "bfd_stdint.h".
 
110
        (x86_64_opcode16): New union type.
 
111
        (x86_64_opcode32): Likewise.
 
112
        (elf64_x86_64_check_tls_transition): New function.
 
113
        (elf64_x86_64_tls_transition): Updated to check transition and
 
114
        issue an error if a transition isn't supported.
 
115
        (elf64_x86_64_check_relocs): Return FALSE if
 
116
        elf64_x86_64_tls_transition returns FALSE.
 
117
        (elf64_x86_64_gc_sweep_hook): Likewise.
 
118
        (elf64_x86_64_relocate_section): Likewise. Remove BFD_ASSERT
 
119
        on TLS transitions.
 
120
 
 
121
2007-08-22  H.J. Lu  <hongjiu.lu@intel.com>
 
122
 
 
123
        * elfxx-ia64.c: Convert to ISO C90 prototypes.
 
124
        (elfNN_hpux_backend_section_from_bfd_section): Make it static.
 
125
 
 
126
2007-08-22  H.J. Lu  <hongjiu.lu@intel.com>
 
127
 
 
128
        * elf64-x86-64.c: Remove trailing whitespace.
 
129
        * elfxx-ia64.c: Likewise.
 
130
 
 
131
2007-08-21  H.J. Lu  <hongjiu.lu@intel.com>
 
132
 
 
133
        * elf32-i386.c (elf_i386_tls_transition): Accept a pointer
 
134
        to ELF hash entry instead of an integer for local test.
 
135
        (elf_i386_check_relocs): Updated.
 
136
        (elf_i386_gc_sweep_hook): Likewise.
 
137
        (elf_i386_relocate_section): Likewise.
 
138
 
 
139
        * elf64-x86-64.c  (elf64_x86_64_tls_transition): Accept a
 
140
        pointer to ELF hash entry instead of an integer for local
 
141
        test.
 
142
        (elf64_x86_64_check_relocs): Updated.
 
143
        (elf64_x86_64_gc_sweep_hook): Likewise.
 
144
        (elf64_x86_64_relocate_section): Likewise.
 
145
 
 
146
2007-08-20  H.J. Lu  <hongjiu.lu@intel.com>
 
147
 
 
148
        * elf32-i386.c (elf_i386_tls_transition): Break long line.
 
149
        * elf64-x86-64.c (elf64_x86_64_tls_transition): Likewise.
 
150
 
 
151
2007-08-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
152
 
 
153
        * elfxx-target.h [ELF_COMMONPAGESIZE && ELF_MAXPAGESIZE]
 
154
        (ELF_MINPAGESIZE): Fixed its size guess.  Sanity checked its size.
 
155
        (ELF_COMMONPAGESIZE, ELF_MAXPAGESIZE): Sanity checked their size.
 
156
 
 
157
2007-08-20  Nick Clifton  <nickc@redhat.com>
 
158
 
 
159
        * elflink.c (elf_fixup_link_order): Rewrite conversion of
 
160
        s->alignment_power into an offset mask in order to avoid a gcc
 
161
        error message.
 
162
 
 
163
2007-08-17  Jakub Jelinek  <jakub@redhat.com>
 
164
 
 
165
        * config.bfd: Handle sparcv*-*-linux-* the same as sparc-*-linux-*.
 
166
        Change sparc64-*-linux-* to sparc64*-*-linux-*.
 
167
 
 
168
2007-08-17  Alan Modra  <amodra@bigpond.net.au>
 
169
 
 
170
        * po/Make-in: Add --msgid-bugs-address to xgettext invocation.
 
171
 
 
172
2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>
 
173
 
 
174
        * elf.c: Revert last change.
 
175
 
 
176
2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>
 
177
 
 
178
        * elf.c (get_segment_type): Change PT_GNU_STACK to PT_GNU_ATTR.
 
179
        (bfd_section_from_phdr): Likewise.
 
180
        (get_program_header_size): Likewise. Add a PT_GNU_ATTR segment
 
181
        if there is an attribute section.
 
182
        (_bfd_elf_map_sections_to_segments): Likewise.
 
183
        (IS_SECTION_IN_INPUT_SEGMENT): Likewise.
 
184
 
 
185
2007-08-14  H.J. Lu  <hongjiu.lu@intel.com>
 
186
 
 
187
        PR ld/4918
 
188
        * elf32-i386.c (elf_i386_relocate_section): Allow R_386_PC32
 
189
        on ___tls_get_addr for GD->LE/LD->LE transitions when not
 
190
        building shared library.
 
191
 
 
192
        * elf64-x86-64.c (elf64_x86_64_relocate_section): Allow
 
193
        R_X86_64_PC32 on __tls_get_addr for GD->LE/LD->LE transitions
 
194
        when not building shared library.
 
195
 
 
196
2007-08-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
197
 
 
198
        * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): LOADBASE is now
 
199
        initialized only on the first PT_LOAD.  New variable LOADBASE_SET.
 
200
        Removed PF_R checking for IA-64 vDSOs as redundant now.
 
201
        Code advisory: Roland McGrath
 
202
 
 
203
2007-08-13  Richard Sandiford  <richard@codesourcery.com>
 
204
 
 
205
        * elfxx-mips.c (mips_elf_link_hash_table): Add computed_got_sizes.
 
206
        (mips_elf_record_global_got_symbol): Increment local_gotno for
 
207
        each forced-local symbol.
 
208
        (_bfd_mips_elf_check_relocs): Pass forced-local call symbols to
 
209
        mips_elf_record_global_got_symbol for VxWorks too.
 
210
        (_bfd_mips_elf_always_size_sections): Set computed_got_sizes
 
211
        to true after computing the GOT size.
 
212
        (_bfd_mips_elf_hide_symbol): Increase local_gotno whenever
 
213
        got.offset == 1.  Only adjust global_gotno if computed_got_sizes.
 
214
        For VxWorks, add a local entry when hiding a symbol that needs a
 
215
        plt but has not been marked as needing a global got entry.
 
216
        (_bfd_mips_elf_link_hash_table_create): Set computed_got_sizes to
 
217
        false.
 
218
 
 
219
2007-08-12  Daniel Jacobowitz  <dan@codesourcery.com>
 
220
 
 
221
        * coffgen.c (coff_get_normalized_symtab): Correct cast.
 
222
 
 
223
2007-08-13  Alan Modra  <amodra@bigpond.net.au>
 
224
 
 
225
        * elf.c (elf_modify_segment_map): Add remove_empty_load param.
 
226
        Don't remove empty PT_LOAD header if false.
 
227
        (_bfd_elf_map_sections_to_segments): If user phdrs, pass false
 
228
        to elf_modify_segment_map.
 
229
        (assign_file_positions_for_load_sections): Pass false to
 
230
        elf_modify_segment_map.
 
231
 
 
232
2007-08-13  Alan Modra  <amodra@bigpond.net.au>
 
233
 
 
234
        * elf64-ppc.c (ADDI_R12_R12, LD_R11_0R2, LD_R2_0R2): Define.
 
235
        Update stub comments.
 
236
        (build_plt_stub): Build two variants, one without "addis".
 
237
        (ppc_build_one_stub): Build stubs without "addis" if possible.
 
238
        (ppc_size_one_stub): Size new stubs.
 
239
 
 
240
2007-08-11  Richard Sandiford  <richard@codesourcery.com>
 
241
 
 
242
        * config.bfd (sh-*-vxworks): Define targ_underscore to "yes".
 
243
 
 
244
2007-08-09  Michael Snyder  <msnyder@access-company.com>
 
245
 
 
246
        * aoutx.h (aout_get_external_symbols): Return if count is zero.
 
247
 
 
248
2007-08-09  H.J. Lu  <hongjiu.lu@intel.com>
 
249
 
 
250
        PR ld/4909
 
251
        * elf.c (print_segment_map): New function.
 
252
        (assign_file_positions_for_load_sections): Call print_segment_map
 
253
        when a section can't be allocated in segment.
 
254
 
 
255
2007-08-09  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
256
 
 
257
        * opncls.c (bfd_openr_iovec): Fix the OPEN parameter macro expansion.
 
258
 
 
259
2007-08-07  Nick Clifton  <nickc@redhat.com>
 
260
 
 
261
        * po/bfd.pot: Updated template.
 
262
        * po/BLD-POTFILES.in: Regenerate.
 
263
 
 
264
2007-08-07  Alan Modra  <amodra@bigpond.net.au>
 
265
 
 
266
        * elf.c: (_bfd_elf_make_section_from_phdr): Properly handle
 
267
        bss segments.
 
268
 
 
269
2007-08-06  Daniel Jacobowitz  <dan@codesourcery.com>
 
270
 
 
271
        * Makefile.am (BUILD_HFILES): Clean bfd_stdint.h.
 
272
        * Makefile.in: Regenerated.
 
273
 
 
274
2007-08-06  Daniel Jacobowitz  <dan@codesourcery.com>
 
275
 
 
276
        * configure.in: Update version to 2.18.50.
 
277
        * configure: Regenerated.
 
278
 
 
279
2007-08-06  Paul Brook  <paul@codesourcery.com>
 
280
 
 
281
        * elf32-arm.c (elf32_arm_link_hash_entry): Add
 
282
        plt_maybe_thumb_refcount.
 
283
        (elf32_arm_link_hash_newfunc): Set plt_maybe_thumb_refcount.
 
284
        (elf32_arm_copy_indirect_symbol): Ditto.
 
285
        (elf32_arm_adjust_dynamic_symbol): Ditto.
 
286
        (bfd_elf32_arm_process_before_allocation): Handle R_ARM_THM_JUMP24.
 
287
        (arm_add_to_rel): Ditto.
 
288
        (elf32_arm_final_link_relocate): Merge R_ARM_THM_JUMP24 with
 
289
        R_ARM_THM_CALL.  Handle R_ARM_THM_JUMP19 against a PLT stub.
 
290
        (elf32_arm_gc_sweep_hook): Call check_use_blx.  Update plt counts
 
291
        for R_ARM_THM_JUMP24 and R_ARM_THM_JUMP19.
 
292
        (elf32_arm_check_relocs): Update plt counts for R_ARM_THM_JUMP24
 
293
        and R_ARM_THM_JUMP19.  
 
294
        (allocate_dynrelocs): Use plt_maybe_thumb_refcount.
 
295
        (elf32_arm_finish_dynamic_symbol): Ditto.
 
296
        (elf32_arm_output_plt_map): Ditto.
 
297
 
 
298
2007-08-06  Daniel Jacobowitz  <dan@codesourcery.com>
 
299
 
 
300
        * elf.c (rewrite_elf_program_header): Handle sections not sorted
 
301
        by address.
 
302
        (copy_elf_program_header): Likewise.
 
303
 
 
304
2007-08-04  H.J. Lu  <hongjiu.lu@intel.com>
 
305
 
 
306
        * elf-bfd.h (xvec_get_elf_backend_data): Add const.
 
307
 
 
308
        * elfcode.h (elf_object_p): Use xvec_get_elf_backend_data.
 
309
        * elfcore.h (elf_core_file_p): Likewise.
 
310
 
 
311
2007-08-02  H.J. Lu  <hongjiu.lu@intel.com>
 
312
 
 
313
        * coffcode.h (ALIGN_SET): Removed.
 
314
        (ELIFALIGN_SET): Likewise.
 
315
        (coff_set_alignment_hook): Handle IMAGE_SCN_ALIGN_128BYTES,
 
316
        IMAGE_SCN_ALIGN_256BYTES, IMAGE_SCN_ALIGN_512BYTES,
 
317
        IMAGE_SCN_ALIGN_1024BYTES, IMAGE_SCN_ALIGN_2048BYTES,
 
318
        IMAGE_SCN_ALIGN_4096BYTES and IMAGE_SCN_ALIGN_8192BYTES.
 
319
 
 
320
2007-08-01  Michael Snyder  <msnyder@access-company.com>
 
321
 
 
322
        * vms-tir.c (new_section): Fix cut and paste error.
 
323
 
 
324
        * aoutx.h (aout_link_add_symbols): Return if count is zero.
 
325
 
 
326
        * elf.c (bfd_elf_print_symbol): Macro dereferences pointer, so
 
327
        pointer must be non-null.
 
328
 
 
329
2007-08-01  Tristan Gingold  <gingold@adacore.com>
 
330
 
 
331
        * coffcode.h (coff_sort_func_alent): New function.
 
332
        (coff_slurp_line_table): Sort line table if not already sorted.
 
333
 
 
334
2007-08-01  Jakub Jelinek  <jakub@redhat.com>
 
335
 
 
336
        * elf.c (_bfd_elf_map_sections_to_segments): Work around buggy
 
337
        GCC 3.4.x warning.
 
338
 
 
339
2007-08-01  Alan Modra  <amodra@bigpond.net.au>
 
340
 
 
341
        * aoutx.h (swap_ext_reloc_in): Set howto to NULL for unknown
 
342
        r_type.
 
343
        (swap_std_reloc_in): Likewise.
 
344
        (aout_link_input_section_std): Likewise.  Return with an error
 
345
        on unexpected relocation type.
 
346
        (aout_link_input_section_ext): Likewise.
 
347
 
 
348
2007-08-01  Alan Modra  <amodra@bigpond.net.au>
 
349
 
 
350
        PR4694
 
351
        * aoutx.h (final_link): Write a zero in first word of
 
352
        stringtab if no symbols rather than corrupting last byte
 
353
        of text/data.
 
354
 
 
355
2007-07-31  Jakub Jelinek  <jakub@redhat.com>
 
356
 
 
357
        * elf.c (get_program_header_size): Adjacent loadable .note*
 
358
        sections need just one PT_NOTE segment.
 
359
        (_bfd_elf_map_sections_to_segments): Likewise.
 
360
 
 
361
2007-07-30  Michael Snyder  <msnyder@access-company.com>
 
362
 
 
363
        * coffgen.c (_bfd_coff_read_internal_relocs): Revert change of
 
364
        2007-07-26.  Buffer still in use, can't be freed.
 
365
 
 
366
2007-07-27  Michael Snyder  <msnyder@access-company.com>
 
367
 
 
368
        * cofflink.c (coff_link_add_symbols): Return if count is zero.
 
369
 
 
370
        * coff-i386.c (coff_i386_rtype_to_howto): Off by one error.
 
371
 
 
372
        * aoutx.h (slurp_symbol_table): Return if count == 0.
 
373
 
 
374
        * coffgen.c (_bfd_coff_read_internal_relocs): Return if count is zero.
 
375
 
 
376
        * elf32-i386.c (elf_i386_check_relocs): Check for null pointer.
 
377
 
 
378
2007-07-27  H.J. Lu  <hongjiu.lu@intel.com>
 
379
 
 
380
        * config.bfd (x86_64-*-mingw*): Don't include x86_64coff_vec.
 
381
 
 
382
2007-07-26  Michael Snyder  <msnyder@access-company.com>
 
383
 
 
384
        * coff-i386.c (coff_i386_rtype_to_howto): Guard against null.
 
385
 
 
386
        * linker.c (bfd_section_already_linked_table_insert): Change 
 
387
        return type from void to boolean.  Return FALSE on failure.
 
388
        (_bfd_generic_section_already_linked): Test return value of
 
389
        bfd_section_already_linked_table_insert, call fatal on error.
 
390
 
 
391
        * elflink.c (_bfd_elf_section_already_linked): Test return value
 
392
        of bfd_section_already_linked_table_insert, call fatal on error.
 
393
 
 
394
        * libbfd-in.h (bfd_section_already_linked_table_insert): Update
 
395
        return type to bfd_boolean.
 
396
 
 
397
        * libbfd.h: Regenerate.
 
398
 
 
399
2007-07-26  Adam Nemet  <anemet@caviumnetworks.com>
 
400
 
 
401
        * archive.c (do_slurp_bsd_armap, do_slurp_coff_armap,
 
402
        bfd_slurp_armap): Improve function comment.
 
403
 
 
404
2007-07-26  Michael Snyder  <msnyder@access-company.com>
 
405
 
 
406
        * linker.c (already_linked_newfunc): Check for NULL return from
 
407
        bfd_hash_allocate.
 
408
 
 
409
        * coffgen.c (fixup_symbol_value): Guard against null; 
 
410
        bfd_is_com_section will dereference the section pointer.
 
411
 
 
412
        * syms.c (bfd_decode_symclass): Guard against NULL, since 
 
413
        bfd_is_com_section dereferences the pointer.
 
414
 
 
415
        * srec.c (srec_scan): Check for EOF (critical because return value
 
416
        will be used as array index).
 
417
 
 
418
        * coffgen.c (_bfd_coff_read_internal_relocs): If internal_relocs
 
419
        are not to be cached, free the temporary buffer.
 
420
 
 
421
        * aoutx.h (slurp_reloc_table): Return TRUE if reloc_size == zero
 
422
        or count == zero.
 
423
 
 
424
        * tekhex.c (first_phase): Check return value for null.
 
425
 
 
426
        * elf.c (_bfd_elf_get_synthetic_symtab): Remove meaningless 
 
427
        pointer increment.
 
428
 
 
429
2007-07-26  Alan Modra  <amodra@bigpond.net.au>
 
430
 
 
431
        * elflink.c (_bfd_elf_fix_symbol_flags): Remove unnecessary
 
432
        check on dynobj.  Remove bed shadow.
 
433
 
 
434
        * srec.c (srec_get_section_contents): Return immediately on
 
435
        count zero.  Check that offset and count are within section.
 
436
        * libbfd.c (_bfd_generic_get_section_contents): Check that
 
437
        offset + count does not overflow.
 
438
 
 
439
        * srec.c (srec_canonicalize_symtab): Don't alloc when symcount
 
440
        is zero.  Correct return value on error.
 
441
        * mmo.c (mmo_canonicalize_symtab): Likewise.
 
442
        * binary.c (binary_canonicalize_symtab) Correct return on error.
 
443
 
 
444
2007-07-26  Thiemo Seufer  <ths@mips.com>
 
445
 
 
446
        * bfd.c (_bfd_set_gp_value): Use abort instead of BFD_FAIL.
 
447
 
 
448
2007-07-26  Alan Modra  <amodra@bigpond.net.au>
 
449
 
 
450
        * reloc.c (bfd_generic_get_relocated_section_contents): Avoid
 
451
        bfd_canonicalize_reloc call when bfd_get_reloc_upper_bound
 
452
        says there are no relocs.
 
453
 
 
454
2007-07-26  Doug Kwan  <dougkwan@google.com>
 
455
 
 
456
        Speed up bfd_dwarf2_find_line.
 
457
        * dwarf2.c (struct dwarf2_debug): Add new fields to support function
 
458
        and variable info hash tables. Add last_comp_unit, info_hash_count,
 
459
        funcinfo_hash_table, varinfo_hash_table, hash_units_head.
 
460
        (struct comp_unit): Add prev_unit, cached.
 
461
        (struct info_list_node, struct info_hash_entry,
 
462
        struct info_hash_table): New.
 
463
        (info_hash_table_newfunc, create_info_hash_table,
 
464
        insert_info_hash_table, lookup_info_hash_table): New functions
 
465
        implementing function and variable info hash tables.
 
466
        (scan_unit_for_symbols): Add checks to make sure hash tables are
 
467
        consistent with compilation units.
 
468
        (comp_unit_maybe_decode_line_info): New function.
 
469
        (comp_unit_find_line): Use comp_unit_maybe_decode_line_info.
 
470
        (reverse_funcinfo_list, reverse_varinfo_list, comp_unit_hash_info,
 
471
        info_hash_lookup_funcinfo, info_hash_lookup_varinfo,
 
472
        stash_maybe_update_info_hash_table, stash_verify_info_hash_table,
 
473
        stash_maybe_enable_info_hash_tables, stash_find_line_fast): New
 
474
        functions. Make use of info hash tables to speed up
 
475
        bfd_dwarf2_find_line.
 
476
        (find_line): Use hash table for faster lookup if it is turned on.
 
477
        Also add code to maintain bi-directional link in comp units.
 
478
 
 
479
2007-07-25  Michael Snyder  <msnyder@access-company.com>
 
480
 
 
481
        * coffgen.c (_bfd_coff_get_external_symbols): Nothing to be done
 
482
        if size == 0; return and avoid possible null pointer issues.
 
483
 
 
484
2007-07-25  Alan Modra  <amodra@bigpond.net.au>
 
485
 
 
486
        * linker.c (generic_link_add_symbol_list): Warning fix.
 
487
 
 
488
2007-07-24  Michael Snyder  <msnyder@access-company.com>
 
489
 
 
490
        * opncls.c (bfd_make_writable): Check return from bfd_malloc.
 
491
 
 
492
        * elflink.c (bfd_elf_final_link): Avoid redundant frees -- return
 
493
        on bfd_malloc error rather than goto error_return.
 
494
 
 
495
2007-07-24  Alan Modra  <amodra@bigpond.net.au>
 
496
 
 
497
        * elflink.c (_bfd_elf_link_just_syms, merge_sections_remove_hook,
 
498
        _bfd_elf_merge_sections, _bfd_elf_link_hash_newfunc,
 
499
        _bfd_elf_link_hash_copy_indirect, _bfd_elf_link_hash_hide_symbol,
 
500
        _bfd_elf_link_hash_table_init, _bfd_elf_link_hash_table_create,
 
501
        bfd_elf_set_dt_needed_name, bfd_elf_get_dyn_lib_class,
 
502
        bfd_elf_set_dyn_lib_class, bfd_elf_get_needed_list,
 
503
        bfd_elf_get_runpath_list, bfd_elf_get_dt_soname,
 
504
        bfd_elf_get_bfd_needed_list, struct elf_symbuf_symbol,
 
505
        struct elf_symbuf_head, struct elf_symbol, elf_sort_elf_symbol,
 
506
        elf_sym_name_compare, elf_create_symbuf,
 
507
        bfd_elf_match_symbols_in_sections,
 
508
        _bfd_elf_match_sections_by_type): Move to here..
 
509
        * elf.c: ..from here.
 
510
 
 
511
2007-07-23  Richard Sandiford  <richard@codesourcery.com>
 
512
 
 
513
        * elflink.c (_bfd_elf_fix_symbol_flags): Only assert the type
 
514
        of weakdef->root.type if weakdef has no regular definition.
 
515
 
 
516
2007-07-22  Adam Nemet  <anemet@caviumnetworks.com>
 
517
 
 
518
        * elfxx-mips.c (struct mips_elf_link_hash_table): Add new field
 
519
        small_data_overflow_reported.
 
520
        (_bfd_mips_elf_link_hash_table_create): Initialize it.
 
521
        (_bfd_mips_elf_relocate_section) <bfd_reloc_overflow>: Report
 
522
        small-data section overflow.
 
523
 
 
524
2007-07-19  Doug Kwan  <dougkwan@google.com>
 
525
 
 
526
        PR binutils/4797
 
527
        * dwarf2.c: (find_line) Do not dereference functionname_ptr if
 
528
        do_line is true.
 
529
 
 
530
2007-07-18  Bob Wilson  <bob.wilson@acm.org>
 
531
 
 
532
        * elf32-xtensa.c (xtensa_callback_required_dependence): Ignore
 
533
        non-ELF sections.
 
534
 
 
535
2007-07-18  Bob Wilson  <bob.wilson@acm.org>
 
536
 
 
537
        * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Get section
 
538
        vma and size for dynamic tags from the output sections.
 
539
 
 
540
2007-07-18  Alan Modra  <amodra@bigpond.net.au>
 
541
 
 
542
        * elf-bfd.h (struct sym_sec_cache): Delete "sec".  Add "shndx".
 
543
        * elf.c (bfd_section_from_r_symndx): Don't cache bfd section of
 
544
        symbol.  Instead cache ELF section index.  Remove redundant
 
545
        checks of st_shndx.
 
546
 
 
547
2007-07-15  Mike Frysinger  <vapier@gentoo.org>
 
548
 
 
549
        * trad-core.c (NBPG): If not defined, set to getpagesize().
 
550
 
 
551
2007-07-13  Roland McGrath  <roland@redhat.com>
 
552
 
 
553
        * elf-bfd.h (struct elf_obj_tdata): Revert last change.
 
554
        Add after_write_object_contents, after_write_object_contents_info.
 
555
        * elf.c (_bfd_elf_write_object_contents): Revert last change.
 
556
        Instead, call after_write_object_contents if set.
 
557
 
 
558
2007-07-12  Kai Tietz   <kai.tietz@onevision.com>
 
559
 
 
560
        * bfd-in.h: (BFD_HOST_64BIT_LONG_LONG): New.
 
561
        (BFD_HOSTPTR_T): Host pointer type for casting a
 
562
        pointer to an integer type.
 
563
        (bfd_hostptr_t): The typedef of BFD_HOSTPTR_T.
 
564
        (sprintf_vma, fprintf_vma): Add support for long long prints.
 
565
        * bfd-in2.h: Regenerate.
 
566
        * configure.in: (BFD_HOST_64BIT_LONG_LONG): New.
 
567
        (BFD_HOSTPTR_T): Host pointer type for casting a
 
568
        pointer to an integer type. Default is "unsigned long".
 
569
        (AC_CHECK_SIZEOF(void *)): New.
 
570
        (host64): Set it if the pointer size is 8.
 
571
        * configure: Regenerate.
 
572
        * config.in: Add macro SIZEOF_VOID_P.
 
573
        * coffcode.h: Replace host ptr type assuming "long" with
 
574
        bfd_hostptr_t type.
 
575
        * coffgen.c: Likewise.
 
576
        * elf-eh-frame.c: Likewise.
 
577
        * peicode.h: Likewise.
 
578
 
 
579
2007-07-10  H.J. Lu  <hongjiu.lu@intel.com>
 
580
 
 
581
        * Makefile.in: Regenerated.
 
582
 
 
583
2007-07-10  H.J. Lu  <hongjiu.lu@intel.com>
 
584
 
 
585
        PR binutils/4756
 
586
        * simple.c (bfd_simple_get_relocated_section_content): Don't
 
587
        apply relocation on executable and shared library.
 
588
 
 
589
2007-07-10  Nathan Sidwell  <nathan@codesourcery.com>
 
590
 
 
591
        * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't eliminate
 
592
        copy relocs on vxworks.
 
593
 
 
594
2007-07-10  Alan Modra  <amodra@bigpond.net.au>
 
595
 
 
596
        * elf32-arm.c (elf32_arm_size_info): Init checksum_contents field.
 
597
        * elf64-alpha.c (alpha_elf_size_info): Likewise.
 
598
        * elf64-hppa.c (hppa64_elf_size_info): Likewise.
 
599
        * elf64-mips.c (mips_elf64_size_info): Likewise.
 
600
        * elf64-s390.c (s390_elf64_size_info): Likewise.
 
601
        * elf64-sparc.c (elf64_sparc_size_info): Likewise.
 
602
 
 
603
2007-07-09  H.J. Lu  <hongjiu.lu@intel.com>
 
604
 
 
605
        * elflink.c (bfd_elf_record_link_assignment): Handle indirect
 
606
        symbol.
 
607
        (_bfd_elf_merge_symbol): Properly update normal symbol when
 
608
        overriding the versioned symbol from a dynamic library.
 
609
 
 
610
2007-07-09  Roland McGrath  <roland@redhat.com>
 
611
 
 
612
        * elf-bfd.h (struct elf_obj_tdata): Add members
 
613
        emit_note_gnu_build_id and note_gnu_build_id_sec.
 
614
        * elf.c (_bfd_id_note_section_size): New global function.
 
615
        (read_hex, _bfd_elf_write_build_id_section): New static functions.
 
616
        (_bfd_elf_write_object_contents): Call _bfd_elf_write_build_id_section
 
617
        if emit_note_gnu_build_id is set.
 
618
        * Makefile.am (elf.lo): Update dependencies.
 
619
 
 
620
        * elf-bfd.h (struct elf_size_info): Add checksum_contents hook.
 
621
        (bfd_elf32_checksum_contents, bfd_elf64_checksum_contents): Declare.
 
622
        * elfcode.h (elf_checksum_contents): New macro and function.
 
623
        (NAME(_bfd_elf,size_info)): Initialize checksum_contents hook.
 
624
 
 
625
2007-07-06  Michael Snyder  <msnyder@access-company.com>
 
626
 
 
627
        * elflink.c (elf_link_add_object_symbols): Return via
 
628
        error_free_vers on "notice" failure.
 
629
 
 
630
2007-07-04  H.J. Lu  <hongjiu.lu@intel.com>
 
631
 
 
632
        * peicode.h (pe_bfd_object_p): Don't check PE vs. EFI target
 
633
        if arch is unknown.
 
634
 
 
635
2007-07-04  Nick Clifton  <nickc@redhat.com>
 
636
 
 
637
        Import this patch from an internal tree:
 
638
 
 
639
        2001-07-17  Richard Henderson  <rth@redhat.com>
 
640
 
 
641
        * elf32-mep.c (mep_final_link_relocate) [R_MEP_HI16S]: Correctly
 
642
        compensate for high bit set in R_MEP_LOW16.
 
643
 
 
644
2007-07-03  Joseph Myers  <joseph@codesourcery.com>
 
645
 
 
646
        * elf32-arm.c (elf32_arm_merge_eabi_attributes): Copy type from
 
647
        input attributes if value has been copied.
 
648
 
 
649
2007-07-03  Nick Clifton  <nickc@redhat.com>
 
650
 
 
651
        * COPYING: Replace with GPLv3 text.
 
652
        * aix386-core.c: Update copyright notice to refer to GPLv3.
 
653
        * aix5ppc-core.c, aout0.c, aout32.c, aout64.c, aout-adobe.c,
 
654
        aout-arm.c, aout-cris.c, aoutf1.h, aout-ns32k.c, aout-sparcle.c,
 
655
        aout-target.h, aout-tic30.c, aoutx.h, archive64.c, archive.c,
 
656
        archures.c, armnetbsd.c, bfd.c, bfd-in.h, bfdio.c, bfdwin.c,
 
657
        binary.c, bout.c, cache.c, cf-i386lynx.c, cf-sparclynx.c,
 
658
        cisco-core.c, coff64-rs6000.c, coff-alpha.c, coff-apollo.c,
 
659
        coff-arm.c, coff-aux.c, coffcode.h, coffgen.c, coff-go32.c,
 
660
        coff-h8300.c, coff-h8500.c, coff-i386.c, coff-i860.c, coff-i960.c,
 
661
        coff-ia64.c, cofflink.c, coff-m68k.c, coff-m88k.c, coff-maxq.c,
 
662
        coff-mcore.c, coff-mips.c, coff-or32.c, coff-pmac.c, coff-ppc.c,
 
663
        coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c,
 
664
        coff-svm68k.c, coffswap.h, coff-tic30.c, coff-tic4x.c,
 
665
        coff-tic54x.c, coff-tic80.c, coff-u68k.c, coff-w65.c,
 
666
        coff-we32k.c, coff-x86_64.c, coff-z80.c, coff-z8k.c, corefile.c,
 
667
        cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c, cpu-bfin.c,
 
668
        cpu-cr16.c, cpu-cr16c.c, cpu-cris.c, cpu-crx.c, cpu-d10v.c,
 
669
        cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c, cpu-h8300.c,
 
670
        cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c, cpu-i860.c,
 
671
        cpu-i960.c, cpu-ia64.c, cpu-ia64-opc.c, cpu-ip2k.c, cpu-iq2000.c,
 
672
        cpu-m10200.c, cpu-m10300.c, cpu-m32c.c, cpu-m32r.c, cpu-m68hc11.c,
 
673
        cpu-m68hc12.c, cpu-m68k.c, cpu-m88k.c, cpu-maxq.c, cpu-mcore.c,
 
674
        cpu-mep.c, cpu-mips.c, cpu-mmix.c, cpu-msp430.c, cpu-mt.c,
 
675
        cpu-ns32k.c, cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c,
 
676
        cpu-powerpc.c, cpu-rs6000.c, cpu-s390.c, cpu-score.c, cpu-sh.c,
 
677
        cpu-sparc.c, cpu-spu.c, cpu-tic30.c, cpu-tic4x.c, cpu-tic54x.c,
 
678
        cpu-tic80.c, cpu-v850.c, cpu-vax.c, cpu-w65.c, cpu-we32k.c,
 
679
        cpu-xc16x.c, cpu-xstormy16.c, cpu-xtensa.c, cpu-z80.c, cpu-z8k.c,
 
680
        demo64.c, doc/chew.c, dwarf1.c, dwarf2.c, ecoff.c, ecofflink.c,
 
681
        ecoffswap.h, efi-app-ia32.c, efi-app-ia64.c, efi-app-x86_64.c,
 
682
        elf32-am33lin.c, elf32-arc.c, elf32-arm.c, elf32-avr.c,
 
683
        elf32-avr.h, elf32-bfin.c, elf32.c, elf32-cr16.c, elf32-cr16c.c,
 
684
        elf32-cris.c, elf32-crx.c, elf32-d10v.c, elf32-d30v.c,
 
685
        elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-gen.c,
 
686
        elf32-h8300.c, elf32-hppa.c, elf32-hppa.h, elf32-i370.c,
 
687
        elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
 
688
        elf32-iq2000.c, elf32-m32c.c, elf32-m32r.c, elf32-m68hc11.c,
 
689
        elf32-m68hc12.c, elf32-m68hc1x.c, elf32-m68hc1x.h, elf32-m68k.c,
 
690
        elf32-m88k.c, elf32-mcore.c, elf32-mep.c, elf32-mips.c,
 
691
        elf32-msp430.c, elf32-mt.c, elf32-openrisc.c, elf32-or32.c,
 
692
        elf32-pj.c, elf32-ppc.c, elf32-ppc.h, elf32-s390.c, elf32-score.c,
 
693
        elf32-sh64.c, elf32-sh64-com.c, elf32-sh64.h, elf32-sh.c,
 
694
        elf32-sh-symbian.c, elf32-sparc.c, elf32-spu.c, elf32-spu.h,
 
695
        elf32-v850.c, elf32-vax.c, elf32-xc16x.c, elf32-xstormy16.c,
 
696
        elf32-xtensa.c, elf64-alpha.c, elf64.c, elf64-gen.c, elf64-hppa.c,
 
697
        elf64-hppa.h, elf64-mips.c, elf64-mmix.c, elf64-ppc.c,
 
698
        elf64-ppc.h, elf64-s390.c, elf64-sh64.c, elf64-sparc.c,
 
699
        elf64-x86-64.c, elf-attrs.c, elf-bfd.h, elf.c, elfcode.h,
 
700
        elfcore.h, elf-eh-frame.c, elf-hppa.h, elflink.c, elf-m10200.c,
 
701
        elf-m10300.c, elfn32-mips.c, elf-strtab.c, elf-vxworks.c,
 
702
        elf-vxworks.h, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
 
703
        elfxx-sparc.c, elfxx-sparc.h, elfxx-target.h, epoc-pe-arm.c,
 
704
        epoc-pei-arm.c, format.c, freebsd.h, gen-aout.c, genlink.h,
 
705
        hash.c, host-aout.c, hosts/alphavms.h, hp300bsd.c, hp300hpux.c,
 
706
        hppabsd-core.c, hpux-core.c, i386aout.c, i386bsd.c, i386dynix.c,
 
707
        i386freebsd.c, i386linux.c, i386lynx.c, i386mach3.c, i386msdos.c,
 
708
        i386netbsd.c, i386os9k.c, ieee.c, ihex.c, init.c, irix-core.c,
 
709
        libaout.h, libbfd.c, libbfd-in.h, libcoff-in.h, libecoff.h,
 
710
        libhppa.h, libieee.h, libnlm.h, liboasys.h, libpei.h, libxcoff.h,
 
711
        linker.c, lynx-core.c, m68k4knetbsd.c, m68klinux.c, m68knetbsd.c,
 
712
        m88kmach3.c, m88kopenbsd.c, mach-o.c, mach-o.h, mach-o-target.c,
 
713
        mep-relocs.pl, merge.c, mipsbsd.c, mmo.c, netbsd-core.c, netbsd.h,
 
714
        newsos3.c, nlm32-alpha.c, nlm32.c, nlm32-i386.c, nlm32-ppc.c,
 
715
        nlm32-sparc.c, nlm64.c, nlm.c, nlmcode.h, nlmswap.h, nlm-target.h,
 
716
        ns32k.h, ns32knetbsd.c, oasys.c, opncls.c, osf-core.c,
 
717
        pc532-mach.c, pdp11.c, pe-arm.c, pe-arm-wince.c, pef.c, pef.h,
 
718
        pef-traceback.h, pe-i386.c, pei-arm.c, pei-arm-wince.c, peicode.h,
 
719
        pei-i386.c, pei-mcore.c, pei-mips.c, pei-ppc.c, pei-sh.c,
 
720
        pei-x86_64.c, pe-mcore.c, pe-mips.c, pe-ppc.c, pe-sh.c,
 
721
        pe-x86_64.c, peXXigen.c, ppcboot.c, ptrace-core.c, reloc16.c,
 
722
        reloc.c, riscix.c, rs6000-core.c, sco5-core.c, section.c,
 
723
        simple.c, som.c, som.h, sparclinux.c, sparclynx.c, sparcnetbsd.c,
 
724
        srec.c, stabs.c, stab-syms.c, stamp-h.in, sunos.c, syms.c,
 
725
        sysdep.h, targets.c, targmatch.sed, tekhex.c, ticoff.h,
 
726
        trad-core.c, vax1knetbsd.c, vaxbsd.c, vaxnetbsd.c, versados.c,
 
727
        vms.c, vms-gsd.c, vms.h, vms-hdr.c, vms-misc.c, vms-tir.c,
 
728
        xcofflink.c, xcoff-target.h, xsym.c, xsym.h, xtensa-isa.c,
 
729
        xtensa-modules.c: Likewise.
 
730
        * elf32-sh-relocs.h: Add copyright notice.
 
731
        * hosts/alphalinux.h, hosts/decstation.h, hosts/delta68.h,
 
732
        hosts/dpx2.h, hosts/hp300bsd.h, hosts/i386bsd.h,
 
733
        hosts/i386linux.h, hosts/i386mach3.h, hosts/i386sco.h,
 
734
        hosts/i860mach3.h, hosts/m68kaux.h, hosts/m68klinux.h,
 
735
        hosts/m88kmach3.h, hosts/mipsbsd.h, hosts/mipsmach3.h,
 
736
        hosts/news.h, hosts/news-mips.h, hosts/pc532mach.h,
 
737
        hosts/riscos.h, hosts/symmetry.h, hosts/tahoe.h, hosts/vaxbsd.h,
 
738
        hosts/vaxlinux.h, hosts/vaxult2.h, hosts/vaxult.h: Likewise.
 
739
        * bfd-in2.h, libbfd.h, libcoff.h: Regenerate.
 
740
 
 
741
2007-07-02  Joseph Myers  <joseph@codesourcery.com>
 
742
 
 
743
        * elfxx-mips.c (mips_elf_calculate_relocation): Handle
 
744
        R_MIPS_TLS_DTPREL32 and R_MIPS_TLS_DTPREL64.
 
745
        * elf64-mips.c (mips_elf64_howto_table_rela): Support
 
746
        R_MIPS_TLS_DTPREL64.
 
747
 
 
748
2007-07-02  Alan Modra  <amodra@bigpond.net.au>
 
749
 
 
750
        * Makefile.am: Run "make dep-am".
 
751
        * Makefile.in: Regenerate.
 
752
        * aclocal.m4: Regenerate.
 
753
        * config.in: Regenerate.
 
754
        * po/SRC-POTFILES.in: Regenerate.
 
755
        * po/bfd.pot: Regenerate.
 
756
 
 
757
2007-07-02  Alan Modra  <amodra@bigpond.net.au>
 
758
 
 
759
        * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Tidy
 
760
        symsec != NULL tests.
 
761
 
 
762
2007-07-02  Alan Modra  <amodra@bigpond.net.au>
 
763
 
 
764
        PR 4712
 
765
        * elf.c (assign_file_positions_for_load_sections): Adjust lma
 
766
        by p_vaddr_offset.
 
767
 
 
768
2007-06-30  H.J. Lu  <hongjiu.lu@intel.com>
 
769
 
 
770
        * aclocal.m4: Regenerated.
 
771
        * Makefile.in: Likewise.
 
772
 
 
773
2007-06-29  Joseph Myers  <joseph@codesourcery.com>
 
774
 
 
775
        * elf32-ppc.c (ppc_elf_merge_obj_attributes): New.
 
776
        (ppc_elf_merge_private_bfd_data): Call it.
 
777
 
 
778
2007-06-29  Joseph Myers  <joseph@codesourcery.com>
 
779
 
 
780
        * elfxx-mips.c (mips_elf_merge_obj_attributes): New.
 
781
        (_bfd_mips_elf_merge_private_bfd_data): Call it.
 
782
 
 
783
2007-06-29  Joseph Myers  <joseph@codesourcery.com>
 
784
 
 
785
        * elf-attrs.c: New.
 
786
        * Makefile.am (BFD32_BACKENDS): Add elf-attrs.lo.
 
787
        (BFD32_BACKENDS_CFILES): Add elf-attrs.c.
 
788
        (elf-attrs.lo): Generate dependencies.
 
789
        * Makefile.in: Regenerate.
 
790
        * configure.in (elf): Add elf-attrs.lo.
 
791
        * configure: Regenerate.
 
792
        * elf-bfd.h (struct elf_backend_data): Add entries for object
 
793
        attributes.
 
794
        (NUM_KNOWN_OBJ_ATTRIBUTES, obj_attribute, obj_attribute_list,
 
795
        OBJ_ATTR_PROC, OBJ_ATTR_GNU, OBJ_ATTR_FIRST, OBJ_ATTR_LAST,
 
796
        Tag_NULL, Tag_File, Tag_Section, Tag_Symbol, Tag_compatibility):
 
797
        New.
 
798
        (struct elf_obj_tdata): Add entries for object attributes.
 
799
        (elf_known_obj_attributes, elf_other_obj_attributes,
 
800
        elf_known_obj_attributes_proc, elf_other_obj_attributes_proc):
 
801
        New.
 
802
        (bfd_elf_obj_attr_size, bfd_elf_set_obj_attr_contents,
 
803
        bfd_elf_get_obj_attr_int, bfd_elf_add_obj_attr_int,
 
804
        bfd_elf_add_proc_attr_int, bfd_elf_add_obj_attr_string,
 
805
        bfd_elf_add_proc_attr_string, bfd_elf_add_obj_attr_compat,
 
806
        bfd_elf_add_proc_attr_compat, _bfd_elf_attr_strdup,
 
807
        _bfd_elf_copy_obj_attributes, _bfd_elf_obj_attrs_arg_type,
 
808
        _bfd_elf_parse_attributes, _bfd_elf_merge_object_attributes): New.
 
809
        * elf.c (_bfd_elf_copy_private_bfd_data): Copy object attributes.
 
810
        (bfd_section_from_shdr): Handle attributes sections.
 
811
        * elflink.c (bfd_elf_final_link): Handle attributes sections.
 
812
        * elfxx-target.h (elf_backend_obj_attrs_vendor,
 
813
        elf_backend_obj_attrs_section, elf_backend_obj_attrs_arg_type,
 
814
        elf_backend_obj_attrs_section_type): New.
 
815
        (elfNN_bed): Update.
 
816
        * elf32-arm.c (NUM_KNOWN_ATTRIBUTES, aeabi_attribute,
 
817
        aeabi_attribute_list): Remove.
 
818
        (struct elf32_arm_obj_tdata): Remove object attributes fields.
 
819
        (check_use_blx, bfd_elf32_arm_set_vfp11_fix, using_thumb2,
 
820
        elf32_arm_copy_private_bfd_data, elf32_arm_merge_eabi_attributes):
 
821
        Update for new object attributes interfaces.
 
822
        (uleb128_size, is_default_attr, eabi_attr_size,
 
823
        elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute,
 
824
        elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link,
 
825
        elf32_arm_new_eabi_attr, elf32_arm_get_eabi_attr_int,
 
826
        elf32_arm_add_eabi_attr_int, attr_strdup,
 
827
        elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat,
 
828
        copy_eabi_attributes, elf32_arm_parse_attributes): Remove.  Moved
 
829
        to generic code in elf-attrs.c.
 
830
        (elf32_arm_obj_attrs_arg_type): New.
 
831
        (elf32_arm_fake_sections): Do not handle .ARM.attributes.
 
832
        (elf32_arm_section_from_shdr): Do not handle SHT_ARM_ATTRIBUTES.
 
833
        (bfd_elf32_bfd_final_link): Remove.
 
834
        (elf_backend_obj_attrs_vendor, elf_backend_obj_attrs_section,
 
835
        elf_backend_obj_attrs_arg_type,
 
836
        elf_backend_obj_attrs_section_type): New.
 
837
        * elf32-bfin.c (bfin_elf_copy_private_bfd_data): Copy object
 
838
        attributes.
 
839
        * elf32-frv.c (frv_elf_copy_private_bfd_data): Likewise.
 
840
        * elf32-iq2000.c (iq2000_elf_copy_private_bfd_data): Likewise.
 
841
        * elf32-mep.c (mep_elf_copy_private_bfd_data): Likewise.
 
842
        * elf32-mt.c (mt_elf_copy_private_bfd_data): Likewise.
 
843
        * elf32-sh.c (sh_elf_copy_private_data): Likewise.
 
844
        * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
 
845
 
 
846
2007-06-29  Paul Brook  <paul@codesourcery.com>
 
847
 
 
848
        * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Suppress
 
849
        call veneers for call relocations against undefined symbols.
 
850
        (elf32_arm_final_link_relocate): Turn call to undefined symbol
 
851
        into a jump to the next instruction.
 
852
 
 
853
2007-06-29  Michael Snyder  <msnyder@access-company.com>
 
854
 
 
855
        * bfd.c (bfd_demangle): Plug memory leak (Coverity).
 
856
 
 
857
2007-06-29  M R Swami Reddy  <MR.Swami.Reddy@nsc.com>
 
858
 
 
859
        * Makefile.am: Add cr16 related entry
 
860
        * Makefile.in: Regenerate
 
861
        * archures.c: Add bfd_cr16_arch
 
862
        * bfd-in2.h: Regenerate
 
863
        * config.bfd: Add cr16-elf
 
864
        * configure.in: Add bfd_elf32_cr16_vec
 
865
        * configure: Regenerate.
 
866
        * targets.c: Added cr16 related information
 
867
        * cpu-cr16.c: New file.
 
868
        * elf32-cr16.c: New file.
 
869
        * reloc.c: Added cr16 relocs.
 
870
 
 
871
2007-06-29  Alan Modra  <amodra@bigpond.net.au>
 
872
 
 
873
        * elflink.c (_bfd_elf_link_assign_sym_version): Improve error
 
874
        message for undefined version nodes.
 
875
        (elf_gc_sweep): Don't warn when zero size sections are
 
876
        removed.
 
877
 
 
878
2007-06-29  Nathan Froyd  <froydnj@codesourcery.com>
 
879
 
 
880
        * elf32-ppc.c (ppc_elf_info_to_howto): Check for invalid relocation
 
881
        types.
 
882
 
 
883
2007-06-29  Alan Modra  <amodra@bigpond.net.au>
 
884
 
 
885
        * elf32-spu.c (spu_elf_fake_sections): New function.
 
886
        (elf_backend_fake_sections): Define.
 
887
 
 
888
2007-06-29  Alan Modra  <amodra@bigpond.net.au>
 
889
 
 
890
        * elf.c (assign_file_positions_for_load_sections): Use elf
 
891
        section header sh_size rather than bfd section size, simplifying
 
892
        .tbss handling.
 
893
 
 
894
2007-06-29  Alan Modra  <amodra@bigpond.net.au>
 
895
 
 
896
        PR ld/4701
 
897
        * elf.c (assign_file_positions_for_load_sections): Ensure bss
 
898
        segments meet gABI alignment requirements.  Don't allocate
 
899
        file space for bss sections in a segment also containing file
 
900
        or program headers.
 
901
 
 
902
2007-06-27  Alan Modra  <amodra@bigpond.net.au>
 
903
 
 
904
        * bfd.c (struct bfd): Rename "next" to "archive_next".
 
905
        * archive.c: Rename uses throughout file.
 
906
        * archive64.c: Likewise.
 
907
        * coff-rs6000.c: Likewise.
 
908
        * ecoff.c: Likewise.
 
909
        * som.c: Likewise.
 
910
        * bfd-in2.h: Regenerate.
 
911
 
 
912
        * elf32-ppc.c (ppc_elf_select_plt_layout): Properly iterate over
 
913
        input bfds.
 
914
        * elf32-spu.c (spu_elf_create_sections): Likewise.
 
915
 
 
916
2007-06-26  H.J. Lu  <hongjiu.lu@intel.com>
 
917
 
 
918
        * dwarf2.c (find_line): New.  Contains the duplicated code from:
 
919
        (_bfd_dwarf2_find_nearest_line): Use it.
 
920
        (_bfd_dwarf2_find_line): Use it.
 
921
 
 
922
2007-06-26  Joseph Myers  <joseph@codesourcery.com>
 
923
 
 
924
        * elf32-arm.c (copy_eabi_attributes): Copy type of attributes.
 
925
 
 
926
2007-06-25  Richard Sandiford  <richard@codesourcery.com>
 
927
 
 
928
        * elfxx-mips.c (mips_elf_calculate_relocation): Allow local stubs
 
929
        to be used for calls from MIPS16 code.
 
930
 
 
931
2007-06-23  Andreas Schwab  <schwab@suse.de>
 
932
 
 
933
        * configure.in (--with-separate-debug-dir): New option.
 
934
        * configure: Regenerate.
 
935
        * Makefile.am (dwarf2.lo): Add rule to pass DEBUGDIR.
 
936
        * Makefile.in: Regenerate.
 
937
        * dwarf2.c (_bfd_dwarf2_find_nearest_line): Pass DEBUGDIR to
 
938
        bfd_follow_gnu_debuglink.
 
939
        (_bfd_dwarf2_find_line): Likewise.
 
940
 
 
941
2007-06-22  Nick Clifton  <nickc@redhat.com>
 
942
 
 
943
        * dwarf2.c: Add support for reading in debug information via a
 
944
        .gnu_debuglink section:
 
945
        (struct dwarf2_debug): Add bfd field to record the bfd containing
 
946
        the debug info.
 
947
        (parse_comp_unit): Remove ABFD parameter.  Instead use the bfd
 
948
        field in the dwarf2_debug structure.
 
949
        (_bfd_dwarf2_find_nearest_line): If a debug info section could not
 
950
        be found in the current bfd call bfd_follow_gnu_debuglink to see
 
951
        if another file contains the debug information.  If it does, open
 
952
        it and continue.
 
953
        (_bfd_dwarf2_find_line): Likewise.
 
954
 
 
955
2007-06-19  H.J. Lu  <hongjiu.lu@intel.com>
 
956
 
 
957
        PR ld/4590
 
958
        * elfxx-ia64.c (sort_dyn_sym_info): Keep the valid got_offset
 
959
        when removing duplicated entries.
 
960
        (get_dyn_sym_info): Initialize the got_offset field to -1.
 
961
        Update call to sort_dyn_sym_info.
 
962
        (elfNN_ia64_relocate_section): Call sort_dyn_sym_info to sort
 
963
        array of addend and remove duplicates.
 
964
 
 
965
2007-06-18  H.J. Lu  <hongjiu.lu@intel.com>
 
966
 
 
967
        * libpei.h (_bfd_XXi_final_link_postscript): Remove
 
968
        duplication.
 
969
        (bfd_target_pei_p): New.
 
970
        (bfd_target_pei_arch): New
 
971
        (bfd_target_efi_p): Likewise.
 
972
        (bfd_target_efi_arch): New
 
973
        (bfd_pe_executable_p): Use bfd_target_pei_p and
 
974
        bfd_target_efi_p.
 
975
 
 
976
        * peicode.h (arch_type): New enum.
 
977
        (pe_arch): New function.
 
978
        (pe_bfd_object_p): Don't match PE/EFI target with EFI/PE file
 
979
        if there is an EFI/PE target.
 
980
 
 
981
2007-06-14  H.J. Lu  <hongjiu.lu@intel.com>
 
982
 
 
983
        * Makefile.am (ACLOCAL_AMFLAGS): Add -I . -I ../config.
 
984
 
 
985
        * acinclude.m4: Don't include m4 files. Remove libtool
 
986
        kludge.
 
987
 
 
988
        * Makefile.in: Regenerated.
 
989
        * aclocal.m4: Likewise.
 
990
        * configure: Likewise.
 
991
 
 
992
2007-06-11  Sterling Augustine  <sterling@tensilica.com>
 
993
            Bob Wilson  <bob.wilson@acm.org>
 
994
 
 
995
        * elf32-xtensa.c (extend_ebb_bounds_forward): Use renamed
 
996
        XTENSA_PROP_NO_TRANSFORM flag instead of XTENSA_PROP_INSN_NO_TRANSFORM.
 
997
        (extend_ebb_bounds_backward, compute_text_actions): Likewise.
 
998
        (compute_ebb_proposed_actions, coalesce_shared_literal): Likewise.
 
999
        (xtensa_get_property_predef_flags): Likewise.
 
1000
        (compute_removed_literals): Pass new arguments to is_removable_literal.
 
1001
        (is_removable_literal): Add sec, prop_table and ptblsize arguments.
 
1002
        Do not remove literal if the NO_TRANSFORM property flag is set.
 
1003
 
 
1004
2007-05-31  Richard Sandiford  <rsandifo@nildram.co.uk>
 
1005
 
 
1006
        * elfxx-mips.c (mips_elf_initialize_tls_index): When processing a
 
1007
        type (3) single-GOT entry, read tls_type from the hash table entry
 
1008
        rather than the GOT entry.
 
1009
 
 
1010
2007-06-01  Alan Modra  <amodra@bigpond.net.au>
 
1011
 
 
1012
        * simple.c (bfd_simple_get_relocated_section_contents): Init
 
1013
        input_bfds_tail.
 
1014
 
 
1015
2007-05-30  Alan Modra  <amodra@bigpond.net.au>
 
1016
 
 
1017
        * elf.c (elf_fake_sections): Adjust test for SHT_NOBITS sections
 
1018
        created by objcopy --only-keep-debug.
 
1019
        (_bfd_elf_init_private_section_data): Only change elf_section_type
 
1020
        if it is SHT_NULL.
 
1021
 
 
1022
        * elf.c (assign_file_positions_for_load_sections): Correct sh_type
 
1023
        to SHT_NOBITS earlier.  Base actions in rest of function on sh_type
 
1024
        and sh_flags instead of bfd section flags.  Delete voff and code
 
1025
        keeping nobits segments aligned.
 
1026
 
 
1027
2007-05-25  Eric Christopher  <echristo@apple.com>
 
1028
 
 
1029
        * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame):
 
1030
        Check that sym_sec isn't NULL before accessing.
 
1031
 
 
1032
2007-05-24  Steve Ellcey  <sje@cup.hp.com>
 
1033
 
 
1034
        * Makefile.in: Regnerate.
 
1035
        * configure: Regenerate.
 
1036
        * aclocal.m4: Regenerate.
 
1037
        * doc/Makefile.in: Regenerate.
 
1038
 
 
1039
2007-05-22  Paul Brook  <paul@codesourcery.com>
 
1040
 
 
1041
        * elf32-arm.c (output_arch_syminfo): Replace plt_shndx and plt_offset
 
1042
        with sec and sec_shndx.
 
1043
        (elf32_arm_ouput_plt_map_sym): Use them.
 
1044
        (elf32_arm_output_arch_local_syms): Output mapping symbols for
 
1045
        interworking glue.
 
1046
 
 
1047
2007-05-18  Paul Brook  <paul@codesourcery.com>
 
1048
 
 
1049
        * elf32-arm.c (ARM2THUMB_V5_STATIC_GLUE_SIZE): Define.
 
1050
        (a2t1v5_ldr_insn, a2t1v5_ldr_insn): New.
 
1051
        (record_arm_to_thumb_glue): Add v5t non-pic glue.
 
1052
        (elf32_arm_create_thumb_stub): Ditto.
 
1053
 
 
1054
2007-05-16  H.J. Lu  <hongjiu.lu@intel.com>
 
1055
            Alan Modra  <amodra@bigpond.net.au>
 
1056
 
 
1057
        * elflink.c (_bfd_elf_adjust_dynamic_copy): Align dynamic bss
 
1058
        section to the minimum alignment.
 
1059
 
 
1060
2007-05-15  H.J. Lu  <hongjiu.lu@intel.com>
 
1061
            Alan Modra  <amodra@bigpond.net.au>
 
1062
 
 
1063
        PR ld/4504
 
1064
        * elf-bfd.h (_bfd_elf_adjust_dynamic_copy): New.
 
1065
        * elflink.c (_bfd_elf_adjust_dynamic_copy): New.
 
1066
 
 
1067
        * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Call
 
1068
        _bfd_elf_adjust_dynamic_copy to adjust for the copy in dynamic
 
1069
        bss section.
 
1070
        * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
 
1071
        * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
 
1072
        * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
 
1073
        * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
 
1074
        * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
 
1075
        * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
 
1076
        * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
 
1077
        * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
 
1078
        * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
 
1079
        * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
 
1080
        * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
 
1081
        * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
 
1082
        * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
 
1083
        * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
 
1084
        * elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise.
 
1085
        * elfxx-mips.c (_bfd_mips_vxworks_adjust_dynamic_symbol): Likewise.
 
1086
        * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
 
1087
 
 
1088
2007-05-15  Richard Sandiford  <richard@codesourcery.com>
 
1089
 
 
1090
        * elfxx-mips.c (mips_elf_create_local_got_entry): Remove
 
1091
        input_section argument.  Create .rela.dyn relocations against
 
1092
        symbol 0 rather than the section symbol.
 
1093
        (mips_elf_local_got_index): Remove input_section argument.
 
1094
        Update call to mips_elf_create_local_got_entry.
 
1095
        (mips_elf_got_page, mips_elf_got16_entry): Likewise.
 
1096
        (mips_elf_calculate_relocation): Update calls to
 
1097
        mips_elf_local_got_index, mips_elf_got16_entry and mips_elf_got_page.
 
1098
 
 
1099
2007-05-15  Mark Shinwell  <shinwell@codesourcery.com>
 
1100
 
 
1101
        * elf32-arm.c (elf32_arm_final_link_relocate): Correctly
 
1102
        handle the Thumb-2 JUMP19 relocation.
 
1103
 
 
1104
2007-05-15  Alan Modra  <amodra@bigpond.net.au>
 
1105
 
 
1106
        PR 4479
 
1107
        * elf.c (elf_fake_sections): Don't allow backend to change
 
1108
        SHT_NOBITS if called for strip/objcopy --only-keep-debug.
 
1109
        * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove similar
 
1110
        fix from here.
 
1111
 
 
1112
2007-05-14  Alan Modra  <amodra@bigpond.net.au>
 
1113
 
 
1114
        * elf.c (bfd_elf_string_from_elf_section): Return NULL on
 
1115
        invalid shstrndx.
 
1116
        (bfd_elf_get_str_section): Likewise.
 
1117
 
 
1118
2007-05-12  Alan Modra  <amodra@bigpond.net.au>
 
1119
 
 
1120
        PR 4497
 
1121
        * elf-eh-frame.c (struct cie): Add "local_personality".  Make
 
1122
        "personality" a union.
 
1123
        (cie_eq): Compare local_personality too.  Adjust personality
 
1124
        comparison.
 
1125
        (_bfd_elf_discard_section_eh_frame): Check binding on personality
 
1126
        reloc sym to allow for bad symtab.  Use stashed local syms rather
 
1127
        than reading personality local sym.  Handle discarded sections.
 
1128
 
 
1129
2007-05-12  Alan Modra  <amodra@bigpond.net.au>
 
1130
 
 
1131
        * elf32-spu.c (elf_howto_table): Add howto for R_SPU_ADDR16X.
 
1132
 
 
1133
2007-05-11  Alan Modra  <amodra@bigpond.net.au>
 
1134
 
 
1135
        * elf32-ppc.h (ppc_elf_select_plt_layout): Update prototype.
 
1136
        (enum ppc_elf_plt_type): Move from..
 
1137
        * elf32-ppc.c: ..here.
 
1138
        (struct ppc_elf_obj_tdata): Add makes_plt_call and has_rel16.
 
1139
        (struct ppc_elf_link_hash_table): Reorder.  Add old_bfd.  Delete
 
1140
        can_use_new_plt.  Make is_vxworks a bitfield.
 
1141
        (ppc_elf_link_hash_table_create): Don't clear is_vxworks (again).
 
1142
        (ppc_elf_check_relocs): Update setting of reloc flags.  Set old_bfd.
 
1143
        (ppc_elf_select_plt_layout): Modify parameters.  Use bfd reloc
 
1144
        flags to better detect object files needing old bss-style plt.
 
1145
        Allow secure plt to be used without rel16 relocs being detected.
 
1146
        Warn if secure plt request cannot be allowed.
 
1147
 
 
1148
2007-05-11  Alan Modra  <amodra@bigpond.net.au>
 
1149
 
 
1150
        * reloc.c (BFD_RELOC_SPU_PPU32, BFD_RELOC_SPU_PPU64): Define.
 
1151
        * elf-bfd.h (struct elf_backend_data): Change return type of
 
1152
        elf_backend_relocate_section to int.
 
1153
        * elf32-spu.c (elf_howto_table): Add howtos for R_SPU_PPU32 and
 
1154
        R_SPU_PPU64.
 
1155
        (spu_elf_bfd_to_reloc_type): Convert new relocs.
 
1156
        (spu_elf_count_relocs): New function.
 
1157
        (elf_backend_count_relocs): Define.
 
1158
        (spu_elf_relocate_section): Arrange to emit R_SPU_PPU32 and
 
1159
        R_SPU_PPU64 relocs.
 
1160
        * elflink.c (elf_link_input_bfd): Emit relocs if relocate_section
 
1161
        returns 2.
 
1162
        * bfd-in2.h: Regenerate.
 
1163
        * libbfd.h: Regenerate.
 
1164
 
 
1165
2007-05-10  Richard Sandiford  <richard@codesourcery.com>
 
1166
 
 
1167
        * elf32-arm.c (elf32_arm_check_relocs): Don't create PLT entries
 
1168
        for R_ARM_ABS12 relocs.
 
1169
        (elf32_arm_finish_dynamic_symbol): Fix the loop that creates
 
1170
        non-shared VxWorks PLT entries.
 
1171
 
 
1172
2007-05-11  Alan Modra  <amodra@bigpond.net.au>
 
1173
 
 
1174
        PR 4454
 
1175
        * elf-eh-frame.c (struct cie): Make "personality" a bfd_vma.
 
1176
        (_bfd_elf_discard_section_eh_frame): Handle local syms on
 
1177
        personality relocation.
 
1178
 
 
1179
2007-05-10  Richard Sandiford  <richard@codesourcery.com>
 
1180
 
 
1181
        * elf.c (assign_file_positions_for_load_sections): Use p_memsz
 
1182
        rather than p_filesz to calculate the LMA of the end of a segment.
 
1183
 
 
1184
2007-05-10  Jakub Jelinek  <jakub@redhat.com>
 
1185
 
 
1186
        * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't do copyreloc
 
1187
        processing if symbol is defined in the executable.
 
1188
 
 
1189
2007-05-10  Alexandre Oliva  <aoliva@redhat.com>
 
1190
 
 
1191
        * elf32-frv.c (_frvfdpic_check_discarded_relocs): New.
 
1192
        (frvfdpic_elf_discard_info): New.
 
1193
        (elf_backend_discard_info): Define for FDPIC.
 
1194
 
 
1195
2007-05-09  Mark Shinwell  <shinwell@codesourcery.com>
 
1196
 
 
1197
        * elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Don't
 
1198
        attempt to scan if the bfd doesn't correspond to an ELF image.
 
1199
        (bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
 
1200
 
 
1201
2007-05-08  Alexandre Oliva  <aoliva@redhat.com>
 
1202
 
 
1203
        * elf32-frv.c (elf32_frv_relocate_section): Discard dynamic relocs
 
1204
        for which _bfd_elf_section_offset returns -1.
 
1205
 
 
1206
2007-05-08  Alan Modra  <amodra@bigpond.net.au>
 
1207
 
 
1208
        * elf32-spu.c (spu_elf_size_stubs): Use "void *" for psyms.
 
1209
        (mark_functions_via_relocs): Likewise.
 
1210
 
 
1211
2007-05-07  Alan Modra  <amodra@bigpond.net.au>
 
1212
 
 
1213
        * elflink.c (bfd_elf_final_link): Correct reloc handling for
 
1214
        elf_backend_count_relocs.
 
1215
        (bfd_elf_discard_info): Print an error if we can't read syms.
 
1216
 
 
1217
2007-05-07  Alan Modra  <amodra@bigpond.net.au>
 
1218
 
 
1219
        * elf32-spu.c (spu_elf_reloc_type_lookup): Return NULL on
 
1220
        invalid reloc code.
 
1221
        (spu_elf_gc_mark_hook, spu_elf_section_processing): Delete functions.
 
1222
        (elf_backend_gc_mark_hook, elf_backend_section_processing): Don't
 
1223
        define.
 
1224
 
 
1225
2007-05-07  Alan Modra  <amodra@bigpond.net.au>
 
1226
 
 
1227
        * elf.c (assign_file_positions_for_load_sections): Don't check
 
1228
        core segment.
 
1229
 
 
1230
2007-05-04  H.J. Lu  <hongjiu.lu@intel.com>
 
1231
 
 
1232
        * elflink.c (elf_link_sort_relocs): Return if both .rela.dyn
 
1233
        and .rel.dyn aren't present.
 
1234
 
 
1235
2007-05-04  Nick Clifton  <nickc@redhat.com>
 
1236
 
 
1237
        * elflink.c (elf_link_sort_relocs): If both .rela.dyn and .rel.dyn
 
1238
        sections are present examine the indirect sections in an attempt
 
1239
        to compute the correct relocation size.  If there is any
 
1240
        ambiguity, produce an error and refuse to sort.
 
1241
 
 
1242
2007-05-03  Sandra Loosemore  <sandra@codesourcery.com>
 
1243
 
 
1244
        * elf32-arm.c (allocate_dynrelocs): Fix typo in comment.
 
1245
 
 
1246
2007-05-03  Vincent Riviere  <vincent.riviere@freesbee.fr>
 
1247
            Nick Clifton  <nickc@redhat.com>
 
1248
 
 
1249
        PR gas/3041
 
1250
        * aoutx.h (swap_std_reloc_out): Treat relocs against weak symbols
 
1251
        in the same way as relocs against external symbols.
 
1252
 
 
1253
2007-05-02  Alan Modra  <amodra@bigpond.net.au>
 
1254
 
 
1255
        * elf.c (assign_file_positions_for_load_sections): Set sh_offset
 
1256
        here.  Set sh_type to SHT_NOBITS if we won't be allocating
 
1257
        file space.  Don't bump p_memsz for non-alloc sections.  Adjust
 
1258
        section-in-segment check.
 
1259
        (assign_file_positions_for_non_load_sections): Don't set sh_offset
 
1260
        here for sections that have already been handled above.
 
1261
 
 
1262
2007-04-30  Alan Modra  <amodra@bigpond.net.au>
 
1263
 
 
1264
        * elf32-spu.c (struct spu_link_hash_table): Add stack_analysis
 
1265
        and emit_stack_syms bitfields.
 
1266
        (get_sym_h): Read all symbols if stack analysis will be done.
 
1267
        (spu_elf_create_sections): Add stack_analysis and emit_stack_syms
 
1268
        params, and stash in hash table.
 
1269
        (is_hint): Split off from..
 
1270
        (is_branch): ..here.  Adjust callers.
 
1271
        (spu_elf_size_stubs): Add stack_analysis param.  Arrange to read
 
1272
        and keep all syms.
 
1273
        (write_one_stub): Fix mem leak.
 
1274
        (find_function_stack_adjust): New function.
 
1275
        (sort_syms_syms, sort_syms_psecs): New vars.
 
1276
        (sort_syms): New function.
 
1277
        (struct call_info, struct function_info): New.
 
1278
        (struct spu_elf_stack_info): New.
 
1279
        (alloc_stack_info, maybe_insert_function, func_name): New functions.
 
1280
        (is_nop, insns_at_end, check_function_ranges): Likewise.
 
1281
        (find_function, insert_callee, mark_functions_via_relocs): Likewise.
 
1282
        (pasted_function, interesting_section, discover_functions): Likewise.
 
1283
        (mark_non_root, call_graph_traverse, build_call_tree): Likewise.
 
1284
        (sum_stack, spu_elf_stack_analysis, spu_elf_final_link): Likewise.
 
1285
        (bfd_elf32_bfd_final_link): Define.
 
1286
        * elf32-spu.h (struct _spu_elf_section_data): Add stack_info field.
 
1287
        (spu_elf_create_sections, spu_elf_size_stubs): Update prototypes.
 
1288
 
 
1289
2007-04-28  Sergey Rogozhkin  <rogozhkin@niisi.msk.ru>
 
1290
 
 
1291
        * elfxx-mips.c (mips_elf_create_dynamic_relocation): Don't access
 
1292
        memory which we might not own.
 
1293
 
 
1294
2007-04-27  Bob Wilson  <bob.wilson@acm.org>
 
1295
 
 
1296
        * elf32-xtensa.c (elf_xtensa_make_sym_local): Restore deleted function.
 
1297
        (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Likewise.
 
1298
        (elf_xtensa_allocate_dynrelocs): Use elf_xtensa_make_sym_local.
 
1299
 
 
1300
2007-04-27  Bob Wilson  <bob.wilson@acm.org>
 
1301
 
 
1302
        * elf32-xtensa.c (xtensa_read_table_entries): Step through table
 
1303
        contents and relocs in parallel.
 
1304
 
 
1305
2007-04-27  Bob Wilson  <bob.wilson@acm.org>
 
1306
 
 
1307
        * elf32-xtensa.c (relax_property_section): Remove extra irel increment.
 
1308
 
 
1309
2007-04-27  Alan Modra  <amodra@bigpond.net.au>
 
1310
 
 
1311
        * cpu-rs6000.c: Write Mimi's name in ASCII.
 
1312
        * coff-rs6000.c: Likewise.
 
1313
        * rs6000-core.c: Likewise.
 
1314
 
 
1315
2007-04-27  Alan Modra  <amodra@bigpond.net.au>
 
1316
 
 
1317
        * sysdep.h: Include config.h first.
 
1318
        Many files: Include sysdep.h before bfd.h.
 
1319
        * Makefile.am: Run "make dep-am".
 
1320
        * Makefile.in: Regenerate.
 
1321
 
 
1322
2007-04-25  Alan Modra  <amodra@bigpond.net.au>
 
1323
 
 
1324
        * sysdep.h: Revert last change.
 
1325
 
 
1326
2007-04-24  Nick Clifton  <nickc@redhat.com>
 
1327
 
 
1328
        * coffcode.h (coff_slurp_reloc_table): Initialise dst.r_offset.
 
1329
        * coff-m68k.c (m68kcoff_rtype_to_howto): Initialize relent.howto.
 
1330
 
 
1331
2007-04-24  Alan Modra  <amodra@bigpond.net.au>
 
1332
 
 
1333
        * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Warn if
 
1334
        eh_frame_hdr table won't be created.
 
1335
 
 
1336
2007-04-24  Alan Modra  <amodra@bigpond.net.au>
 
1337
 
 
1338
        * acinclude.m4: Include config/stdint.m4.
 
1339
        * configure.in: Invoke GCC_HEADER_STDINT.
 
1340
        * sysdep.h: Don't include ansidecl.h here.
 
1341
        * configure: Regenerate.
 
1342
        * config.in: Regenerate.
 
1343
        * Makefile.in: Regenerate.
 
1344
 
 
1345
2007-04-23  Nathan Sidwell  <nathan@codesourcery.com>
 
1346
 
 
1347
        * archures.c (bfd_mach_mcf_isa_c, bfd_mach_mcf_isa_c_mac,
 
1348
        bfd_mach_mcf_isa_c_emac): New.
 
1349
        * elf32-m68k.c (ISAC_PLT_ENTRY_SIZE, elf_isac_plt0_entry,
 
1350
        elf_isac_plt_entry, elf_isac_plt_info): New.
 
1351
        (elf32_m68k_object_p): Add ISA_C.
 
1352
        (elf32_m68k_print_private_bfd_data): Print ISA_C.
 
1353
        (elf32_m68k_get_plt_info): Detect ISA_C.
 
1354
        * cpu-m68k.c (arch_info): Add ISAC.
 
1355
        (m68k_arch_features): Likewise,
 
1356
        (bfd_m68k_compatible): ISAs B & C are not compatible.
 
1357
 
 
1358
2007-04-21  Nick Clifton  <nickc@redhat.com>
 
1359
 
 
1360
        * ecoff.c (_bfd_ecoff_write_armap): Initialise rehash.
 
1361
        (ecoff_link_add_archive_symbols): Likewise.
 
1362
        * coff-m68k.c (m68kcoff_common_addend_rtype_to_howto): Initialise
 
1363
        relent.howto.
 
1364
        * ieee.c (parse_int): Initialise x.
 
1365
        (must_parse_int): Initialise result.
 
1366
        (ieee_slurp_external_symbols): Initialise value.
 
1367
 
 
1368
2007-04-21  Alan Modra  <amodra@bigpond.net.au>
 
1369
 
 
1370
        * config.bfd (spu-*-elf): Delete targ_selvecs.
 
1371
 
 
1372
2007-04-19  Nick Clifton  <nickc@redhat.com>
 
1373
 
 
1374
        * coffcode.h (coff_rtype_to_howto): Initialise genrel.howto.
 
1375
 
 
1376
2007-04-19  Alan Modra  <amodra@bigpond.net.au>
 
1377
 
 
1378
        * bfd.c (bfd_demangle): New function.
 
1379
        * Makefile.am: Run "make dep-am".
 
1380
        * Makefile.in: Regenerate.
 
1381
        * bfd-in2.h: Regenerate.
 
1382
 
 
1383
2007-04-18  Matthias Klose  <doko@ubuntu.com>
 
1384
 
 
1385
        * Makefile.am (libbfd_la_LDFLAGS): Use bfd soversion.
 
1386
        (bfdver.h): Use the date in non-release builds for the soversion.
 
1387
        * Makefile.in: Regenerate.
 
1388
 
 
1389
2007-04-17  Paul Brook  <paul@codesourcery.com>
 
1390
 
 
1391
        * elf.c (_bfd_elf_is_function_type): New function.
 
1392
        * elflink.c (_bfd_elf_merge_symbol): Use bed->is_function_type.
 
1393
        (_bfd_elf_dynamic_symbol_p, _bfd_elf_symbol_refs_local_p,
 
1394
        is_global_data_symbol_definition, elf_link_add_object_symbols): Ditto.
 
1395
        * elf-bfd.h (elf_backend_data): Add is_function_type.
 
1396
        (_bfd_elf_is_function_type): Add prototype.
 
1397
        * elfxx-target.h (elf_backend_is_function_type): Add default
 
1398
        definition.
 
1399
        (elfNN_bed): Add elf_backend_is_function_type.
 
1400
        * elf32-arm.c (elf32_arm_is_function_type): New function.
 
1401
        (elf_backend_is_function_type): Define.
 
1402
 
 
1403
2007-04-17  Daniel Jacobowitz  <dan@codesourcery.com>
 
1404
 
 
1405
        * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put
 
1406
        DT_MIPS_RLD_MAP before DT_DEBUG again.
 
1407
 
 
1408
2007-04-14  Steve Ellcey  <sje@cup.hp.com>
 
1409
 
 
1410
        * Makefile.am: Add ACLOCAL_AMFLAGS.
 
1411
        * configure.in: Change macro call order.
 
1412
        * Makefile.in: Regnerate.
 
1413
        * doc/Makefile.in: Regenerate.
 
1414
        * configure: Regenerate.
 
1415
 
 
1416
2007-04-14  Jakub Jelinek  <jakub@redhat.com>
 
1417
 
 
1418
        * elflink.c (bfd_elf_final_link): Don't free symbuf for
 
1419
        non-elf input bfds.
 
1420
        (bfd_elf_size_dynamic_sections): Don't access elf_section_data
 
1421
        for non-elf input bfds.
 
1422
 
 
1423
2007-04-12  Richard Sandiford  <richard@codesourcery.com>
 
1424
 
 
1425
        * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
 
1426
        DT_MIPS_RTLD_MAP for PIEs.
 
1427
 
 
1428
2007-04-12  Richard Sandiford  <richard@codesourcery.com>
 
1429
 
 
1430
        * elfxx-mips.c (mips_elf_calculate_relocation): Set DT_TEXTREL
 
1431
        when creating a __GOTT_BASE__ or __GOTT_INDEX__ relocation
 
1432
        in a read-only section.
 
1433
        (_bfd_mips_elf_check_relocs): Likewise.
 
1434
 
 
1435
2007-04-12  Bob Wilson  <bob.wilson@acm.org>
 
1436
 
 
1437
        * elf32-xtensa.c (xtensa_is_insntable_section): New.
 
1438
        (xtensa_is_proptable_section): New.
 
1439
        (elf_xtensa_discard_info_for_section): Handle "full" .xt.prop property
 
1440
        tables with 12-byte entries, as well as tables with 8-byte entries.
 
1441
        Sort the relocations before examining them.
 
1442
        (relax_property_section): Use xtensa_is_proptable_section and
 
1443
        xtensa_is_littable_section.  Rewrite code for combining table entries
 
1444
        to be more robust in case of unexpected relocations.  Do not set offset
 
1445
        of unused relocations to less than zero.
 
1446
        (xtensa_is_property_section): Use other functions instead of
 
1447
        duplicating section name comparisons.
 
1448
        (xtensa_is_littable_section): Use CONST_STRNEQ for ".gnu.linkonce.p.".
 
1449
        (xtensa_get_property_predef_flags): Use xtensa_is_insntable_section.
 
1450
 
 
1451
2007-04-12  Bob Wilson  <bob.wilson@acm.org>
 
1452
 
 
1453
        * elf32-xtensa.c (elf_xtensa_gc_mark_hook): Don't follow references
 
1454
        from Xtensa property sections.
 
1455
 
 
1456
2007-04-12  Alan Modra  <amodra@bigpond.net.au>
 
1457
 
 
1458
        * elf32-spu.c (needs_ovl_stub): Test that spu_elf_section_data
 
1459
        is non-NULL before dereferencing.
 
1460
 
 
1461
2007-04-11  Nathan Sidwell  <nathan@codesourcery.com>
 
1462
 
 
1463
        * elf-vxworks.c (elf_vxworks_emit_relocs): Remap weakdef PLT slot
 
1464
        relocs too.
 
1465
 
 
1466
2007-04-10  Richard Henderson  <rth@redhat.com>
 
1467
 
 
1468
        * elf64-alpha.c (struct alpha_elf_link_hash_table): Add relax_trip.
 
1469
        (elf64_alpha_size_got_sections): Remove unused something_changed local.
 
1470
        (elf64_alpha_size_plt_section): Return void.
 
1471
        (elf64_alpha_size_rela_got_section): Likewise.
 
1472
        (elf64_alpha_relax_section): Only regenerate got+plt if the
 
1473
        relax_trip counter has changed.
 
1474
 
 
1475
2007-04-09  Daniel Jacobowitz  <dan@codesourcery.com>
 
1476
 
 
1477
        * Makefile.am (bfdver.h): Do not generate doc/bfdver.texi.
 
1478
        * doc/Makefile.am (DOCFILES): Add bfdver.texi.
 
1479
        (bfdver.texi): New rule.
 
1480
        * Makefile.in, doc/Makefile.in: Regenerated.
 
1481
 
 
1482
2007-04-03  Matt Thomas  <matt@netbsd.org>
 
1483
 
 
1484
        * elf32-vax.c (elf_vax_relocate_section): Do not emit a PCREL reloc
 
1485
        in a shared object if it is not in a CODE section or if it is against
 
1486
        a section symbol.  This allows DWARF2 to use pcrel format.
 
1487
 
 
1488
2007-04-05  H.J. Lu  <hongjiu.lu@intel.com>
 
1489
 
 
1490
        PR ld/4304
 
1491
        * elflink.c (bfd_elf_final_link): Call einfo callback in
 
1492
        bfd_link_info instead of _bfd_error_handler for DT_TEXTREL
 
1493
        warning.
 
1494
 
 
1495
2007-04-05  Alan Modra  <amodra@bigpond.net.au>
 
1496
 
 
1497
        * elf32-spu.c (spu_elf_output_symbol_hook): New function.
 
1498
        (elf_backend_link_output_symbol_hook): Define.
 
1499
 
 
1500
2007-04-02  Nick Clifton  <nickc@redhat.com>
 
1501
 
 
1502
        PR binutils/4292
 
1503
        * bfd.c (bfd_fprintf_vma): Do not print addresses of 32-bit
 
1504
        targets as 64-bit values, even if running on a 64-bit host.
 
1505
        * coffgen.c (coff_print_symbol): Likewise.
 
1506
 
 
1507
2007-03-29  Nick Clifton  <nickc@redhat.com>
 
1508
 
 
1509
        PR binutils/4110
 
1510
        * elf.c (IS_VALID_GROUP_SECTION_HEADER): New macro.
 
1511
        (setup_group): Use it.  Report corrupt group section headers.
 
1512
        (bfd_section_from_shdr): Use new macro.  Replace constant 4 with
 
1513
        GRP_ENTRY_SIZE.  Cope with NULLs in the group section table.
 
1514
        (elf_fake_section): Replace constant 4 with GRP_ENTRY_SIZE.
 
1515
 
 
1516
2007-03-29  Alan Modra  <amodra@bigpond.net.au>
 
1517
 
 
1518
        PR ld/4267
 
1519
        * elflink.c (evaluate_complex_relocation_symbols): Use bfd_vma
 
1520
        for rel->r_info values.
 
1521
        (bfd_elf_perform_complex_relocation): Likewise.
 
1522
        * elf32-ppc.c (allocate_dynrelocs): Set plt.offset to -1 for
 
1523
        unused entries.  Don't clear plt.plist in loop.
 
1524
 
 
1525
2007-03-28  Richard Sandiford  <richard@codesourcery.com>
 
1526
 
 
1527
        * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Remove append_rela.
 
1528
        * elfxx-sparc.c (sparc_elf_append_rela_64, sparc_elf_append_rela_32):
 
1529
        Merge into...
 
1530
        (sparc_elf_append_rela): ...this new function.
 
1531
        (SPARC_ELF_APPEND_RELA): Delete.
 
1532
        (_bfd_sparc_elf_link_hash_table_create): Don't initialize
 
1533
        the deleted append_rela field.
 
1534
        (_bfd_sparc_elf_relocate_section): Use sparc_elf_append_rela
 
1535
        instead of SPARC_ELF_APPEND_RELA.
 
1536
        (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.  Use the
 
1537
        elf_size_info structure to find the size of a RELA entry and
 
1538
        the associated swap-out function.
 
1539
        (sparc64_finish_dyn, sparc64_finish_dyn): Merge into...
 
1540
        (sparc_finish_dyn): ...this new function.
 
1541
        (_bfd_sparc_elf_finish_dynamic_sections): Update calls accordingly.
 
1542
 
 
1543
2007-03-28  Richard Sandiford  <richard@codesourcery.com>
 
1544
            Phil Edwards  <phil@codesourcery.com>
 
1545
 
 
1546
        * doc/bfd.texinfo: Put the contents after the title page rather
 
1547
        than at the end of the document.
 
1548
 
 
1549
2007-03-27  Andreas Schwab  <schwab@suse.de>
 
1550
 
 
1551
        * elfxx-ia64.c (elf_backend_default_execstack): Define to 0.
 
1552
 
 
1553
2007-03-26  H.J. Lu  <hongjiu.lu@intel.com>
 
1554
 
 
1555
        * configure: Regenerated.
 
1556
 
 
1557
2007-03-26  Alan Modra  <amodra@bigpond.net.au>
 
1558
 
 
1559
        * elf32-spu.c (struct stubarr): Add stub_hash_table and err fields.
 
1560
        (allocate_spuear_stubs): New function.
 
1561
        (spu_elf_size_stubs): Call allocate_spuear_stubs.
 
1562
 
 
1563
2007-03-26  Alan Modra  <amodra@bigpond.net.au>
 
1564
 
 
1565
        * aout-adobe.c (aout_32_bfd_reloc_name_lookup): Define.
 
1566
        * aout-arm.c (MY_bfd_reloc_name_lookup): Define.
 
1567
        (MY (bfd_reloc_name_lookup)): New function.
 
1568
        * aout-ns32k.c (MY (bfd_reloc_name_lookup)): New function.
 
1569
        * aout-target.h (NAME (aout, reloc_name_lookup)): Declare.
 
1570
        (MY_bfd_reloc_name_lookup): Define.
 
1571
        * aout-tic30.c (tic30_aout_reloc_name_lookup): New function.
 
1572
        (MY_bfd_reloc_name_lookup): Define.
 
1573
        * aoutx.h (NAME (aout, reloc_type_lookup)): Don't declare.
 
1574
        (NAME (aout, reloc_name_lookup)): New function.
 
1575
        * bout.c (b_out_bfd_reloc_name_lookup): New function.
 
1576
        * coff-alpha.c (alpha_bfd_reloc_name_lookup): New function.
 
1577
        (_bfd_ecoff_bfd_reloc_name_lookup): Define.
 
1578
        * coff-arm.c (coff_arm_reloc_name_lookup): New function.
 
1579
        (coff_bfd_reloc_name_lookup): Define.
 
1580
        * coff-i386.c (coff_bfd_reloc_name_lookup): Define.
 
1581
        (coff_i386_reloc_name_lookup): New function.
 
1582
        * coff-i860.c (coff_i860_reloc_name_lookup): New function.
 
1583
        (coff_bfd_reloc_name_lookup): Define.
 
1584
        * coff-i960.c (coff_i960_reloc_name_lookup): New function.
 
1585
        (coff_bfd_reloc_name_lookup): Define.
 
1586
        * coff-m68k.c (m68k_reloc_name_lookup): New function.
 
1587
        (coff_bfd_reloc_name_lookup): Define.
 
1588
        * coff-maxq.c (maxq_reloc_name_lookup): New function.
 
1589
        (coff_bfd_reloc_name_lookup): Define.
 
1590
        * coff-mcore.c (mcore_coff_reloc_name_lookup): New function.
 
1591
        (coff_bfd_reloc_name_lookup): Define.
 
1592
        * coff-mips.c (mips_bfd_reloc_name_lookup): New function.
 
1593
        (_bfd_ecoff_bfd_reloc_name_lookup): Define.
 
1594
        * coff-ppc.c (ppc_coff_reloc_name_lookup): New function.
 
1595
        (coff_bfd_reloc_name_lookup): Define.
 
1596
        * coff-rs6000.c (coff_bfd_reloc_name_lookup): Define.
 
1597
        (_bfd_xcoff_reloc_name_lookup): New function.
 
1598
        (rs6000coff_vec, pmac_xcoff_vec): Init new field.
 
1599
        * coff-sh.c (coff_bfd_reloc_name_lookup): Define.
 
1600
        (sh_coff_reloc_name_lookup): New function.
 
1601
        * coff-sparc.c (coff_sparc_reloc_name_lookup): New function.
 
1602
        (coff_bfd_reloc_name_lookup): Define.
 
1603
        * coff-tic30.c (coff_bfd_reloc_name_lookup): Define.
 
1604
        (tic30_coff_reloc_name_lookup): New function.
 
1605
        * coff-tic4x.c (coff_bfd_reloc_name_lookup): Define.
 
1606
        (tic4x_coff_reloc_name_lookup): New function.
 
1607
        * coff-tic54x.c (coff_bfd_reloc_name_lookup): Define.
 
1608
        (tic54x_coff_reloc_name_lookup): New function.
 
1609
        * coff-x86_64.c (coff_bfd_reloc_name_lookup): Define.
 
1610
        (coff_amd64_reloc_name_lookup): New function.
 
1611
        * coff-z80.c (coff_z80_reloc_name_lookup): New function.
 
1612
        (coff_bfd_reloc_name_lookup): Define.
 
1613
        * coff-z8k.c (coff_z8k_reloc_name_lookup): New function.
 
1614
        (coff_bfd_reloc_name_lookup): Define.
 
1615
        * coff64-rs6000.c (coff_bfd_reloc_name_lookup): Define.
 
1616
        (xcoff64_reloc_name_lookup): New function.
 
1617
        (rs6000coff64_vec, aix5coff64_vec): Init new field.
 
1618
        * coffcode.h (coff_bfd_reloc_name_lookup): Define.
 
1619
        * elf-hppa.h (elf_hppa_reloc_name_lookup): New function.
 
1620
        * elf-m10200.c (bfd_elf32_bfd_reloc_name_lookup): New function.
 
1621
        * elf-m10300.c (bfd_elf32_bfd_reloc_name_lookup): New function.
 
1622
        * elf32-arc.c (bfd_elf32_bfd_reloc_name_lookup): New function.
 
1623
        * elf32-arm.c (elf32_arm_reloc_name_lookup): New function.
 
1624
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1625
        * elf32-avr.c (bfd_elf32_bfd_reloc_name_lookup): New function.
 
1626
        * elf32-bfin.c (bfin_bfd_reloc_name_lookup): New function.
 
1627
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1628
        * elf32-cr16c.c (elf_cr16c_reloc_name_lookup): New function.
 
1629
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1630
        * elf32-cris.c (cris_reloc_name_lookup): New function.
 
1631
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1632
        * elf32-crx.c (elf_crx_reloc_name_lookup): New function.
 
1633
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1634
        * elf32-d10v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
 
1635
        * elf32-d30v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
 
1636
        * elf32-dlx.c (elf32_dlx_reloc_name_lookup): New function.
 
1637
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1638
        * elf32-fr30.c (fr30_reloc_name_lookup): New function.
 
1639
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1640
        * elf32-frv.c (frv_reloc_name_lookup): New function.
 
1641
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1642
        * elf32-gen.c (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1643
        * elf32-h8300.c (elf32_h8_reloc_name_lookup): New function.
 
1644
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1645
        * elf32-hppa.c (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1646
        * elf32-i370.c (i370_elf_reloc_name_lookup): New function.
 
1647
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1648
        * elf32-i386.c (elf_i386_reloc_name_lookup): New function.
 
1649
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1650
        * elf32-i860.c (elf32_i860_reloc_name_lookup): New function.
 
1651
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1652
        * elf32-i960.c (elf32_i960_reloc_name_lookup): New function.
 
1653
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1654
        * elf32-ip2k.c (ip2k_reloc_name_lookup): New function.
 
1655
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1656
        * elf32-iq2000.c (iq2000_reloc_name_lookup): New function.
 
1657
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1658
        * elf32-m32c.c (m32c_reloc_name_lookup): New function.
 
1659
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1660
        * elf32-m32r.c (bfd_elf32_bfd_reloc_name_lookup): New function.
 
1661
        * elf32-m68hc11.c (bfd_elf32_bfd_reloc_name_lookup): New function.
 
1662
        * elf32-m68hc12.c (bfd_elf32_bfd_reloc_name_lookup): New function.
 
1663
        * elf32-m68k.c (reloc_name_lookup): New function.
 
1664
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1665
        * elf32-m88k.c (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1666
        * elf32-mcore.c (mcore_elf_reloc_name_lookup): New function.
 
1667
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1668
        * elf32-mep.c (mep_reloc_name_lookup): New function.
 
1669
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1670
        * elf32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
 
1671
        (mips_vxworks_bfd_reloc_name_lookup): Likewise.
 
1672
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1673
        * elf32-msp430.c (bfd_elf32_bfd_reloc_name_lookup): New function.
 
1674
        * elf32-mt.c (mt_reloc_name_lookup): New function.
 
1675
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1676
        * elf32-openrisc.c (openrisc_reloc_name_lookup): New function.
 
1677
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1678
        * elf32-or32.c (bfd_elf32_bfd_reloc_name_lookup): New function.
 
1679
        * elf32-pj.c (pj_elf_reloc_name_lookup): New function.
 
1680
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1681
        * elf32-ppc.c (ppc_elf_reloc_name_lookup): New function.
 
1682
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1683
        * elf32-s390.c (elf_s390_reloc_name_lookup): New function.
 
1684
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1685
        * elf32-score.c (elf32_score_reloc_name_lookup): New function.
 
1686
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1687
        * elf32-sh.c (sh_elf_reloc_name_lookup): New function.
 
1688
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1689
        * elf32-sparc.c (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1690
        * elf32-spu.c (spu_elf_reloc_name_lookup): New function.
 
1691
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1692
        * elf32-v850.c (v850_elf_reloc_name_lookup): New function.
 
1693
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1694
        * elf32-vax.c (reloc_name_lookup): New function.
 
1695
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1696
        * elf32-xc16x.c (xc16x_reloc_name_lookup): New function.
 
1697
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1698
        * elf32-xstormy16.c (xstormy16_reloc_name_lookup): New function.
 
1699
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1700
        * elf32-xtensa.c (elf_xtensa_reloc_name_lookup): New function.
 
1701
        (bfd_elf32_bfd_reloc_name_lookup): Define.
 
1702
        * elf64-alpha.c (elf64_alpha_bfd_reloc_name_lookup): New function.
 
1703
        (bfd_elf64_bfd_reloc_name_lookup): Define.
 
1704
        * elf64-gen.c (bfd_elf64_bfd_reloc_name_lookup): Define.
 
1705
        * elf64-hppa.c (bfd_elf64_bfd_reloc_name_lookup): Define.
 
1706
        * elf64-mips.c (bfd_elf64_bfd_reloc_name_lookup): New function.
 
1707
        * elf64-mmix.c (bfd_elf64_bfd_reloc_name_lookup): New function.
 
1708
        * elf64-ppc.c (ppc64_elf_reloc_name_lookup): New function.
 
1709
        (bfd_elf64_bfd_reloc_name_lookup): Define.
 
1710
        * elf64-s390.c (elf_s390_reloc_name_lookup): New function.
 
1711
        (bfd_elf64_bfd_reloc_name_lookup): Define.
 
1712
        * elf64-sh64.c (sh_elf64_reloc_name_lookup): New function.
 
1713
        (bfd_elf64_bfd_reloc_name_lookup): Define.
 
1714
        * elf64-sparc.c (bfd_elf64_bfd_reloc_name_lookup): Define.
 
1715
        * elf64-x86-64.c (elf64_x86_64_reloc_name_lookup): New function.
 
1716
        (bfd_elf64_bfd_reloc_name_lookup): Define.
 
1717
        * elfn32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
 
1718
        * elfxx-ia64.c (elfNN_ia64_reloc_name_lookup): New function.
 
1719
        (bfd_elfNN_bfd_reloc_name_lookup): Define.
 
1720
        * elfxx-sparc.c (_bfd_sparc_elf_reloc_name_lookup): New function.
 
1721
        * elfxx-sparc.h (_bfd_sparc_elf_reloc_name_lookup): Declare.
 
1722
        * i386msdos.c (msdos_bfd_reloc_name_lookup): Define.
 
1723
        * i386os9k.c (aout_32_bfd_reloc_name_lookup): Define.
 
1724
        * ieee.c (ieee_bfd_reloc_name_lookup): Define.
 
1725
        * libaout.h (NAME (aout, reloc_name_lookup)): Declare.
 
1726
        * libbfd-in.h (_bfd_norelocs_bfd_reloc_name_lookup): Declare.
 
1727
        * mipsbsd.c (MY_bfd_reloc_name_lookup): Define.
 
1728
        (MY(reloc_type_lookup)): Rename from MY(reloc_howto_type_lookup).
 
1729
        (MY(reloc_name_lookup)): New function.
 
1730
        * nlm-target.h (nlm_bfd_reloc_name_lookup): Define.
 
1731
        * oasys.c (oasys_bfd_reloc_name_lookup): Define.
 
1732
        * pdp11.c (NAME (aout, reloc_name_lookup)): New function.
 
1733
        * pe-mips.c (coff_mips_reloc_name_lookup): New function.
 
1734
        (coff_bfd_reloc_name_lookup): Define.
 
1735
        * reloc.c (bfd_reloc_name_lookup): New function.
 
1736
        * riscix.c (riscix_reloc_name_lookup): New function.
 
1737
        (MY_bfd_reloc_name_lookup): Define.
 
1738
        * som.c (som_bfd_reloc_name_lookup): New function.
 
1739
        * targets.c (struct bfd_target): Add reloc_name_lookup.
 
1740
        (BFD_JUMP_TABLE_RELOCS): Add NAME##_bfd_reloc_name_lookup.
 
1741
        * versados.c (versados_bfd_reloc_name_lookup): Define.
 
1742
        * vms.c (vms_bfd_reloc_name_lookup): New function.
 
1743
        * bfd-in2.h: Regenerate.
 
1744
        * libbfd.h: Regenerate.
 
1745
 
 
1746
2007-03-26  Thiemo Seufer  <ths@mips.com>
 
1747
 
 
1748
        PR ld/4208
 
1749
        * elfxx-mips.c (mips_elf_next_relocation): Don't signal an error if no
 
1750
        matching relocation is found.
 
1751
        (_bfd_mips_elf_relocate_section): Only warn about missing relocations.
 
1752
 
 
1753
2007-03-23  H.J. Lu  <hongjiu.lu@intel.com>
 
1754
 
 
1755
        * configure: Regenerated.
 
1756
 
 
1757
2007-03-23  Joseph Myers  <joseph@codesourcery.com>
 
1758
 
 
1759
        * configure.in: Use ACX_PKGVERSION and ACX_BUGURL.
 
1760
        * configure: Regenerate.
 
1761
 
 
1762
2007-03-23  Alan Modra  <amodra@bigpond.net.au>
 
1763
 
 
1764
        * elf32-spu.c (spu_stub_name): Don't put input section in stub name.
 
1765
        Remove input_sec param.  Adjust all calls.
 
1766
        (write_one_stub): Adjust stub symbol.
 
1767
        (needs_ovl_stub): New function, extracted from..
 
1768
        (spu_elf_size_stubs): ..here.
 
1769
        (spu_elf_relocate_section): Use needs_ovl_stub.
 
1770
 
 
1771
2007-03-22  Joseph Myers  <joseph@codesourcery.com>
 
1772
 
 
1773
        * Makefile.am (bfdver.h): Only set VERSION_PACKAGE in bfdver.texi
 
1774
        if nonempty.
 
1775
        * configure.in (REPORT_BUGS_TO): Do not use "URL:" prefix.
 
1776
        * Makefile.in, configure, doc/Makefile.in: Regenerate.
 
1777
 
 
1778
2007-03-22  H.J. Lu  <hongjiu.lu@intel.com>
 
1779
 
 
1780
        PR ld/4210
 
1781
        * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the virtual
 
1782
        address and virtual size of the last section for the image
 
1783
        size.
 
1784
 
 
1785
2007-03-22  H.J. Lu  <hongjiu.lu@intel.com>
 
1786
 
 
1787
        PR ld/4007
 
1788
        * elf.c (assign_file_positions_for_load_sections): Check if
 
1789
        all sections are in the segment.
 
1790
 
 
1791
2007-03-20  H.J. Lu  <hongjiu.lu@intel.com>
 
1792
 
 
1793
        PR ld/4208
 
1794
        * elfxx-mips.c (_bfd_mips_elf_relocate_section): Report missing
 
1795
        matching LO16 relocation for HI16 relocation.
 
1796
 
 
1797
2007-03-20  Paul Brook  <paul@codesourcery.com>
 
1798
 
 
1799
        * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
 
1800
        * bfd-in2.h: Regenerate.
 
1801
        * elf32-arm.c (elf32_arm_link_hash_table): Add pic_veneer.
 
1802
        (record_arm_to_thumb_glue): Use globals->pic_veneer.
 
1803
        (elf32_arm_create_thumb_stub): Ditto.
 
1804
        (bfd_elf32_arm_set_target_relocs): Set globals->pic_veneer.
 
1805
 
 
1806
2007-03-18  Mark Shinwell  <shinwell@codesourcery.com>
 
1807
 
 
1808
        * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add "bfd *"
 
1809
        argument and extra last argument.
 
1810
        * bfd-in2.h: Regenerate.
 
1811
        * elf32-arm.c (elf32_arm_obj_tdata): Add no_enum_size_warning
 
1812
        member.
 
1813
        (bfd_elf32_arm_set_target_relocs): Add "bfd *" argument and
 
1814
        extra last argument.  Set no_enum_size_warning appropriately.
 
1815
        (elf32_arm_merge_eabi_attributes): Improve enum sizes
 
1816
        diagnostic, suppressing it when no_enum_size_warning dictates.
 
1817
 
 
1818
2007-03-20  Nick Clifton  <nickc@redhat.com>
 
1819
 
 
1820
        PR binutils/3535
 
1821
        * elf.c (copy_private_bfd_data): Widen the scope of Solaris
 
1822
        specific conditions that need the program headers to be
 
1823
        rewritten.
 
1824
 
 
1825
2007-03-19  H.J. Lu  <hongjiu.lu@intel.com>
 
1826
 
 
1827
        * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Store Magic,
 
1828
        MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
 
1829
        SizeOfInitializedData, SizeOfUninitializedData,
 
1830
        AddressOfEntryPoint, BaseOfCode and BaseOfData in internal
 
1831
        extra PE a.out header.
 
1832
        (IMAGE_NT_OPTIONAL_HDR_MAGIC): Defined as 0x10b if not defined.
 
1833
        (IMAGE_NT_OPTIONAL_HDR64_MAGIC): Defined as 0x20b if not
 
1834
        defined.
 
1835
        (IMAGE_NT_OPTIONAL_HDRROM_MAGIC): Defined as 0x107 if not
 
1836
        defined.
 
1837
        (_bfd_XX_print_private_bfd_data_common): Also print Magic,
 
1838
        MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
 
1839
        SizeOfInitializedData, SizeOfUninitializedData,
 
1840
        AddressOfEntryPoint, BaseOfCode and BaseOfData from internal
 
1841
        extra PE a.out header.
 
1842
 
 
1843
2007-03-18  H.J. Lu  <hongjiu.lu@intel.com>
 
1844
 
 
1845
        * targets.c (_bfd_target_vector): Add bfd_efi_app_x86_64_vec
 
1846
        only if BFD64 is defined.
 
1847
 
 
1848
2007-03-17  Alan Modra  <amodra@bigpond.net.au>
 
1849
 
 
1850
        * elf32-spu.c (spu_elf_size_stubs): Always use an overlay stub
 
1851
        on setjmp calls.
 
1852
 
 
1853
2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>
 
1854
 
 
1855
        * doc/Makefile.in: Regenerated.
 
1856
 
 
1857
2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>
 
1858
 
 
1859
        * Makefile.am (bfdver.h): Substitute report_bugs_to.  Also
 
1860
        create doc/bfdver.texi.
 
1861
        * Makefile.in: Regenerated.
 
1862
 
 
1863
        * configure.in (--with-bugurl): New option.
 
1864
        * configure: Regenerated.
 
1865
 
 
1866
        * version.h (REPORT_BUGS_TO): New.
 
1867
 
 
1868
2007-03-13  H.J. Lu  <hongjiu.lu@intel.com>
 
1869
 
 
1870
        PR binutils/3826
 
1871
        * elf-bfd.h (elf_backend_data): Add elf_osabi.
 
1872
        (_bfd_elf_set_osabi): New.
 
1873
 
 
1874
        * elf.c (_bfd_elf_set_osabi): New.
 
1875
 
 
1876
        * elf32-hppa.c (elf32_hppa_post_process_headers): Removed.
 
1877
        (elf_backend_post_process_headers): Defined with
 
1878
        _bfd_elf_set_osabi.
 
1879
        (ELF_OSABI): Properly defined for each target.
 
1880
 
 
1881
        * elf32-i370.c (i370_elf_post_process_headers): Removed.
 
1882
        (ELF_OSABI): Defined.
 
1883
        (elf_backend_post_process_headers): Defined with
 
1884
        _bfd_elf_set_osabi.
 
1885
 
 
1886
        * elf32-i386.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
 
1887
        freebsd.
 
1888
        (elf_i386_post_process_headers): Set EI_OSABI with elf_osabi.
 
1889
 
 
1890
        * elf32-msp430.c (elf32_msp430_post_process_headers): Removed.
 
1891
        (ELF_OSABI): Defined.
 
1892
        (elf_backend_post_process_headers): Defined with
 
1893
        _bfd_elf_set_osabi.
 
1894
 
 
1895
        * elf64-alpha.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
 
1896
        freebsd.
 
1897
        (elf64_alpha_fbsd_post_process_headers): Set EI_OSABI with
 
1898
        elf_osabi.
 
1899
 
 
1900
        * elf64-hppa.c (elf64_hppa_post_process_headers): Set EI_OSABI
 
1901
        with elf_osabi.
 
1902
        (ELF_OSABI): Properly defined for each target.
 
1903
        (elf_backend_post_process_headers): Defined with
 
1904
        _bfd_elf_set_osabi for Linux.
 
1905
 
 
1906
        * elf64-sparc.c (elf64_sparc_fbsd_post_process_headers): Removed.
 
1907
        (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
 
1908
        (elf_backend_post_process_headers): Defined with
 
1909
        _bfd_elf_set_osabi.
 
1910
 
 
1911
        * elf64-x86-64.c (elf64_x86_64_fbsd_post_process_headers): Removed.
 
1912
        (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
 
1913
        (elf_backend_post_process_headers): Defined with
 
1914
        _bfd_elf_set_osabi.
 
1915
 
 
1916
        * elfcode.h (elf_object_p): Match the ELFOSABI_NONE ELF target
 
1917
        with any ELF target of the compatible machine for which we do not
 
1918
        have a specific backend.
 
1919
 
 
1920
        * elfxx-ia64.c (elfNN_hpux_post_process_headers): Set EI_OSABI
 
1921
        with elf_osabi.
 
1922
 
 
1923
        * elfxx-target.h (ELF_OSABI): Default to ELFOSABI_NONE.
 
1924
        (elfNN_bed): Initialize elf_osabi with ELF_OSABI.
 
1925
 
 
1926
2007-03-08  Alan Modra  <amodra@bigpond.net.au>
 
1927
 
 
1928
        * elf32-v850.c (v850_elf_link_output_symbol_hook): Clean out
 
1929
        V850_OTHER_* bits.
 
1930
 
 
1931
2007-03-08  Alan Modra  <amodra@bigpond.net.au>
 
1932
 
 
1933
        * Makefile.am (BFD64_BACKENDS): Add efi-app-x86_64.lo.
 
1934
        (BFD64_BACKENDS_CFILES): Add efi-app-x86_64.c.
 
1935
        Run "make dep-am".
 
1936
        * Makefile.in: Regenerate.
 
1937
        * po/SRC-POTFILES.in: Regenerate.
 
1938
 
 
1939
2007-03-07  H.J. Lu  <hongjiu.lu@intel.com>
 
1940
 
 
1941
        * config.bfd (x86_64-*-freebsd*): Add bfd_efi_app_x86_64_vec.
 
1942
        (x86_64-*-kfreebsd*-gnu): Likewise.
 
1943
        (x86_64-*-netbsd*): Likewise.
 
1944
        (x86_64-*-openbsd*): Likewise.
 
1945
        (x86_64-*-linux-*): Likewise.
 
1946
 
 
1947
        * configure.in: Support bfd_efi_app_x86_64_vec.
 
1948
        * configure: Regenerated.
 
1949
 
 
1950
        * efi-app-x86_64.c: New file.
 
1951
 
 
1952
        * targets.c (bfd_efi_app_x86_64_vec): New.
 
1953
        (_bfd_target_vector): Add bfd_efi_app_x86_64_vec.
 
1954
 
 
1955
2007-03-07  Kai Tietz   <kai.tietz@onevision.com>
 
1956
 
 
1957
        * reloc.c (bfd_generic_get_relocated_section_contents): Remove
 
1958
        const for type reloc_howto_type.
 
1959
 
 
1960
2007-03-07  Alan Modra  <amodra@bigpond.net.au>
 
1961
 
 
1962
        PR 3958
 
1963
        * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): No error on relocatable link.
 
1964
        (elf_discarded_section): Move..
 
1965
        * bfd-in.h: ..to here.
 
1966
        * bfd-in2.h: Regenerate.
 
1967
        * elflink.c (elf_link_input_bfd): Don't zap relocs against symbols
 
1968
        from discarded sections before relocate_section has done its job.
 
1969
        * reloc.c (bfd_generic_get_relocated_section_contents): Handle
 
1970
        relocs against symbols from discarded sections.
 
1971
        * elf-hppa.h (elf_hppa_howto_table): Set size.  Set dst_mask on
 
1972
        SECREL32.
 
1973
        (elf_hppa_relocate_section): Handle relocatable link after setting
 
1974
        sec, sym, h etc. for final link.  Squash error messages for
 
1975
        relocatable link.  Clear section contents for relocs against
 
1976
        symbols in discarded sections, and zero reloc.  Remove existing
 
1977
        zero r_symndx code.
 
1978
        * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
 
1979
        * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
 
1980
        * elf32-arm.c (elf32_arm_relocate_section): Likewise.
 
1981
        * elf32-avr.c (elf32_avr_relocate_section): Likewise.
 
1982
        * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
 
1983
        (bfin_relocate_section): Likewise.
 
1984
        * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
 
1985
        * elf32-cris.c (cris_elf_relocate_section): Likewise.
 
1986
        * elf32-crx.c (elf32_crx_relocate_section): Likewise.
76
1987
        * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
 
1988
        * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
 
1989
        * elf32-frv.c (elf32_frv_relocate_section): Likewise.
 
1990
        * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
77
1991
        * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
 
1992
        * elf32-i370.c (i370_elf_relocate_section): Likewise.
78
1993
        * elf32-i386.c (elf_i386_relocate_section): Likewise.
 
1994
        * elf32-i860.c (elf32_i860_relocate_section): Likewise.
 
1995
        * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
 
1996
        * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
 
1997
        * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
 
1998
        * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
 
1999
        * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
 
2000
        * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
 
2001
        * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
 
2002
        * elf32-mep.c (mep_elf_relocate_section): Likewise.
 
2003
        * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
 
2004
        * elf32-mt.c (mt_elf_relocate_section): Likewise.
 
2005
        * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
79
2006
        * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
80
2007
        * elf32-s390.c (elf_s390_relocate_section): Likewise.
 
2008
        * elf32-score.c (_bfd_score_elf_relocate_section): Likewise.
81
2009
        * elf32-sh.c (sh_elf_relocate_section): Likewise.
 
2010
        * elf32-spu.c (spu_elf_relocate_section): Likewise.
 
2011
        * elf32-v850.c (v850_elf_relocate_section): Likewise.
 
2012
        * elf32-vax.c (elf_vax_relocate_section): Likewise.
 
2013
        * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
 
2014
        * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
82
2015
        * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
 
2016
        * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
 
2017
        (elf64_alpha_relocate_section): Likewise.
 
2018
        * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
83
2019
        * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
84
2020
        * elf64-s390.c (elf_s390_relocate_section): Likewise.
 
2021
        * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
85
2022
        * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
 
2023
        * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
 
2024
        * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
86
2025
        * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
87
2026
 
88
 
        * elfxx-ia64.c (elfNN_ia64_relocate_section): Set value to
89
 
        zero for discarded symbols.
 
2027
        * elf32-arm.c (elf32_arm_relocate_section): Always adjust section
 
2028
        symbols for relocatable link.  Don't use always-zero st_value.
 
2029
        (elf_backend_rela_normal): Don't define.
 
2030
        * elf32-bfin.c (bfinfdpic_relocate_section): Use
 
2031
        RELOC_FOR_GLOBAL_SYMBOL.
 
2032
        * elf32-frv.c (elf32_frv_relocate_section): Likewise.
 
2033
        * elf32-d10v.c (elf32_d10v_relocate_section): Combine SEC_MERGE
 
2034
        section symbol adjustments with same for relocatable link.
 
2035
        * elf32-i386.c (elf_i386_relocate_section): Likewise.
 
2036
        * elf32-m68hc1x.c (m68hc11_get_relocation_value): Move..
 
2037
        (elf32_m68hc11_check_relocs): ..to here.
 
2038
        * elf32-score.c (score_elf_final_link_relocate): Remove zero
 
2039
        r_symndx code.
90
2040
        * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
91
2041
 
92
 
2006-11-01  Thiemo Seufer  <ths@mips.com>
93
 
            David Ung  <davidu@mips.com>
94
 
 
95
 
        * elf-bfd.h (local_call_stubs): New member.
96
 
        * elfxx-mips.c (FN_STUB_P, CALL_STUB_P, CALL_FP_STUB_P): New macros.
97
 
        (mips_elf_calculate_relocation): Handle local mips16 call stubs.
98
 
        (mips16_stub_section_p): Rename from mips_elf_stub_section_p, use
99
 
        the new stub macros.
100
 
        (_bfd_mips_elf_check_relocs): Handle call stubs for code which
101
 
        mixes mips16 and mips32 functions. Use mips16_stub_section_p. Mark
102
 
        used stubs with SEC_KEEP. Use the new stub macros.
103
 
 
104
 
2006-11-01  Alan Modra  <amodra@bigpond.net.au>
105
 
 
106
 
        * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Correct
107
 
        check for PLT usage.
108
 
 
109
 
2006-11-01  Daniel Jacobowitz  <dan@codesourcery.com>
110
 
 
111
 
        * elfxx-mips.c (mips_elf_merge_gots): Always use maxcnt.
112
 
 
113
 
2006-10-31  Alan Modra  <amodra@bigpond.net.au>
114
 
 
115
 
        * elf.c (elfcore_write_note): Pad note descriptor to 4-byte
116
 
        boundary.  Tidy.  Comment.
117
 
 
118
 
2006-10-30  H.J. Lu  <hongjiu.lu@intel.com>
119
 
 
120
 
        PR ld/3111
121
 
        * elf-bfd.h (elf_obj_tdata): Add symbuf.
122
 
        (_bfd_elf_section_already_linked): Add struct bfd_link_info *.
123
 
        (_bfd_elf_check_kept_section): Likewise.
124
 
        (bfd_elf_match_symbols_in_sections): Likewise.
125
 
 
126
 
        * elf.c (assign_section_numbers): Updated to add
127
 
        struct bfd_link_info *.
128
 
        (bfd_elf_match_symbols_in_sections): Updated. Cache symbol
129
 
        buffer if info->reduce_memory_overheads is false.
130
 
 
131
 
        * elflink.c (match_group_member): Updated to add
132
 
        struct bfd_link_info *.
133
 
        (_bfd_elf_check_kept_section): Likewise.
134
 
        (elf_link_input_bfd): Likewise.
135
 
        (_bfd_elf_section_already_linked): Likewise.
136
 
        (bfd_elf_final_link): Free symbol buffer if
137
 
        info->reduce_memory_overheads is false.
138
 
 
139
 
        * libbfd-in.h (_bfd_nolink_section_already_linked): Add
140
 
        struct bfd_link_info *.
141
 
        (_bfd_generic_section_already_linked): Likewise.
142
 
        * libbfd.h: Regenerated.
143
 
 
144
 
        * linker.c (bfd_section_already_linked): Add
145
 
        struct bfd_link_info *.
146
 
        (_bfd_generic_section_already_linked): Likewise.
147
 
        * targets.c (bfd_target): Add struct bfd_link_info * to
148
 
        _section_already_linked.
149
 
        * bfd-in2.h: Regenerated.
150
 
 
151
 
2006-10-30  Alan Modra  <amodra@bigpond.net.au>
152
 
 
153
 
        * bfd.c (bfd_error_type): Add bfd_error_on_input.
154
 
        (input_bfd, input_error): New static vars.
155
 
        (bfd_set_error): Handle bfd_error_on_input.
156
 
        (bfd_errmsg): Likewise.
157
 
        (bfd_perror): Simplify.
158
 
        * archive.c (_bfd_write_archive_contents): Report errors on input.
159
 
        * bfd-in2.h: Regenerate.
160
 
 
161
 
2006-10-30  Alan Modra  <amodra@bigpond.net.au>
162
 
 
163
 
        * elf.c (elfcore_write_note): Pad to 4-byte boundary.
164
 
 
165
 
2006-10-28  Richard Sandiford  <richard@codesourcery.com>
166
 
 
167
 
        * elf32-mips.c (elf_mips_howto_table_rel): Add R_MIPS_GLOB_DAT.
168
 
        * elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
169
 
        (elf_mips_howto_table_rela): Likewise.
170
 
        * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
171
 
        (mips_elf64_howto_table_rela): Likewise.
172
 
 
173
 
2006-10-26  H.J. Lu  <hongjiu.lu@intel.com>
174
 
 
175
 
        * elf.c (_bfd_elf_init_private_section_data): Assert output
176
 
        section ELF type instead of check if it is SHT_NULL.  Copy
177
 
        OS/PROC specific flags from input section to output section.
178
 
 
179
 
2006-10-27  Alan Modra  <amodra@bigpond.net.au>
180
 
 
181
 
        * section.c (SEC_KEEP): Update comment.
182
 
        * bfd-in2.h: Regenerate.
183
 
        * elflink.c (bfd_elf_gc_sections): Ignore SEC_EXCLUDE sections.
184
 
        * merge.c (_bfd_merge_sections): Set SEC_KEEP on excluded sections.
185
 
        * stabs.c (_bfd_discard_section_stabs): Likewise.
186
 
        (_bfd_link_section_stabs): Likewise.  Simplify abs_section check.
187
 
 
188
 
2006-10-26  Ben Elliston  <bje@au.ibm.com>
189
 
 
190
 
        * reloc.c (_bfd_relocate_contents): Remove explicit case 0.
191
 
 
192
 
        * elf.c (bfd_section_from_shdr): Remove extraneous breaks.
193
 
        * targets.c (find_target): Remove extraneous break.
194
 
 
195
 
2006-10-26  Ben Elliston  <bje@au.ibm.com>
196
 
 
197
 
        * coff-maxq.c (coff_maxq20_reloc): Remove unused variable `howto'.
198
 
        (struct maxq_reloc_map): Unused; remove.
199
 
        (maxq_reloc_map): Likewise.
200
 
        (maxq_reloc_type_lookup): Remove loop over maxq_reloc_map.
201
 
 
202
 
2006-10-26  Ben Elliston  <bje@au.ibm.com>
203
 
 
204
 
        * elf.c (bfd_elf_set_dyn_lib_class): Change second argument type
205
 
        from int to enum dynamic_lib_link_class lib_class.
206
 
        * bfd-in.h (bfd_elf_set_dyn_lib_class): Likewise.
207
 
        * bfd-in2.h: Regenerate.
208
 
 
209
 
2006-10-25  Alan Modra  <amodra@bigpond.net.au>
210
 
            Trevor Smigiel  <Trevor_Smigiel@playstation.sony.com>
211
 
            Yukishige Shibata  <shibata@rd.scei.sony.co.jp>
212
 
            Nobuhisa Fujinami  <fnami@rd.scei.sony.co.jp>
213
 
            Takeaki Fukuoka  <fukuoka@rd.scei.sony.co.jp>
214
 
 
215
 
        * cpu-spu.c: New file.
216
 
        * elf32-spu.c: New file.
217
 
        * elf32-spu.h: New file.
218
 
        * archures.c: Add SPU support.
219
 
        * config.bfd: Likewise.
220
 
        * configure.in: Likewise.
221
 
        * reloc.c: Likewise.
222
 
        * targets.c: Likewise.
223
 
        * Makefile.am: Likewise.  Run "make dep-am".
224
 
        * libbfd.h: Regenerate.
225
 
        * bfd-in2.h: Regenerate.
226
 
        * Makefile.in: Regenerate.
227
 
        * configure: Regenerate.
228
 
        * po/SRC-POTFILES.in: Regenerate.
229
 
 
230
 
2006-10-23  Alan Modra  <amodra@bigpond.net.au>
231
 
 
232
 
        * elf64-ppc.c (ppc64_elf_edit_opd): Clarify comment.
233
 
 
234
 
2006-10-23  Alan Modra  <amodra@bigpond.net.au>
235
 
 
236
 
        * elf32-score.c: Formatting.
237
 
        (elf_backend_omit_section_dynsym): Define.
238
 
        (score_elf_create_dynamic_relocation): Remove code copied from mips.
239
 
        Don't use section syms in dynamic relocs.  Remove unused param.
240
 
        (score_elf_final_link_relocate): Remove unused param.
241
 
 
242
 
2006-10-23  Alan Modra  <amodra@bigpond.net.au>
243
 
 
244
 
        * linker.c (fix_syms): Choose best of previous and next
245
 
        section based on section flags and vma.
246
 
 
247
 
2006-10-21  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
248
 
 
249
 
        * elf32-sh64.c (sh64_elf_merge_symbol_attribute): Do merging
250
 
        only when the non visibility part of st_other is non-zero.
251
 
        * elf64-sh64.c (sh64_elf64_merge_symbol_attribute): Likewise.
252
 
 
253
 
2006-10-20  Richard Sandiford  <richard@codesourcery.com>
254
 
 
255
 
        * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't extend
256
 
        PT_DYNAMIC on GNU/Linux targets.
257
 
 
258
 
2006-10-20  Richard Sandiford  <richard@codesourcery.com>
259
 
 
260
 
        * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Make the
261
 
        size of .rel.dyn reflect the value of DT_RELSZ.
262
 
 
263
 
2006-10-20  Richard Sandiford  <richard@codesourcery.com>
264
 
 
265
 
        * elfxx-mips.c (_bfd_mips_elf_additional_program_headers): Allocate
266
 
        a PT_NULL header for dynamic objects.
267
 
        (_bfd_mips_elf_modify_segment_map): Add it.
268
 
 
269
 
2006-10-19  Mei Ligang  <ligang@sunnorth.com.cn>
270
 
 
271
 
        * elf32-score.c (score_elf_rel_dyn_section): Replace
272
 
        bfd_make_section with bfd_make_section_with_flags.
273
 
        (_bfd_score_elf_create_dynamic_sections): Ditto.
274
 
        (score_elf_create_got_section): Ditto.
275
 
        (score_elf_final_link_relocate): Delete referrence to
276
 
        EF_SCORE_HASENTRY.
277
 
 
278
 
2006-10-19  Richard Sandiford  <richard@codesourcery.com>
279
 
 
280
 
        * elfxx-mips.c (sort_dynamic_relocs): Sort relocations against the
281
 
        same symbol by increasing r_offset.
282
 
        (sort_dynamic_relocs_64): Likewise.  Fix comparisons between very
283
 
        large and very small symbol indexes.
284
 
 
285
 
2006-10-19  Richard Sandiford  <richard@codesourcery.com>
286
 
 
287
 
        * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Add DT_DEBUG
288
 
        and DT_MIPS_RLD_MAP tags for position-independent executables.
289
 
        Do not add DT_DEBUG to shared libraries for any MIPS target.
290
 
 
291
 
2006-10-18  H.J. Lu  <hongjiu.lu@intel.com>
292
 
 
293
 
        PR ld/3290
294
 
        * elflink.c (elf_link_add_object_symbols): Hide definitions in
295
 
        debug sections.
296
 
 
297
 
2006-10-19  Alan Modra  <amodra@bigpond.net.au>
298
 
 
299
 
        * elf32-arm.c (bfd_elf32_arm_allocate_interworking_sect): Check,
300
 
        don't set, glue section size.
301
 
        (record_arm_to_thumb_glue): Set glue section size here.
302
 
        (record_thumb_to_arm_glue): Likewise.
303
 
        (bfd_elf32_arm_add_glue_sections_to_bfd): Formatting.
304
 
        (bfd_elf32_arm_process_before_allocation): Ignore exluded sections.
305
 
 
306
 
2006-10-18  Roy Marples  <uberlord@gentoo.org>
307
 
 
308
 
        * elf64-sparc.c: Add FreeBSD support.
309
 
        (elf64_sparc_fbsd_post_process_headers): New function.
310
 
        * targets.c (_bfd_target_vector): Add bfd_elf64_sparc_freebsd_vec.
311
 
        * config.bfd (sparc64-*-freebsd*): Set targ_defvec to bfd_elf64_sparc_freebsd_vec.
312
 
        * configure.in: Add entry for bfd_elf64_sparc_freebsd_vec.
313
 
        * configure: Regenerate.
314
 
 
315
 
2006-10-17  Mark Shinwell  <shinwell@codesourcery.com>
316
 
 
317
 
        * elf32-arm.c (elf32_arm_final_link_relocate): Add support for
318
 
        R_ARM_MOVW_BREL_NC, R_ARM_MOVW_BREL, R_ARM_MOVT_BREL,
319
 
        R_ARM_THM_MOVW_BREL_NC, R_ARM_THM_MOVW_BREL and
320
 
        R_ARM_THM_MOVT_BREL relocations.
321
 
 
322
 
2006-10-17  Mark Shinwell  <shinwell@codesourcery.com>
323
 
 
324
 
        * elf32-arm.c (elf32_arm_howto_table_1): Change offset for
325
 
        R_THM_CALL to 25 and remove FIXME comment.
326
 
        (using_thumb2): New function.
327
 
        (elf32_arm_final_link_relocate): Cope with Thumb-2 BL encoding.
328
 
 
329
 
2006-10-17  Mark Shinwell  <shinwell@codesourcery.com>
330
 
 
331
 
        * elf32-arm.c (elf32_arm_final_link_relocate): Add cases
332
 
        for R_ARM_ABS32_NOI and R_ARM_REL32_NOI.
333
 
        (elf32_arm_gc_sweep_hook): Likewise.
334
 
        (elf32_arm_check_relocs): Likewise.
335
 
        (allocate_dynrelocs): Likewise.
336
 
 
337
 
2006-10-17  Alan Modra  <amodra@bigpond.net.au>
338
 
 
339
 
        * elf-bfd.h (struct elf_link_hash_table): Reorder.  Add
340
 
        text_index_section and data_index_section.
341
 
        (struct elf_backend_data): Add elf_backend_init_index_section.
342
 
        (_bfd_elf_init_1_index_section): Declare.
343
 
        (_bfd_elf_init_2_index_sections): Declare.
344
 
        * elfxx-target.h (elf_backend_init_index_section): Define.
345
 
        (elfNN_bed): Init new field.
346
 
        * elflink.c (_bfd_elf_link_omit_section_dynsym): Keep first tls
347
 
        section and text_index_section plus data_index_section.
348
 
        (_bfd_elf_link_renumber_dynsyms): Clear dynindx on omitted sections.
349
 
        (_bfd_elf_init_1_index_section): New function.
350
 
        (_bfd_elf_init_2_index_sections): New function.
351
 
        (bfd_elf_size_dynsym_hash_dynstr): Call elf_backend_init_index_section.
352
 
        (elf_link_input_bfd): When emitting relocs, use text_index_section
353
 
        and data_index_section for removed sections.
354
 
        * elf-m10300.c (elf_backend_omit_section_dynsym): Define.
355
 
        * elf32-i386.c: Likewise.
356
 
        * elf32-m32r.c: Likewise.
357
 
        * elf32-sh.c: Likewise.
358
 
        * elf32-xstormy16.c: Likewise.
359
 
        * elf32-xtensa.c: Likewise.
360
 
        * elf64-alpha.c: Likewise.
361
 
        * elf64-hppa.c: Likewise.
362
 
        * elf64-mmix.c: Likewise.
363
 
        * elf64-sh64.c: Likewise.
364
 
        * elfxx-ia64.c: Likewise.
365
 
        * elf32-arm.c (elf32_arm_final_link_relocate): Use text_index_section
366
 
        and data_index_section sym for relocs against sections with no dynamic
367
 
        section sym.
368
 
        (elf_backend_init_index_section): Define.
369
 
        * elf32-cris.c: Similarly.
370
 
        * elf32-hppa.c: Similarly.
371
 
        * elf32-i370.c: Similarly.
372
 
        * elf32-m68k.c: Similarly.
373
 
        * elf32-mips.c: Similarly.
374
 
        * elf32-ppc.c: Similarly.
375
 
        * elf32-s390.c: Similarly.
376
 
        * elf32-sparc.c: Similarly.
377
 
        * elf32-vax.c: Similarly.
378
 
        * elf64-mips.c: Similarly.
379
 
        * elf64-ppc.c: Similarly.
380
 
        * elf64-s390.c: Similarly.
381
 
        * elf64-sparc.c: Similarly.
382
 
        * elf64-x86-64.c: Similarly.
383
 
        * elfn32-mips.c: Similarly.
384
 
        * elfxx-mips.c: Similarly.
385
 
        * elfxx-sparc.c: Similarly.
386
 
        * linker.c (fix_syms): Base symbols in removed sections on
387
 
        previous section in preference to using absolute section.
388
 
 
389
 
2006-10-16  Andreas Schwab  <schwab@suse.de>
390
 
 
391
 
        * elfxx-ia64.c (addend_compare): Properly compute return value.
392
 
 
393
 
2006-10-15  H.J. Lu  <hongjiu.lu@intel.com>
394
 
 
395
 
        PR ld/3314
396
 
        * elf.c (assign_file_positions_for_non_load_sections): Don't
397
 
        page align empty SHF_ALLOC sections.
398
 
 
399
 
2006-10-13  Jakub Jelinek  <jakub@redhat.com>
400
 
 
401
 
        * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_sections): Set
402
 
        .plt sh_entsize to 0 if plt header size isn't multiple of
403
 
        plt entry size or for 32-bit which adds a nop insn at the
404
 
        end of the .plt section.
405
 
 
406
 
2006-10-12  Bob Wilson  <bob.wilson@acm.org>
407
 
 
408
 
        * elf32-xtensa.c (elf_xtensa_action_discarded): New.
409
 
        (elf_backend_action_discarded): Define.
410
 
 
411
 
2006-10-11  Bob Wilson  <bob.wilson@acm.org>
412
 
 
413
 
        * elf32-xtensa.c (elf_xtensa_relocate_section): Return after
414
 
        unresolvable relocation error.
415
 
        (elf_xtensa_finish_dynamic_symbol): Set value of undefined, weak
416
 
        symbols to zero.
417
 
 
418
 
2006-10-10  Bob Wilson  <bob.wilson@acm.org>
419
 
 
420
 
        * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Add DT_DEBUG
421
 
        for PIE executables.
422
 
 
423
 
2006-10-03  Jakub Jelinek  <jakub@redhat.com>
424
 
 
425
 
        * elf-bfd.h (struct eh_cie_fde): Add set_loc pointer.
426
 
        * elf-eh-frame.c (skip_cfa_op): Fix handling of DW_CFA_advance_loc.
427
 
        Handle DW_CFA_{remember,restore}_state, DW_CFA_GNU_window_save,
428
 
        DW_CFA_val_{offset{,_sf},expression}.
429
 
        (skip_non_nops): Record number of DW_CFA_set_loc ops.
430
 
        (_bfd_elf_discard_section_eh_frame): Require skip_non_nops recognizes
431
 
        all ops.  If there are any DW_CFA_set_loc ops and they are pcrel
432
 
        or going to be pcrel, compute set_loc array.
433
 
        (_bfd_elf_eh_frame_section_offset): If make_relative, kill relocations
434
 
        against DW_CFA_set_loc operands.
435
 
        (_bfd_elf_write_section_eh_frame): Handle DW_CFA_set_loc adjusting.
436
 
 
437
 
2006-10-02  Daniel Jacobowitz  <dan@codesourcery.com>
438
 
 
439
 
        * elflink.c (_bfd_elf_merge_symbol): Discard references to TLS
440
 
        symbols from the --just-syms file.
441
 
 
442
 
2006-10-01  Alan Modra  <amodra@bigpond.net.au>
443
 
 
444
 
        * elf64-ppc.c (ppc64_elf_build_stubs): Test glink size for
445
 
        existence of PLT.
446
 
 
447
 
2006-09-29  H.J. Lu  <hongjiu.lu@intel.com>
448
 
 
449
 
        PR ld/3283
450
 
        * elf64-x86-64.c (elf64_x86_64_relocate_section): Don't ignore
451
 
        relocation overflow on branches to undefweaks.
452
 
 
453
 
2006-09-29  Alan Modra  <amodra@bigpond.net.au>
454
 
 
455
 
        * po/BLD-POTFILES.in: Regenerate.
456
 
        * po/SRC-POTFILES.in: Regenerate.
457
 
 
458
 
2006-09-29  Danny Smith  <dannysmith@users.sourceforge.net>
459
 
 
460
 
        PR 3276
461
 
        * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
462
 
        alignment for .data$, .rdata$ and .text$ sections so that sse
463
 
        and sse2 code will work for linkonce sections too.
464
 
        * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
465
 
 
466
 
2006-09-28  Alan Modra  <amodra@bigpond.net.au>
467
 
 
468
 
        * elflink.c (_bfd_elf_gc_mark_hook): New function.
469
 
        * elf-bfd.h (_bfd_elf_gc_mark_hook): Declare.
470
 
        * elfxx-target.h (elf_backend_gc_mark_hook): Default to above.
471
 
        * elf-m10300.c (mn10300_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
472
 
        * elf32-arm.c (elf32_arm_gc_mark_hook): Likewise.
473
 
        * elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
474
 
        * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
475
 
        * elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
476
 
        * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
477
 
        * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
478
 
        * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
479
 
        * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
480
 
        * elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
481
 
        * elf32-score.c (_bfd_score_elf_gc_mark_hook): Likewise.
482
 
        * elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
483
 
        * elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
484
 
        * elf32-xtensa.c (elf_xtensa_gc_mark_hook): Likewise.
485
 
        * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
486
 
        * elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
487
 
        * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
488
 
        * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
489
 
        * elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Likewise.
490
 
        * elf32-bfin.c (bfin_gc_mark_hook): Likewise.
491
 
        (bfinfdpic_gc_sweep_hook): Delete.
492
 
        (elf_backend_gc_sweep_hook): Don't define for elf32-bfinfdpic.
493
 
        * elf32-d10v.c (elf32_d10v_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
494
 
        (elf32_d10v_gc_sweep_hook): Delete.
495
 
        (elf_backend_gc_sweep_hook): Don't define.
496
 
        * elf32-fr30.c (fr30_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
497
 
        (fr30_elf_gc_sweep_hook): Delete.
498
 
        (elf_backend_gc_sweep_hook): Don't define.
499
 
        * elf32-frv.c (elf32_frv_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
500
 
        (elf32_frv_gc_sweep_hook): Delete.
501
 
        (elf_backend_gc_sweep_hook): Don't define.
502
 
        * elf32-iq2000.c (iq2000_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
503
 
        (iq2000_elf_gc_sweep_hook): Delete.
504
 
        (elf_backend_gc_sweep_hook): Don't define.
505
 
        * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Use
506
 
        _bfd_elf_gc_mark_hook.
507
 
        (openrisc_elf_gc_sweep_hook): Delete.
508
 
        (elf_backend_gc_sweep_hook): Don't define.
509
 
        * elf32-v850.c (v850_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
510
 
        (v850_elf_gc_sweep_hook): Delete.
511
 
        (elf_backend_gc_sweep_hook): Don't define.
512
 
        * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Use
513
 
        _bfd_elf_gc_mark_hook.
514
 
        (xstormy16_elf_gc_sweep_hook): Delete.
515
 
        (elf_backend_gc_sweep_hook): Don't define.
516
 
        * elf64-sh64.c (sh_elf64_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
517
 
        (sh_elf64_gc_sweep_hook): Delete.
518
 
        (elf_backend_gc_sweep_hook): Don't define.
519
 
        * elf32-avr.c (elf32_avr_gc_mark_hook): Delete.
520
 
        (elf32_avr_gc_sweep_hook): Delete.
521
 
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
522
 
        * elf32-cr16c.c (elf32_cr16c_gc_mark_hook): Delete.
523
 
        (elf32_cr16c_gc_sweep_hook): Delete.
524
 
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
525
 
        * elf32-crx.c (elf32_crx_gc_mark_hook): Delete.
526
 
        (elf32_crx_gc_sweep_hook): Delete.
527
 
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
528
 
        * elf32-h8300.c (elf32_h8_gc_mark_hook): Delete.
529
 
        (elf32_h8_gc_sweep_hook): Delete.
530
 
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
531
 
        * elf32-ip2k.c (ip2k_elf_gc_mark_hook): Delete.
532
 
        (ip2k_elf_gc_sweep_hook): Delete.
533
 
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
534
 
        * elf32-m32c.c (m32c_elf_gc_mark_hook, m32c_elf_gc_sweep_hook): Delete.
535
 
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
536
 
        * elf32-m68hc11.c (elf_backend_gc_mark_hook): Don't define.
537
 
        (elf_backend_gc_sweep_hook): Don't define.
538
 
        * elf32-m68hc12.c (elf_backend_gc_mark_hook): Don't define.
539
 
        (elf_backend_gc_sweep_hook): Don't define.
540
 
        * elf32-m68hc1x.c (elf32_m68hc11_gc_mark_hook): Delete.
541
 
        (elf32_m68hc11_gc_sweep_hook): Delete.
542
 
        * elf32-m68hc1x.h (elf32_m68hc11_gc_mark_hook): Delete.
543
 
        (elf32_m68hc11_gc_sweep_hook): Delete.
544
 
        * elf32-msp430.c (elf32_msp430_gc_mark_hook): Delete.
545
 
        (elf32_msp430_gc_sweep_hook): Delete.
546
 
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
547
 
        * elf32-mt.c (mt_elf_gc_mark_hook, mt_elf_gc_sweep_hook): Delete.
548
 
        (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
549
 
 
550
 
2006-09-25 Pedro Alves <pedro_alves@portugalmail.pt>
551
 
 
552
 
        * bfd-in.h (CONST_STRNCPY) : Delete.
553
 
        (LITSTRCPY) : New.
554
 
        (LITMEMCPY) : New.
555
 
        * bfd-in2.h : Regenerate.
556
 
        * elflink.c  (bfd_elf_gc_sections) : Use LITMEMCPY. Don't manually
557
 
        calculate string lengths.
558
 
        * nlmcode.h (nlm_swap_auxiliary_headers_in) : Use LITMEMCPY.
559
 
 
560
 
2006-09-26  H.J. Lu  <hongjiu.lu@intel.com>
561
 
 
562
 
        PR ld/3223
563
 
        PR ld/3267
564
 
        * elf.c (assign_file_positions_for_non_load_sections): Don't
565
 
        warn zero size allocated sections.
566
 
 
567
 
2006-09-27  Alan Modra  <amodra@bigpond.net.au>
568
 
 
569
 
        * elf32-score.c (_bfd_score_elf_relocate_section): Move assignment
570
 
        to "name" so that compiler realizes it is never uninitialized.
571
 
        Use bfd_elf_sym_name.
572
 
 
573
 
2006-09-26  H.J. Lu  <hongjiu.lu@intel.com>
574
 
 
575
 
        PR binutils/3262
576
 
        * elf.c (rewrite_elf_program_header): Use bfd_zalloc instead of
577
 
        bfd_alloc to allocate segment map.
578
 
        (copy_elf_program_header): Likewise.
579
 
 
580
 
2006-09-26  Mark Shinwell  <shinwell@codesourcery.com>
581
 
            Joseph Myers  <joseph@codesourcery.com>
582
 
            Ian Lance Taylor  <ian@wasabisystems.com>
583
 
            Ben Elliston  <bje@wasabisystems.com>
584
 
 
585
 
        * archures.c: Add definition for bfd_mach_arm_iWMMXt2.
586
 
        * cpu-arm.c (processors): Add bfd_mach_arm_iWMMXt2.
587
 
        (arch_info_struct, bfd_arm_update_notes): Likewise.
588
 
        (architectures): Likewise.
589
 
        (bfd_arm_merge_machines): Check for iWMMXt2.
590
 
        * bfd-in2.h: Rebuild.
591
 
 
592
 
2006-09-24  H.J. Lu  <hongjiu.lu@intel.com>
593
 
 
594
 
        * configure: Regenerated.
595
 
 
596
 
2006-09-22  Alan Modra  <amodra@bigpond.net.au>
597
 
 
598
 
        * elfcode.h (elf_swap_symbol_in): Return bfd_boolean.  Don't abort
599
 
        on error.
600
 
        * elf-bfd.h (elf_size_info <swap_symbol_in>): Adjust decl.
601
 
        (bfd_elf32_swap_symbol_in, bfd_elf64_swap_symbol_in): Likewise.
602
 
        * elf.c (bfd_elf_get_elf_syms): Test return of swap_symbol_in,
603
 
        and report error.
604
 
        * elf32-arm.c (elf32_arm_swap_symbol_in): Return bfd_boolean.
605
 
 
606
 
2006-09-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
607
 
 
608
 
        * elf32-s390.c (elf_s390_relocate_section): Remove check for code
609
 
        section in LD to LE linker relaxation for R_390_TLS_LDO32.
610
 
        * elf64-s390.c (elf_s390_relocate_section): Likewise for
611
 
        R_390_TLS_LDO64.
612
 
 
613
 
2006-09-20  Kai Tietz  <Kai.Tietz@onevision.com>
614
 
 
615
 
        * configure.in: Added new target-vectors x86_64coff_vec,
616
 
        x86_64pe_vec, and x86_64pei_vec.
617
 
        * configure: Regenerate.
618
 
        * config.bfd: Adjusted x86_64 target architecture detection.
619
 
        * bfd.c: Add for new target "coff-x86-64"
620
 
        (bfd_get_sign_extend): Add target vector idents for pe-x86-64. and pei-x86-64.
621
 
        * coff-x86_64.c: Add new file for x86_64 (AMD64) coff support.
622
 
        * libpei.h: Adjustments for COFF_WITH_pex64.
623
 
        * coffcode.h: Add for new target machine, architecture, signature, and internal
624
 
        signature handler.
625
 
        * Makefile.am: Add new files to target-all and define make-rule for pex64igen.c
626
 
        * Makefile.in: Regenerate.
627
 
        * pe-x86_64.c: Add for new target "pe-x86-64".
628
 
        * pei-x86_64.c: Add for new target "pei-x86-64".
629
 
        * peicode.h: Adjusts for new targets.
630
 
        (coff_swap_filehdr_out): Set for this target to
631
 
        _bfd_pex64_only_swap_filehdr_out.
632
 
        (SIZEOF_IDATA4): Define it as 8 byte size for this target.
633
 
        (SIZEOF_IDATA5): Define it as 8 byte size for this target.
634
 
        (jump_table jtab): Add for AMD64MAGIC.
635
 
        (pe_ILF_build_a_bfd): Adjusts for new size of SIZEOF_IDATA4 and SIZE_IDATA5.
636
 
        (pe_ILF_object_p): Add coff image-file signature to internal
637
 
        signature translation.
638
 
        * peXXigen.c: Adjust proper include of target coff-header and
639
 
        introduced target specific code
640
 
        (COFF_WITH_pex64): New macro for this target.
641
 
        (pe_print_idata): New dumping method for import section of PE+ files.
642
 
        * targets.c: Add new target vectors declarations for x86_64 coff targets.
643
 
        * coffcode.h: Support code to support the x86_64 PE magic number.
644
 
        * coff-x86_64.c: New file.
645
 
 
646
 
2006-09-17  Hans-Peter Nilsson  <hp@axis.com>
647
 
 
648
 
        * elf.c (special_sections_s): Revert last STRING_COMMA_LEN change
649
 
        for .stabstr entry, explain why.
650
 
 
651
 
2006-09-17  Anton Blanchard  <anton@samba.org>
652
 
            Alan Modra  <amodra@bigpond.net.au>
653
 
 
654
 
        * dwarf2.c (concat_filename): Apply DW_AT_comp_dir if dir table
655
 
        entry isn't absolute.
656
 
 
657
 
2006-09-17  Mei Ligang  <ligang@sunnorth.com.cn>
658
 
 
659
 
        * cpu-score.c: New file.
660
 
        * elf32-score.c: New file.
661
 
        * config.bfd: Add Score target.
662
 
        * Makefile.am: Add Score files.
663
 
        * Makefile.in: Regenerate.
664
 
        * archures.c: Add Score architecture.
665
 
        * reloc.c: Add Score relocs.
666
 
        * targets.c: Add Score target vectors.
667
 
        * bfd-in2.h: Regenerate.
668
 
        * libbfd.h: Regenerate.
669
 
        * configure.in: Add Score target.
670
 
        * configure: Regenerate.
671
 
 
672
 
2006-09-16  Nick Clifton  <nickc@redhat.com>
673
 
            Pedro Alves  <pedro_alves@portugalmail.pt>
674
 
 
675
 
        * bfd-in.h (STRING_AND_COMMA): New macro.  Takes one constant
676
 
        string as its argument and emits the string followed by a comma
677
 
        and then the length of the string.
678
 
        (CONST_STRNEQ): New macro.  Checks to see if a variable string
679
 
        has a constant string as its initial characters.
680
 
        (CONST_STRNCPY): New macro.  Copies a constant string to the start
681
 
        of a variable string.
682
 
        * bfd-in2.h: Regenerate.
683
 
        * archive.c: Make use of the new macros.
684
 
        * archive64.c: Likewise.
685
 
        * bfd.c: Likewise.
686
 
        * coff-ppc.c: Likewise.
687
 
        * coff-stgo32.c: Likewise.
688
 
        * coffcode.h: Likewise.
689
 
        * cofflink.c: Likewise.
690
 
        * cpu-i960.c: Likewise.
691
 
        * dwarf2.c: Likewise.
692
 
        * ecoff.c: Likewise.
693
 
        * elf-m10300.c: Likewise.
694
 
        * elf.c: Likewise.
695
 
        * elf32-arm.c: Likewise.
696
 
        * elf32-bfin.c: Likewise.
697
 
        * elf32-cris.c: Likewise.
698
 
        * elf32-hppa.c: Likewise.
699
 
        * elf32-i370.c: Likewise.
700
 
        * elf32-i386.c: Likewise.
701
 
        * elf32-iq2000.c: Likewise.
702
 
        * elf32-m32r.c: Likewise.
703
 
        * elf32-m68hc11.c: Likewise.
704
 
        * elf32-m68hc12.c: Likewise.
705
 
        * elf32-m68k.c: Likewise.
706
 
        * elf32-mcore.c: Likewise.
707
 
        * elf32-ppc.c: Likewise.
708
 
        * elf32-s390.c: Likewise.
709
 
        * elf32-sh-symbian.c: Likewise.
710
 
        * elf32-sh.c: Likewise.
711
 
        * elf32-sh64.c: Likewise.
712
 
        * elf32-v850.c: Likewise.
713
 
        * elf32-vax.c: Likewise.
714
 
        * elf32-xtensa.c: Likewise.
715
 
        * elf64-alpha.c: Likewise.
716
 
        * elf64-hppa.c: Likewise.
717
 
        * elf64-mmix.c: Likewise.
718
 
        * elf64-ppc.c: Likewise.
719
 
        * elf64-s390.c: Likewise.
720
 
        * elf64-sh64.c: Likewise.
721
 
        * elf64-x86-64.c: Likewise.
722
 
        * elflink.c: Likewise.
723
 
        * elfxx-ia64.c: Likewise.
724
 
        * elfxx-mips.c: Likewise.
725
 
        * elfxx-sparc.c: Likewise.
726
 
        * hpux-core.c: Likewise.
727
 
        * i386linux.c: Likewise.
728
 
        * ieee.c: Likewise.
729
 
        * libpei.h: Likewise.
730
 
        * linker.c: Likewise.
731
 
        * m68klinux.c: Likewise.
732
 
        * mmo.c: Likewise.
733
 
        * nlmcode.h: Likewise.
734
 
        * osf-core.c: Likewise.
735
 
        * pef.c: Likewise.
736
 
        * som.c: Likewise.
737
 
        * sparclinux.c: Likewise.
738
 
        * vms-hdr.c: Likewise.
739
 
 
740
 
2006-09-14  Alan Modra  <amodra@bigpond.net.au>
741
 
 
742
 
        PR 3181
743
 
        * elf.c (_bfd_elf_copy_private_header_data): Fix group members
744
 
        that have had their SHT_GROUP section removed.
745
 
 
746
 
2006-09-12  H.J. Lu  <hongjiu.lu@intel.com>
747
 
 
748
 
        PR ld/3197
749
 
        * elflink.c (elf_link_output_extsym): Compute bucket only if
750
 
        needed.
751
 
 
752
 
2006-09-10  H.J. Lu  <hongjiu.lu@intel.com>
753
 
 
754
 
        PR binutils/3186
755
 
        * elf.c (_bfd_elf_make_section_from_shdr): Correct length of
756
 
        "gnu.linkonce.wi.".
757
 
 
758
 
2006-09-08  Vladimir Prus  <vladimir@codesourcery.com>
759
 
 
760
 
        * elf32-arm.c (elf32_arm_swap_symbol_out): Remove
761
 
        unconditional setting of low bit for Thumb symbol
762
 
        mistakenly left behind after check for external
763
 
        symbols was added.  Fix comment typo.
764
 
 
765
 
2006-09-07  H.J. Lu  <hongjiu.lu@intel.com>
766
 
 
767
 
        * elf-bfd.h (elf_link_hash_entry): Add a dynamic field.
768
 
        (bfd_elf_link_mark_dynamic_symbol): New.
769
 
        (SYMBOLIC_BIND): New.
770
 
 
771
 
        * elf32-i386.c (elf_i386_check_relocs): Replace info->symbolic
772
 
        with SYMBOLIC_BIND (info, h).
773
 
        (elf_i386_relocate_section): Likewise.
774
 
        * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
775
 
        (elf64_x86_64_relocate_section): Likewise.
776
 
        * elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise.
777
 
 
778
 
        * elflink.c (bfd_elf_link_mark_dynamic_symbol): New.
779
 
        (bfd_elf_record_link_assignment): Call
780
 
        bfd_elf_link_mark_dynamic_symbol on new entry.
781
 
        (_bfd_elf_merge_symbol): Likewise.
782
 
        (_bfd_elf_export_symbol): Return if the symbol isn't exported.
783
 
        (_bfd_elf_fix_symbol_flags): Replace info->symbolic with
784
 
        SYMBOLIC_BIND (info, h).
785
 
        (_bfd_elf_dynamic_symbol_p): Likewise.
786
 
        (_bfd_elf_symbol_refs_local_p): Likewise.
787
 
        (bfd_elf_size_dynamic_sections): Updated.
788
 
 
789
 
2006-09-05  Bibo Mao  <bibo.mao@intel.com>
790
 
 
791
 
        PR binutils/3171
792
 
        * coffcode.h (coff_write_object_contents): Set the optional
793
 
        header magic number to PE32PMAGIC instead of ZMAGIC for ia64.
794
 
 
795
 
2006-09-04  Mark Shinwell  <shinwell@codesourcery.com>
796
 
 
797
 
        * elf32-arm.c (elf32_arm_howto_table_1): Adjust entries for
798
 
        R_ARM_THM_ALU_PREL_11_0 and R_ARM_THM_PC12 relocations.
799
 
        (elf32_arm_final_link_relocate): Handle R_ARM_THM_ALU_PREL_11_0
800
 
        and R_ARM_THM_PC12 relocations.
801
 
 
802
 
2006-08-24  Bob Wilson  <bob.wilson@acm.org>
803
 
 
804
 
        * elf32-xtensa.c (xtensa_get_property_section_name): Delete.
805
 
        (xtensa_get_property_section): New.
806
 
        (xtensa_read_table_entries): Use xtensa_get_property_section.
807
 
        (relax_property_section, xtensa_get_property_predef_flags): Handle
808
 
        group name suffixes in property section names.
809
 
        (match_section_group): New.
810
 
 
811
 
2006-08-23  Frediano Ziglio  <Frediano.Ziglio@vodafone.com>
812
 
 
813
 
        * archive.c (hpux_uid_gid_encode): Fix thinko decrementing "cnt"
814
 
        variable.
815
 
 
816
 
2006-08-22  Daniel Jacobowitz  <dan@codesourcery.com>
817
 
 
818
 
        * elf32-arm.c (elf32_arm_copy_indirect_symbol): Only copy
819
 
        plt_thumb_refcount from indirect symbols.
820
 
 
821
 
2006-08-22  Alan Modra  <amodra@bigpond.net.au>
822
 
 
823
 
        * elf32-ppc.c (ppc_elf_relocate_section): Correct GOT and PLT HA
824
 
        reloc handling.
825
 
        * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
826
 
 
827
 
2006-08-21  Mark Shinwell  <shinwell@codesourcery.com>
828
 
 
829
 
        * elf32-arm.c (elf32_arm_link_hash_table): Correct typo in
830
 
        comment for target1_is_rel.
831
 
 
832
 
2006-08-21  Pedro Alves  <pedro_alves@portugalmail.pt>
833
 
 
834
 
        * Makefile.am: Add rules to build pe-arm-wince.lo
835
 
        and pei-arm-wince.lo objects.
836
 
        * Makefile.in: Regenerate.
837
 
        * pe-arm-wince.c: New file.
838
 
        * pei-arm-wince.c: New file.
839
 
        * pei-arm.c: Remove ARM_WINCE block.
840
 
        * pe-arm.c: Remove ARM_WINCE block. Rename
841
 
        bfd_arm_pe_allocate_interworking_sections,
842
 
        bfd_arm_pe_get_bfd_for_interworking, and
843
 
        bfd_arm_pe_process_before_allocation to
844
 
        bfd_armpe_allocate_interworking_sections,
845
 
        bfd_armpe_get_bfd_for_interworking, and
846
 
        bfd_armpe_process_before_allocation. Move them before
847
 
        including bfd.h.
848
 
        * bfd.c: ARM wince bfd format names were renamed. Adjust.
849
 
        * coff-arm.c [ARM_WINCE]: Adjust so Windows CE doesn't end up
850
 
        with unexpected/conflicting relocs.
851
 
        * targets.c: The arm-wince-pe target got its own new vector.
852
 
        Adjust.
853
 
        * config.bfd: Likewise.
854
 
        * configure.in: Likewise.
855
 
        * configure: Regenerate.
856
 
 
857
 
2006-08-18  Paul Brook  <paul@codesourcery.com>
858
 
 
859
 
        * elf32-arm.c (elf32_arm_link_hash_entry): Add export_glue.
860
 
        (elf32_arm_link_hash_newfunc): Initialize export_glue.
861
 
        (record_arm_to_thumb_glue): Return stub symbol.
862
 
        (elf32_arm_create_thumb_stub): New function.
863
 
        (elf32_arm_to_thumb_stub): Use it.
864
 
        (elf32_arm_to_thumb_export_stub): New function.
865
 
        (elf32_arm_begin_write_processing): New function.
866
 
        (allocate_dynrelocs): Allocate Arm stubs.
867
 
        (elf_backend_begin_write_processing): Define.
868
 
        (elf32_arm_symbian_begin_write_processing): Remove ATTRIBUTE_UNUSED.
869
 
        Call elf32_arm_begin_write_processing.
870
 
 
871
 
2006-08-17  Alan Modra  <amodra@bigpond.net.au>
872
 
 
873
 
        * elf64-ppc.c (create_linkage_sections): Align .glink to 8 bytes.
874
 
        (ppc64_elf_build_stubs): Use new lazy linking stub.
875
 
 
876
 
2006-08-17  Alan Modra  <amodra@bigpond.net.au>
877
 
 
878
 
        * elf64-ppc.c (ppc64_elf_size_stubs): Ignore non-code sections.
879
 
 
880
 
2006-08-16  H.J. Lu  <hongjiu.lu@intel.com>
881
 
 
882
 
        PR ld/3015
883
 
        * elf.c (get_program_header_size): Add a PT_GNU_RELRO segment
884
 
        only if there is a PT_DYNAMIC segment.
885
 
        (_bfd_elf_map_sections_to_segments): Likewise.
886
 
        (assign_file_positions_for_load_sections): Set PT_GNU_RELRO
887
 
        segment alignment to 1.
888
 
 
889
 
2006-08-15  Thiemo Seufer  <ths@mips.com>
890
 
            Nigel Stephens  <nigel@mips.com>
891
 
 
892
 
        * elf32-mips.c, elf64-mips.c, elfn32-mips.c
893
 
        (elf_backend_merge_symbol_attribute): Define.
894
 
        * elflink.c (elf_link_add_object_symbols): Merge only the ELF
895
 
        visibility flags.
896
 
        * elfxx-mips.c (_bfd_mips_elf_merge_symbol_attribute): New function.
897
 
 
898
 
2006-08-15  Thiemo Seufer  <ths@mips.com>
899
 
            Nigel Stephens  <nigel@mips.com>
900
 
            David Ung  <davidu@mips.com>
901
 
 
902
 
        * config.bfd: Add configurations for mips*el-sde-elf* and
903
 
        mips*-sde-elf*.
904
 
 
905
 
2006-08-14  DJ Delorie  <dj@redhat.com>
906
 
 
907
 
        * elf-m10300.c (elf32_mn10300_link_hash_entry): Add value.
908
 
        (elf32_mn10300_count_hash_table_entries): New.
909
 
        (elf32_mn10300_list_hash_table_entries): New.
910
 
        (sort_by_value): New.
911
 
        (mn10300_elf_relax_section): Don't skip data sections; restrict
912
 
        code-specific tests to code-specific areas so that potential
913
 
        indirect calls can be detected.  Check for multiple local symbols
914
 
        at the same address and merge their flags.
915
 
        (elf32_mn10300_link_hash_newfunc): Initialize value.
916
 
 
917
 
2006-08-14  Thiemo Seufer  <ths@mips.com>
918
 
 
919
 
        * elfxx-mips.c (_bfd_mips_elf_symbol_processing,
920
 
        _bfd_mips_elf_add_symbol_hook): Don't try to place small common TLS
921
 
        symbols in .scommon.
922
 
 
923
 
2006-08-11  Thiemo Seufer  <ths@mips.com>
924
 
 
925
 
        * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Set
926
 
        sh_entsize only when sgot was already initialized.
927
 
 
928
 
2006-08-08  DJ Delorie  <dj@redhat.com>
929
 
 
930
 
        * elf32-sh.c (sh_elf_relax_section): Allow for branches across
931
 
        non-moving .align directives.  Preserve any DIR32 offset when
932
 
        converting bsr's to jsr's.
933
 
 
934
 
2006-08-08  Alan Modra  <amodra@bigpond.net.au>
935
 
 
936
 
        * elf64-ppc.c (ppc64_elf_build_stubs): Clear relbrlt reloc_count
937
 
        after stubs have been built.
938
 
 
939
 
2006-08-07  Nick Clifton  <nickc@redhat.com>
940
 
 
941
 
        * elf32-sh.c (vxworks_object_p): Only check for vxworks target
942
 
        vectors if they are going to be created.
943
 
 
944
 
2006-08-07  Nick Clifton  <nickc@redhat.com>
945
 
 
946
 
        * configure.in (bfd_elf32_shnbsd_vec): Fix typo.
947
 
        * configure: Regenerate.
948
 
 
949
 
2006-08-07  Nick Clifton  <nickc@redhat.com>
950
 
 
951
 
        * coff-arm.c (coff_arm_rtype_to_howto): Only check for ARM_SECREL
952
 
        relocation types if the target is ARM_WINCE.
953
 
 
954
 
2006-08-05  Pedro Alves  <pedro_alves@portugalmail.pt>
955
 
 
956
 
        * bfd.c (bfd_get_sign_extend_vma): Add cases for pe-arm-little
957
 
        and pei-arm-little.
958
 
        * coff-arm.c (coff_arm_rtype_to_howto) [COFF_WITH_PE]: Handle
959
 
        ARM_SECREL.
960
 
        (coff_arm_reloc_type_lookup): Map BFD_RELOC_32_SECREL to
961
 
        ARM_SECREL.
962
 
        * pe-arm.c [COFF_SECTION_ALIGNMENT_ENTRIES]: Define.
963
 
        * pei-arm.c [TARGET_UNDERSCORE]: Define for ARM_WINCE like in
964
 
        pe-arm.c.
965
 
        [COFF_SECTION_ALIGNMENT_ENTRIES]: Define.
966
 
 
967
 
2006-08-04  Marcelo Tosatti  <marcelo@kvack.org>
968
 
 
969
 
        * elflink.c (elf_gc_sweep): If info.print_gc_sections is true,
970
 
        list removed sections to stderr.
971
 
 
972
 
2006-08-04  Richard Sandiford  <richard@codesourcery.com>
973
 
            Kazu Hirata  <kazu@codesourcery.com>
974
 
            Phil Edwards  <phil@codesourcery.com>
975
 
            Nathan Sidwell  <nathan@codesourcery.com>
976
 
 
977
 
        * config.bfd (sh-*-vxworks): Use bfd_elf32_shvxworks_vec and
978
 
        bfd_elf32_shlvxworks_vec.
979
 
        * configure.in (bfd_elf32_sh64_vec): Add elf-vxworks.lo.
980
 
        (bfd_elf32_sh64l_vec, bfd_elf32_sh64lin_vec): Likewise.
981
 
        (bfd_elf32_sh64blin_vec, bfd_elf32_sh64lnbsd_vec): Likewise.
982
 
        (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh_vec): Likewise.
983
 
        (bfd_elf32_shblin_vec, bfd_elf32_shl_vec): Likewise.
984
 
        (bfd_elf32_shl_symbian_vec, bfd_elf32_shlin_vec): Likewise.
985
 
        (bfd_elf32_shlnbsd_vec, bfd_elf32_shnbsd_vec): Likewise.
986
 
        (bfd_elf32_shlvxworks_vec, bfd_elf32_shvxworks_vec): New stanzas.
987
 
        * configure: Regenerate.
988
 
        * Makefile.am: Regenerate dependencies.
989
 
        * Makefile.in: Regenerate.
990
 
        * elf-vxworks.c (elf_vxworks_gott_symbol_p): New function.
991
 
        (elf_vxworks_add_symbol_hook): Use it.
992
 
        (elf_vxworks_link_output_symbol_hook): Likewise.  Use the hash
993
 
        table entry to check for weak undefined symbols and to obtain
994
 
        the original bfd.
995
 
        (elf_vxworks_emit_relocs): Use target_index instead of this_idx.
996
 
        * elf32-sh-relocs.h: New file, split from elf32-sh.c.
997
 
        (R_SH_DIR32): Use SH_PARTIAL32 for the partial_inplace field,
998
 
        SH_SRC_MASK32 for the src_mask field, and SH_ELF_RELOC for the
999
 
        special_function field.
1000
 
        (R_SH_REL32): Use SH_PARTIAL32 and SH_SRC_MASK32 here too.
1001
 
        (R_SH_REL32, R_SH_TLS_GD_32, R_SH_TLS_LD_32): Likewise.
1002
 
        (R_SH_TLS_LDO_32, R_SH_TLS_IE_32, R_SH_TLS_LE_32): Likewise.
1003
 
        (R_SH_TLS_DTPMOD32, R_SH_TLS_DTPOFF32, R_SH_TLS_TPOFF32): Likewise.
1004
 
        (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT): Likewise.
1005
 
        (R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): Likewise.
1006
 
        (SH_PARTIAL32, SH_SRC_MASK32, SH_ELF_RELOC): Undefine at end of file.
1007
 
        * elf32-sh.c: Include elf32-vxworks.h.
1008
 
        (MINUS_ONE): Define.
1009
 
        (sh_elf_howto_table): Include elf32-sh-relocs.h with SH_PARTIAL32
1010
 
        set to TRUE, SH_SRC_MASK32 set to 0xffffffff, and SH_ELF_RELOC set
1011
 
        to sh_elf_reloc.
1012
 
        (sh_vxworks_howto_table): New variable.  Include elf32-sh-relocs.h
1013
 
        with SH_PARTIAL32 set to FALSE, SH_SRC_MASK32 set to 0, and
1014
 
        SH_ELF_RELOC set to bfd_elf_generic_reloc.
1015
 
        (vxworks_object_p, get_howto_table): New functions.
1016
 
        (sh_elf_reloc_type_lookup): Fix typo.  Use get_howto_table.
1017
 
        (sh_elf_info_to_howto): Use get_howto_table.
1018
 
        (sh_elf_relax_section): Honor the partial_inplace field of the
1019
 
        R_SH_DIR32 howto.
1020
 
        (sh_elf_relax_delete_bytes): Likewise.
1021
 
        (elf_sh_plt_info): New structure.
1022
 
        (PLT_ENTRY_SIZE): Replace both definitions with...
1023
 
        (ELF_PLT_ENTRY_SIZE): ...this new macro, with separate definitions for
1024
 
        INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
1025
 
        (elf_sh_plt0_entry_be): Update sizes of both definitions accordingly.
1026
 
        (elf_sh_plt0_entry_le): Likewise.
1027
 
        (elf_sh_plt_entry_be, elf_sh_plt_entry_le): Likewise.
1028
 
        (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le): Likewise.
1029
 
        (elf_sh_plts): New structure, with separate definitions for
1030
 
        INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
1031
 
        (elf_sh_plt0_entry): Delete both definitions.
1032
 
        (elf_sh_plt_entry, elf_sh_pic_plt_entry): Likewise.
1033
 
        (elf_sh_sizeof_plt, elf_sh_plt_plt0_offset): Likewise.
1034
 
        (elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset): Likewise.
1035
 
        (elf_sh_plt_reloc_offset): Likewise.
1036
 
        (movi_shori_putval): Delete in favor of...
1037
 
        (install_plt_field): ...this new function, with separate definitions
1038
 
        for INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
1039
 
        (get_plt_info): New function, with separate definitions
1040
 
        for INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
1041
 
        (elf_sh_plt0_linker_offset, elf_sh_plt0_gotid_offset): Delete.
1042
 
        (VXWORKS_PLT_HEADER_SIZE, VXWORKS_PLT_ENTRY_SIZE): New macros.
1043
 
        (vxworks_sh_plt0_entry_be, vxworks_sh_plt0_entry_le): New constants.
1044
 
        (vxworks_sh_plt_entry_be, vxworks_sh_plt_entry_le): Likewise.
1045
 
        (vxworks_sh_pic_plt_entry_be, vxworks_sh_pic_plt_entry_le): Likewise.
1046
 
        (get_plt_index, get_plt_offset): New functions.
1047
 
        (elf_sh_link_hash_table): Add srelplt2, plt_info and vxworks_p fields.
1048
 
        (sh_elf_link_hash_table_create): Initialize them.
1049
 
        (sh_elf_create_dynamic_sections): Call
1050
 
        elf_vxworks_create_dynamic_sections for VxWorks.
1051
 
        (allocate_dynrelocs): Use htab->plt_info to get the size of PLT
1052
 
        entries.  Allocate relocation entries in .rela.plt.unloaded if
1053
 
        generating a VxWorks executable.
1054
 
        (sh_elf_always_size_sections): New function.
1055
 
        (sh_elf_size_dynamic_sections): Extend .rela.plt handling to
1056
 
        .rela.plt.unloaded.
1057
 
        (sh_elf_relocate_section): Use get_howto_table.  Honor
1058
 
        partial_inplace when calculating the addend for dynamic
1059
 
        relocations.  Use get_plt_index.
1060
 
        (sh_elf_finish_dynamic_symbol): Use get_plt_index, install_plt_field
1061
 
        and htab->plt_info.  Fill in the bra .plt offset for VxWorks
1062
 
        executables.  Populate .rela.plt.unloaded.  Do not make
1063
 
        _GLOBAL_OFFSET_TABLE_ absolute on VxWorks.
1064
 
        (sh_elf_finish_dynamic_sections): Use install_plt_field and
1065
 
        htab->plt_info.  Handle cases where there is no special PLT header.
1066
 
        Populate the first relocation in .rela.plt.unloaded and fix up
1067
 
        the remaining entries.
1068
 
        (sh_elf_plt_sym_val): Use get_plt_info.
1069
 
        (elf_backend_always_size_sections): Define.
1070
 
        (TARGET_BIG_SYM, TARGET_BIG_NAME): Override for VxWorks.
1071
 
        (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise.
1072
 
        (elf32_bed, elf_backend_want_plt_sym): Likewise.
1073
 
        (elf_symbol_leading_char, elf_backend_want_got_underscore): Likewise.
1074
 
        (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Likewise.
1075
 
        (elf_backend_add_symbol_hook): Likewise.
1076
 
        (elf_backend_link_output_symbol_hook): Likewise.
1077
 
        (elf_backend_emit_relocs): Likewise.
1078
 
        (elf_backend_final_write_processing): Likewise.
1079
 
        (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): Likewise.
1080
 
        * targets.c (bfd_elf32_shlvxworks_vec): Declare.
1081
 
        (bfd_elf32_shvxworks_vec): Likewise.
1082
 
        (_bfd_target_vector): Include bfd_elf32_shlvxworks_vec and
1083
 
        bfd_elf32_shvxworks_vec.
1084
 
 
1085
 
2006-08-02  Mark Kettenis  <kettenis@gnu.org>
1086
 
 
1087
 
        * configure.in (arm-*-openbsd*): Set COREFILE to netbsd-core.lo.
1088
 
        * configure: Regenerate.
1089
 
 
1090
 
2006-08-02  Petr Salinger  <Petr.Salinger@seznam.cz>
1091
 
 
1092
 
        PR binutils/2983
1093
 
        * elf64-x86-64.c: Add FreeBSD support.
1094
 
        (elf64_x86_64_fbsd_post_process_headers): New function.
1095
 
        * targets.c (_bfd_target_vector): Add bfd_elf64_x86_64_freebsd_vec.
1096
 
        * config.bfd (x64_64-*-freebsd*): Add bfd_elf64_x86_64_freebsd_vec
1097
 
        to the targ_selvecs.
1098
 
        * configure.in: Add entry for bfd_elf64_x86_64_freebsd_vec.
1099
 
        * configure: Regenerate.
1100
 
 
1101
 
2006-07-26  Andreas Schwab  <schwab@suse.de>
1102
 
 
1103
 
        * elfxx-ia64.c (elfNN_ia64_choose_gp): Use rawsize if set.
1104
 
 
1105
 
2006-07-26  Alan Modra  <amodra@bigpond.net.au>
1106
 
 
1107
 
        * elf.c (elf_modify_segment_map): Delete empty PT_LOAD segments.
1108
 
        * elf32-xtensa.c (elf_xtensa_modify_segment_map): Delete.
1109
 
        (define elf_backend_modify_segment_map): Don't define.
1110
 
 
1111
 
2006-07-25  Thiemo Seufer  <ths@networkno.de>
1112
 
 
1113
 
        * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Allow
1114
 
        linking of objects for compatible machine types.
1115
 
 
1116
 
2006-07-25  Thiemo Seufer  <ths@networkno.de>
1117
 
 
1118
 
        * elfxx-mips.c (mips_elf_next_relocation): Tighten check to test
1119
 
        also for same symbol.
1120
 
 
1121
 
2006-07-25  Thiemo Seufer  <ths@mips.com>
1122
 
 
1123
 
        * elfxx-mips.c (mips_elf_calculate_relocation): Remove magic constant.
1124
 
 
1125
 
2006-07-24  Michael Wetherell  <mike.wetherell@ntlworld.com>
1126
 
 
1127
 
        * elf.c (bfd_section_from_shdr): Reject unrecognised OS-specific
1128
 
        sections only if the SHF_OS_NONCONFORMING flag is present.
1129
 
 
1130
 
2006-07-24  Nick Clifton  <nickc@redhat.com>
1131
 
 
1132
 
        PR ld/2729
1133
 
        * peXXigen.c (_bfd_XXi_final_link_postscript): Check for the
1134
 
        existance of output sections before putting their entries into the
1135
 
        DataDictionary.
1136
 
 
1137
 
2006-07-20  Thiemo Seufer  <ths@mips.com>
1138
 
 
1139
 
        * elf32-mips.c (mips16_jump_reloc): Remove function.
1140
 
        (elf_mips16_howto_table_rel): Use _bfd_mips_elf_generic_reloc
1141
 
        instead of mips16_jump_reloc.
1142
 
        * elf64_mips.c, wlfn32-mips.c (mips16_jump_reloc): Remove function.
1143
 
        (elf_mips16_howto_table_rel, elf_mips16_howto_table_rela): Use
1144
 
        _bfd_mips_elf_generic_reloc instead of mips16_jump_reloc.
1145
 
 
1146
 
2006-07-19  Alan Modra  <amodra@bigpond.net.au>
1147
 
 
1148
 
        * bfd-in.h (enum notice_asneeded_action): Define.
1149
 
        * bfd-in2.h: Regenerate.
1150
 
        * elflink.c (elf_link_add_object_symbols): Call linker "notice"
1151
 
        function with NULL name for as-needed handling.
1152
 
 
1153
 
2006-07-18  Paul Brook  <paul@codesourcery.com>
1154
 
 
1155
 
        * bfd-in2.h: Regenerate.
1156
 
        * libbfd.h: Regenerate.
1157
 
        * reloc.c: Add BFD_RELOC_ARM_T32_ADD_IMM.
1158
 
 
1159
 
2006-07-18  Nick Clifton  <nickc@redhat.com>
1160
 
 
1161
 
        * elfxx-mips.c (_bfd_mips_elf_common_definition): New function.
1162
 
        Consider SHN_MIPS_ACOMMON and SHN_MIPS_SCOMMON as being common
 
2042
2007-03-07  Alan Modra  <amodra@bigpond.net.au>
 
2043
 
 
2044
        PR 4144
 
2045
        * elf.c (assign_file_positions_for_load_sections): Don't
 
2046
        adjust p_memsz for !SEC_LOAD section vma modulo page size.
 
2047
        Instead, use the same lma based adjustment for SEC_LOAD
1163
2048
        sections.
1164
 
        * elfxx-mips.h  (_bfd_mips_elf_common_definition): Prototype.
1165
 
 
1166
 
2006-07-14  Jakub Jelinek  <jakub@redhat.com>
1167
 
 
1168
 
        * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Fix cinfo.shift2 value.
1169
 
 
1170
 
2006-07-14  Mark Kettenis  <kettenis@gnu.org>
1171
 
 
1172
 
        * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Move declarations
1173
 
        to the start of a block.
1174
 
 
1175
 
2006-07-13  Nick Clifton  <nickc@redhat.com>
1176
 
 
1177
 
        * coff-sh.c (_bfd_sh_align_load_span): Catch sh_insn_info()
1178
 
        returning a NULL value.
1179
 
 
1180
 
2006-07-12  H.J. Lu  <hongjiu.lu@intel.com>
1181
 
 
1182
 
        PR ld/2884
1183
 
        * elflink.c (_bfd_elf_merge_symbol): Copy the symbol info from
1184
 
        the old versioned dynamic definition to the new one with
1185
 
        non-default visibility.  Hide the symbol if it is hidden or
1186
 
        internal.
1187
 
 
1188
 
2006-07-12  Matthew R. Dempsky  <mrd@alkemio.org>
1189
 
 
1190
 
        * cpu-m68k.c (bfd_m68k_compatible): Handle CPU32.
1191
 
 
1192
 
2006-07-10  Jakub Jelinek  <jakub@redhat.com>
1193
 
 
1194
 
        * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_GNU_HASH.
1195
 
        (bfd_section_from_shdr, elf_fake_sections, assign_section_numbers):
1196
 
        Handle SHT_GNU_HASH.
1197
 
        (special_sections_g): Include .gnu.hash section.
1198
 
        (bfd_elf_gnu_hash): New function.
1199
 
        * elf-bfd.h (bfd_elf_gnu_hash, _bfd_elf_hash_symbol): New prototypes.
1200
 
        (struct elf_backend_data): Add elf_hash_symbol method.
1201
 
        * elflink.c (_bfd_elf_link_create_dynamic_sections): Create .hash
1202
 
        only if info->emit_hash, create .gnu.hash section if
1203
 
        info->emit_gnu_hash.
1204
 
        (struct collect_gnu_hash_codes): New type.
1205
 
        (elf_collect_gnu_hash_codes, elf_renumber_gnu_hash_syms,
1206
 
        _bfd_elf_hash_symbol): New functions.
1207
 
        (compute_bucket_count): Don't compute HASHCODES array, instead add
1208
 
        that and NSYMS as arguments.  Use bed->s->sizeof_hash_entry
1209
 
        instead of bed->s->arch_size / 8.  Fix .hash size estimation.
1210
 
        When not optimizing, use the number of hashed symbols rather than
1211
 
        dynsymcount.
1212
 
        (bfd_elf_size_dynamic_sections): Only add DT_HASH if info->emit_hash,
1213
 
        and ADD DT_GNU_HASH if info->emit_gnu_hash.
1214
 
        (bfd_elf_size_dynsym_hash_dynstr): Size .hash only if info->emit_hash,
1215
 
        adjust compute_bucket_count caller.  Create and populate .gnu.hash
1216
 
        section if info->emit_gnu_hash.
1217
 
        (elf_link_output_extsym): Only populate .hash section if
1218
 
        finfo->hash_sec != NULL.
1219
 
        (bfd_elf_final_link): Adjust assertion.  Handle DT_GNU_HASH.
1220
 
        * elfxx-target.h (elf_backend_hash_symbol): Define if not yet defined.
1221
 
        (elfNN_bed): Add elf_backend_hash_symbol.
1222
 
        * elf64-x86-64.c (elf64_x86_64_hash_symbol): New function.
1223
 
        (elf_backend_hash_symbol): Define.
1224
 
        * elf32-i386.c (elf_i386_hash_symbol): New function.
1225
 
        (elf_backend_hash_symbol): Define.
1226
 
 
1227
 
2006-07-05  Nick Clifton  <nickc@redhat.com>
1228
 
 
1229
 
        PR ld/2659
1230
 
        * cofflink.c (_bfd_coff_link_input_bfd): Fix selection of aux
1231
 
        entry when multiple definitions of a symbol are encountered.
1232
 
 
1233
 
2006-06-30  H.J. Lu  <hongjiu.lu@intel.com>
1234
 
 
1235
 
        * elf32-i386.c (elf_i386_relocate_section): Use xchg %ax,%ax
1236
 
        instead of 2 nops.
1237
 
        * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1238
 
        (elf64_x86_64_plt0_entry): Use nopl 0(%rax) instead of 4 nops.
1239
 
 
1240
 
2006-06-29  Jakub Jelinek  <jakub@redhat.com>
1241
 
 
1242
 
        PR ld/2513
1243
 
        * elf32-i386.c (GOT_TLS_MASK, GOT_TLS_IE_IE, GOT_TLS_IE_GD,
1244
 
        GOT_TLS_IE_MASK, elf_i386_check_relocs, allocate_dynrelocs): Revert
1245
 
        2006-04-08 changes.
1246
 
        (elf_i386_relocate_section): Likewise.  For GD->IE transition
1247
 
        change subl into addl whenever tls_type is GOT_TLS_IE_POS.
1248
 
 
1249
 
2006-06-23  Alan Modra  <amodra@bigpond.net.au>
1250
 
 
1251
 
        PR ld/2754
1252
 
        * elf.c (bfd_elf_mkobject): Don't alloc if already done.  Set
1253
 
        program_header_size to -1.
1254
 
        (_bfd_elf_map_sections_to_segments): Adjust program_header_size check.
1255
 
        (assign_file_positions_for_load_sections ): Likewise.
1256
 
        (_bfd_elf_sizeof_headers): Use saved program_header_size if
1257
 
        available.
1258
 
        * elf32-arm.c (elf32_arm_mkobject): Call bfd_elf_mkobject, don't
1259
 
        alloc if already done.
1260
 
        * elf32-i386.c (elf_i386_mkobject): Likewise.
1261
 
        * elf32-ppc.c (ppc_elf_mkobject): Likewise.
1262
 
        * elf32-s390.c (elf_s390_mkobject): Likewise.
1263
 
        * elf32-sh.c (sh_elf_mkobject): Likewise.
1264
 
        * elf64-alpha.c (elf64_alpha_mkobject): Likewise.
1265
 
        * elf64-ppc.c (ppc64_elf_mkobject): Likewise.
1266
 
        * elf64-s390.c (elf_s390_mkobject): Likewise.
1267
 
        * elf64-x86-64.c (elf64_x86_64_mkobject): Likewise.
1268
 
        * elfxx-sparc.c (_bfd_sparc_elf_mkobject): Likewise.
1269
 
 
1270
 
2006-06-20  Jakub Jelinek  <jakub@redhat.com>
1271
 
 
1272
 
        * elflink.c (elf_link_add_object_symbols): Don't create .tcommon
1273
 
        section for relocatable link.
1274
 
 
1275
 
2006-06-21  Alan Modra  <amodra@bigpond.net.au>
1276
 
 
1277
 
        * elf-bfd.h (struct elf_backend_data): Add
1278
 
        elf_backend_modify_program_headers.
1279
 
        * elfxx-target.h (elf_backend_modify_program_headers): Define.
 
2049
 
 
2050
2007-03-01  Bob Wilson  <bob.wilson@acm.org>
 
2051
 
 
2052
        * elf32-xtensa.c (analyze_relocations): Zero src_count if not relaxing.
 
2053
        (find_relaxable_sections): Do not increment src_count for unknown
 
2054
        opcodes.  Decode only once instead of calling is_l32r_relocation.
 
2055
        (compute_text_actions): Remove unused no_insn_move flag.  Assert that
 
2056
        src_next matches src_count in relax_info.
 
2057
 
 
2058
2007-03-01  Joseph Myers  <joseph@codesourcery.com>
 
2059
 
 
2060
        * Makefile.am (bfdver.h): Use "." not " " between version number
 
2061
        and date.
 
2062
        * Makefile.in: Regenerate.
 
2063
        * configure.in (PKGVERSION): Default to "(GNU Binutils) ".
 
2064
        * configure: Regenerate.
 
2065
 
 
2066
2007-02-28  Nathan Sidwell  <nathan@codesourcery.com>
 
2067
 
 
2068
        * config.bfd (sh-*-uclinux, sh[12]-*-uclinux): New stanza.
 
2069
 
 
2070
2007-02-27  Alan Modra  <amodra@bigpond.net.au>
 
2071
 
 
2072
        * elf32-spu.h (struct _ovl_stream): Make "start" and "end" const.
 
2073
        * elf32-spu.c (ovl_mgr_pread): Add const to casts.
 
2074
 
 
2075
2007-02-23  Carlos O'Donell  <carlos@codesourcery.com>
 
2076
 
 
2077
        * dwarf2.c (_bfd_dwarf2_find_nearest_line): Assume 32-bit
 
2078
        DWARF even with 64-bit addresses.
 
2079
        (_bfd_dwarf2_find_nearest_line): Likewise.
 
2080
 
 
2081
2007-02-23  Nick Clifton  <nickc@redhat.com>
 
2082
 
 
2083
        PR binutils/3535
 
2084
        * elf.c (copy_private_bfd_data): Always rewrite the program
 
2085
        headers when a Solaris interpreter segment is involved.
 
2086
 
 
2087
2007-02-22  Paul Brook  <paul@codesourcery.com>
 
2088
 
 
2089
        * elflink.c (gc_mark_hook_fn): Remove.
 
2090
        (_bfd_elf_gc_mark): Rename gc_mark_hook_fn to elf_gc_mark_hook_fn.
 
2091
        (bfd_elf_gc_sections): Ditto.  Call gc_mark_extra_sections.
 
2092
        * elf-bfd.h (elf_gc_mark_hook_fn): Define.
 
2093
        (elf_backend_data): Add gc_mark_extra_sections.
 
2094
        * elfxx-target.h (elf_backend_gc_mark_extra_sections): Provide default
 
2095
        definition.
 
2096
        (elfNN_bed): Add elf_backend_gc_mark_extra_sections.
 
2097
        * elf32-arm.c (elf32_arm_gc_mark_extra_sections): New function.
 
2098
        (elf_backend_gc_mark_extra_sections): Define.
 
2099
 
 
2100
2007-02-21  Nick Clifton  <nickc@redhat.com>
 
2101
 
 
2102
        * elf.c (_bfd_elf_map_sections_to_segments): If the
 
2103
        override_segment_assignment callback is defined then call it.
 
2104
 
 
2105
2007-02-21  Alan Modra  <amodra@bigpond.net.au>
 
2106
 
 
2107
        * elf32-spu.c (spu_elf_size_stubs): Correct order of warning args.
 
2108
 
 
2109
2007-02-19  Thiemo Seufer  <ths@mips.com>
 
2110
 
 
2111
        * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): Remove
 
2112
        translation marker from untranslatable strings.
 
2113
 
 
2114
2007-02-19  Alan Modra  <amodra@bigpond.net.au>
 
2115
 
 
2116
        * elf-bfd.h (struct elf_backend_data): Add default_execstack.
 
2117
        * elflink.c (bfd_elf_size_dynamic_sections): Heed default_execstack.
 
2118
        * elfxx-target.h (elf_backend_default_execstack): Define to 1.
1280
2119
        (elfNN_bed): Init new field.
1281
 
        * elf.c (elf_modify_segment_map): Remove comment.
1282
 
        (assign_file_positions_for_load_sections): Only call
1283
 
        elf_modify_segment_map for objcopy/strip.
1284
 
        (assign_file_positions_except_relocs): Call
1285
 
        elf_backend_modify_program_headers.
1286
 
        * elf32-frv.c (elf32_frvfdpic_always_size_sections): Don't make
1287
 
        .stack section.
1288
 
        (elf32_frvfdpic_modify_segment_map): Delete.
1289
 
        (elf32_frvfdpic_modify_program_headers): New.
1290
 
        (elf_backend_modify_segment_map): Don't define.
1291
 
        (elf_backend_modify_program_headers): Define.
1292
 
        * elf32-bfin.c (elf32_bfinfdpic_always_size_sections): Don't make
1293
 
        .stack section.
1294
 
        (elf32_bfinfdpic_modify_segment_map): Delete.
1295
 
        (elf32_bfinfdpic_modify_program_headers): New.
1296
 
        (elf_backend_modify_segment_map): Don't define.
1297
 
        (elf_backend_modify_program_headers): Define.
1298
 
        * elfxx-ia64.c (elfNN_ia64_modify_program_headers): New function.
1299
 
        Split out from..
1300
 
        (elfNN_ia64_modify_segment_map): ..here.
1301
 
        (elf_backend_modify_program_headers): Define.
1302
 
 
1303
 
2006-06-20  Jakub Jelinek  <jakub@redhat.com>
1304
 
 
1305
 
        * bfd.c (bfd_record_phdr): Clear p_align and p_align_valid fields.
1306
 
        * elf.c (_bfd_elf_link_hash_table_init): Clear hplt field.
1307
 
 
1308
 
2006-06-20  Alan Modra  <amodra@bigpond.net.au>
1309
 
 
1310
 
        * elf-bfd.h: Formatting.
1311
 
        (_bfd_elf_map_sections_to_segments): Declare.
1312
 
        * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame_hdr): Don't
1313
 
        clear program_header_size.
1314
 
        * elf.c (get_program_header_size): Move.  Don't use or set saved
1315
 
        program_header_size here.
1316
 
        (elf_modify_segment_map): New function.  Split out from..
1317
 
        (assign_file_positions_for_load_sections): ..here.  Assert
1318
 
        header size is correct.  Remove dead code.
1319
 
        (_bfd_elf_map_sections_to_segments): Rename from
1320
 
        map_sections_to_segments.  Make global.  Use get_program_header_size
1321
 
        when we need estimate of header size.  Call elf_modify_segment_map.
1322
 
        Set program_header_size.
1323
 
        (print_segment_map): Delete.
1324
 
        (_bfd_elf_sizeof_headers): If segment_map available, get the
1325
 
        actual size.
1326
 
        * elf32-arm.c (elf32_arm_symbian_modify_segment_map): Make safe
1327
 
        for calling more than once.
1328
 
        * elf32-bfin.c (elf32_bfinfdpic_modify_segment_map): Likewise.
1329
 
        * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Likewise.
1330
 
        * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise.
1331
 
        * elf32-i370.c (elf_backend_add_symbol_hook): Delete.
1332
 
        (elf_backend_additional_program_headers): Delete.
1333
 
        (elf_backend_modify_segment_map): Delete.
1334
 
        * elf64-hppa.c (elf64_hppa_modify_segment_map): Convert to ISO C.
1335
 
        * elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise.
1336
 
        * doc/bfdint.texi: Delete SIZEOF_HEADERS difficulties.
1337
 
 
1338
 
2006-06-19  Vladimir Prus  <vladimir@codesourcery.com>
1339
 
 
1340
 
        * elf32-arm.c (elf32_arm_swap_symbol_out): Don't set low
1341
 
        bit for undefined symbols.
1342
 
 
1343
 
2006-06-19  Alan Modra  <amodra@bigpond.net.au>
1344
 
 
1345
 
        * elf-bfd.h (struct elf_backend_data): Add bfd_link_info pointer
1346
 
        parameter.
1347
 
        (_bfd_elf_sizeof_headers): Replace bfd_boolean param with
1348
 
        bfd_link_info pointer.
1349
 
        * targets.c (struct bfd_target <_bfd_sizeof_headers>): Likewise.
1350
 
        * bfd.c (bfd_sizeof_headers): Tweak param name.
1351
 
        * aout-adobe.c (aout_adobe_sizeof_headers): Adjust.
1352
 
        * aoutx.h (NAME (aout, sizeof_headers)): Adjust.
1353
 
        * binary.c (binary_sizeof_headers): Adjust.
1354
 
        * bout.c (b_out_sizeof_headers): Adjust.
1355
 
        * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Adjust.
1356
 
        * coff64-rs6000.c (xcoff64_sizeof_headers): Adjust.
1357
 
        * coffgen.c (coff_sizeof_headers): Adjust.
1358
 
        * ecoff.c (_bfd_ecoff_sizeof_headers): Adjust.
1359
 
        (ecoff_compute_section_file_positions): Adjust.
1360
 
        (_bfd_ecoff_write_object_contents): Adjust.
1361
 
        * elf.c (get_program_header_size, _bfd_elf_sizeof_headers): Adjust.
1362
 
        * elf32-arm.c (elf32_arm_additional_program_headers): Adjust.
1363
 
        * elf32-i370.c (elf_backend_additional_program_headers): Adjust.
1364
 
        * elf32-ppc.c (ppc_elf_additional_program_headers): Adjust.
1365
 
        * elf64-hppa.c (elf64_hppa_additional_program_headers): Adjust.
1366
 
        * elf64-x86-64.c (elf64_x86_64_additional_program_headers): Adjust.
1367
 
        * elfxx-ia64.c (elfNN_ia64_additional_program_headers): Adjust.
1368
 
        * elfxx-mips.c (_bfd_mips_elf_additional_program_headers): Adjust.
1369
 
        * elfxx-mips.h (_bfd_mips_elf_additional_program_headers): Adjust.
1370
 
        * i386msdos.c: Convert to ISO C.
1371
 
        (msdos_sizeof_headers): Adjust.
1372
 
        * i386os9k.c: Convert to ISO C.
1373
 
        (os9k_sizeof_headers): Adjust.
1374
 
        * ieee.c (ieee_sizeof_headers): Adjust.
1375
 
        * ihex.c (ihex_sizeof_headers): Adjust.
1376
 
        * libaout.h (NAME (aout, sizeof_headers)): Adjust.
1377
 
        * libbfd-in.h (_bfd_nolink_sizeof_headers): Adjust.
1378
 
        * libcoff-in.h (coff_sizeof_headers): Adjust.
1379
 
        * libecoff.h (_bfd_ecoff_sizeof_headers): Adjust.
1380
 
        * mach-o.c (bfd_mach_o_sizeof_headers): Adjust.
1381
 
        * mmo.c (mmo_sizeof_headers): Adjust.
1382
 
        * oasys.c (oasys_sizeof_headers): Adjust.
1383
 
        * pdp11.c (NAME (aout, sizeof_headers)): Adjust.
1384
 
        * pef.c (bfd_pef_sizeof_headers): Adjust.
1385
 
        * ppcboot.c (ppcboot_sizeof_headers): Adjust.
1386
 
        * som.c (som_sizeof_headers): Adjust.
1387
 
        * srec.c (srec_sizeof_headers): Adjust.
1388
 
        * tekhex.c (tekhex_sizeof_headers): Adjust.
1389
 
        * versados.c (versados_sizeof_headers): Adjust.
1390
 
        * vms.c (vms_sizeof_headers): Adjust.
1391
 
        * xcoff-target.h (_bfd_xcoff_sizeof_headers): Adjust.
1392
 
        * xsym.c (bfd_sym_sizeof_headers): Adjust.
1393
 
        * xsym.h (bfd_sym_sizeof_headers): Adjust.
1394
 
        * bfd-in2.h: Regenerate.
1395
 
        * libbfd.h: Regenerate.
1396
 
        * libcoff.h: Regenerate.
1397
 
 
1398
 
2006-06-15  Mark Shinwell  <shinwell@codesourcery.com>
1399
 
 
1400
 
        * bfd-in2.h: Regenerate.
1401
 
        * elf32-arm.c (R_ARM_ALU_PC_G0_NC, R_ARM_ALU_PC_G0,
1402
 
        R_ARM_ALU_PC_G1_NC, R_ARM_ALU_PC_G1, R_ARM_ALU_PC_G2,
1403
 
        R_ARM_LDR_PC_G1, R_ARM_LDR_PC_G2, R_ARM_LDRS_PC_G0,
1404
 
        R_ARM_LDRS_PC_G1, R_ARM_LDRS_PC_G2, R_ARM_LDC_PC_G0,
1405
 
        R_ARM_LDC_PC_G1, R_ARM_LDC_PC_G2, R_ARM_ALU_SB_G0_NC,
1406
 
        R_ARM_ALU_SB_G0, R_ARM_ALU_SB_G1_NC, R_ARM_ALU_SB_G1,
1407
 
        R_ARM_ALU_SB_G2, R_ARM_LDR_SB_G0, R_ARM_LDR_SB_G1,
1408
 
        R_ARM_LDR_SB_G2, R_ARM_LDRS_SB_G0, R_ARM_LDRS_SB_G1,
1409
 
        R_ARM_LDRS_SB_G2, R_ARM_LDC_SB_G0, R_ARM_LDC_SB_G1,
1410
 
        R_ARM_LDC_SB_G2): New relocation types.
1411
 
        (R_ARM_PC13): Rename to AAELF name R_ARM_LDR_PC_G0 and
1412
 
        adjust HOWTO entry to be consistent with R_ARM_LDR_PC_G1
1413
 
        and friends.
1414
 
        (elf32_arm_howto_table_3): Delete; contents merged into
1415
 
        elf32_arm_howto_table_2.
1416
 
        (elf32_arm_howto_from_type): Adjust correspondingly.
1417
 
        (elf32_arm_reloc_map): Extend with the above relocations.
1418
 
        (calculate_group_reloc_mask): New function.
1419
 
        (identify_add_or_sub): New function.
1420
 
        (elf32_arm_final_link_relocate): Support for the above
1421
 
        relocations.
1422
 
        * reloc.c: Add enumeration entries for BFD_RELOC_ARM_...
1423
 
        codes to correspond to the above relocations.
1424
 
 
1425
 
2006-06-14  Richard Sandiford  <richard@codesourcery.com>
1426
 
 
1427
 
        * elf32-m68k.c (elf_m68k_plt_info): New structure.
1428
 
        (elf_m68k_plt0_entry): Add R_68K_PC32-style in-place addends.
1429
 
        (elf_m68k_plt_entry): Likewise.
1430
 
        (elf_m68k_plt_info): New table.
1431
 
        (CFV4E_PLT_ENTRY_SIZE): Rename to...
1432
 
        (ISAB_PLT_ENTRY_SIZE): ...this.
1433
 
        (CFV4E_FLAG): Delete.
1434
 
        (elf_cfv4e_plt0_entry): Rename to...
1435
 
        (elf_isab_plt0_entry): ...this.  Adjust comments.  Use (-6,%pc,%d0)
1436
 
        for the second instruction too.
1437
 
        (elf_cfv4e_plt_entry): Rename to...
1438
 
        (elf_isab_plt_entry): ...this.  Adjust comments and use (-6,%pc,%d0).
1439
 
        (elf_isab_plt_info): New table.
1440
 
        (CPU32_FLAG): Delete.
1441
 
        (PLT_CPU32_ENTRY_SIZE): Rename to...
1442
 
        (CPU32_PLT_ENTRY_SIZE): ...this.
1443
 
        (elf_cpu32_plt0_entry): Update bounds accordingly.  Add R_68K_PC32-
1444
 
        style in-place addends.
1445
 
        (elf_cpu32_plt_entry): Likewise.
1446
 
        (elf_cpu32_plt_info): New table.
1447
 
        (elf_m68k_link_hash_table): Add a plt_info field.
1448
 
        (elf_m68k_link_hash_table_create): Initialize it.
1449
 
        (elf_m68k_get_plt_info): New function.
1450
 
        (elf_m68k_always_size_sections): Likewise.
1451
 
        (elf_m68k_adjust_dynamic_symbol): Use the plt_info hash table field.
1452
 
        (elf_m68k_install_pc32): New function.
1453
 
        (elf_m68k_finish_dynamic_symbol): Factor code using plt_info and
1454
 
        elf_m68k_install_pc32.
1455
 
        (elf_m68k_finish_dynamic_sections): Likewise.
1456
 
        (elf_m68k_plt_sym_val): Use elf_m68k_get_plt_info.
1457
 
        (elf_backend_always_size_sections): Define.
1458
 
 
1459
 
2006-06-14  Alan Modra  <amodra@bigpond.net.au>
1460
 
 
1461
 
        * elflink.c (elf_link_add_object_symbols): Save and restore
1462
 
        struct bfd_hash_table table, size and count fields for
1463
 
        as-needed libs.
1464
 
 
1465
 
2006-06-12  Thiemo Seufer  <ths@mips.com>
1466
 
 
1467
 
        * elf32-mips.c: Expand comment about ABI-mandated pagesize values.
1468
 
        (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): define in a more obvious way.
1469
 
        * elf64-mips.c, elfn32-mips.c (ELF_MAXPAGESIZE): Fix value for IRIX6.
1470
 
        Delete old comments.
1471
 
        (ELF_COMMONPAGESIZE): Define in a more obvious way.
1472
 
 
1473
 
2006-06-12  Nick Clifton  <nickc@redhat.com>
1474
 
 
1475
 
        PR binutils/2735
1476
 
        * elflink.c (elf_link_add_object_symbols): Fix the warning message
1477
 
        about mismatched alignments to allow for the case where the common
1478
 
        alignment has been deduced from the section alignment.
1479
 
        * bfd.c (_bfd_default_error_handler): Update comment to explain
1480
 
        why bfd and asection varargs are out of order.  Explicitly catch
1481
 
        and abort on NULL bfd and asection arguments.
1482
 
 
1483
 
2006-06-11  Richard Sandiford  <richard@codesourcery.com>
1484
 
            Thiemo Seufer  <ths@mips.com>
1485
 
 
1486
 
        * elfxx-mips.c (mips_elf_link_hash_table): Add function_stub_size.
1487
 
        (STUB_ORI): New macro.
1488
 
        (STUB_LI16U): Fix formatting.
1489
 
        (MIPS_FUNCTION_STUB_SIZE): Delete.
1490
 
        (MIPS_FUNCTION_STUB_MAX_SIZE): Likewise.
1491
 
        (MIPS_FUNCTION_STUB_NORMAL_SIZE): New macro.
1492
 
        (MIPS_FUNCTION_STUB_BIG_SIZE): Likewise.
1493
 
        (_bfd_mips_elf_adjust_dynamic_symbol): Use htab->function_stub_size
1494
 
        instead of MIPS_FUNCTION_STUB_SIZE.
1495
 
        (count_section_dynsyms): New function, split out from
1496
 
        _bfd_mips_elf_final_link.
1497
 
        (_bfd_mips_elf_always_size_sections): Get a worst-case estimate
1498
 
        of the number of dynamic symbols needed and use it to set up
1499
 
        function_stub_size.  Use function_stub_size rather than
1500
 
        MIPS_FUNCTION_STUB_SIZE to determine the size of the stub section.
1501
 
        Use 16-byte stubs for 0x10000 dynamic symbols.
1502
 
        (_bfd_mips_elf_size_dynamic_sections): Use htab->function_stub_size
1503
 
        instead of MIPS_FUNCTION_STUB_SIZE.  Fix formatting.
1504
 
        (_bfd_mips_elf_finish_dynamic_symbol): Likewise.  Change the
1505
 
        size of the stub buffer from MIPS_FUNCTION_STUB_MAX_SIZE to
1506
 
        MIPS_FUNCTION_STUB_BIG_SIZE.  Tweak the check for unhandled dynindxes.
1507
 
        Use MIPS_FUNCTION_STUB_BIG_SIZE rather than a hard-coded 20.
1508
 
        Use STUB_ORI rather than STUB_LI16U for big stubs.
1509
 
        (_bfd_mips_elf_link_hash_table_create): Initialize function_stub_size.
1510
 
        (_bfd_mips_elf_final_link): Use count_section_dynsyms.
1511
 
 
1512
 
2006-06-09  David Ung  <davidu@mips.com>
1513
 
 
1514
 
        * bfd/elfxx-mips.c (mips_elf_calculate_relocation): Fix mode for stub
1515
 
        calling relocations.
1516
 
 
1517
 
2006-06-08  David Daney  <ddaney@avtrex.com>
1518
 
 
1519
 
        * elfxx-mips.c (STUB_LI16): Removed.
1520
 
        (STUB_LUI): New macro.
1521
 
        (STUB_LI16U): Ditto.
1522
 
        (STUB_LI16S): Ditto.
1523
 
        (MIPS_FUNCTION_STUB_SIZE): Rewrote to take info parameter.
1524
 
        (_bfd_mips_elf_adjust_dynamic_symbol): Pass info parameter to
1525
 
        MIPS_FUNCTION_STUB_SIZE.
1526
 
        (_bfd_mips_elf_always_size_sections): Ditto.
1527
 
        (_bfd_mips_elf_size_dynamic_sections): Ditto.
1528
 
        (_bfd_mips_elf_finish_dynamic_sections): Ditto.
1529
 
        (_bfd_mips_elf_finish_dynamic_symbol): Rewrote stub generation
1530
 
        to allow larger symbol table indexes.
1531
 
 
1532
 
2006-06-07  Joseph S. Myers  <joseph@codesourcery.com>
1533
 
 
1534
 
        * po/Make-in (pdf, ps): New dummy targets.
1535
 
 
1536
 
2006-06-06  Alan Modra  <amodra@bigpond.net.au>
1537
 
 
1538
 
        * hash.c (bfd_hash_lookup): Correct stray line.
1539
 
 
1540
 
        * elf.c (_bfd_elf_init_private_section_data): Comment typo.
1541
 
        (elfcore_grok_nto_status): Use long instead of pid_t.
1542
 
        (elfcore_grok_nto_regs, elfcore_grok_nto_note): Likewise.
1543
 
 
1544
 
2006-06-05  Daniel Jacobowitz  <dan@codesourcery.com>
1545
 
 
1546
 
        * po/Make-in (top_builddir): Define.
1547
 
 
1548
 
2006-06-05  Alan Modra  <amodra@bigpond.net.au>
1549
 
 
1550
 
        * Makefile.am: Run "make dep-am".
1551
 
        * Makefile.in: Regenerate.
1552
 
        * config.in: Regenerate.
1553
 
 
1554
 
2006-06-02  Alan Modra  <amodra@bigpond.net.au>
1555
 
            H.J. Lu  <hongjiu.lu@intel.com>
1556
 
 
1557
 
        PR ld/2723
1558
 
        * elflink.c (bfd_elf_final_link): Don't output section symbols
1559
 
        for special ELF sections.
1560
 
 
1561
 
2006-06-01  Alan Modra  <amodra@bigpond.net.au>
1562
 
 
1563
 
        * stabs.c (_bfd_link_section_stabs): Use bfd_make_section*_with_flags
1564
 
        instead of bfd_make_section*.
1565
 
        * aix386-core.c: Likewise.
1566
 
        * aix5ppc-core.c: Likewise.
1567
 
        * aout-adobe.c: Likewise.
1568
 
        * aoutf1.h: Likewise.
1569
 
        * binary.c: Likewise.
1570
 
        * cisco-core.c: Likewise.
1571
 
        * coff-arm.c: Likewise.
1572
 
        * coff-h8300.c: Likewise.
1573
 
        * elf.c: Likewise.
1574
 
        * elf32-bfin.c: Likewise.
1575
 
        * elf32-m32c.c: Likewise.
1576
 
        * hppabsd-core.c: Likewise.
1577
 
        * hpux-core.c: Likewise.
1578
 
        * i386linux.c: Likewise.
1579
 
        * ieee.c: Likewise.
1580
 
        * ihex.c: Likewise.
1581
 
        * irix-core.c: Likewise.
1582
 
        * lynx-core.c: Likewise.
1583
 
        * m68klinux.c: Likewise.
1584
 
        * mach-o.c: Likewise.
1585
 
        * netbsd-core.c: Likewise.
1586
 
        * nlmcode.h: Likewise.
1587
 
        * opncls.c: Likewise.
1588
 
        * osf-core.c: Likewise.
1589
 
        * peXXigen.c: Likewise.
1590
 
        * ppcboot.c: Likewise.
1591
 
        * ptrace-core.c: Likewise.
1592
 
        * rs6000-core.c: Likewise.
1593
 
        * sco5-core.c: Likewise.
1594
 
        * sparclinux.c: Likewise.
1595
 
        * srec.c: Likewise.
1596
 
        * sunos.c: Likewise.
1597
 
        * trad-core.c: Likewise.
1598
 
        * xcofflink.c: Likewise.
1599
 
        * xsym.c: Likewise.
1600
 
 
1601
 
2006-05-31  Daniel Jacobowitz  <dan@codesourcery.com>
1602
 
 
1603
 
        * Makefile.am (INCLUDES): Use @INCINTL@.
1604
 
        * acinclude.m4: Include new gettext macros.
1605
 
        * configure.in: Use ZW_GNU_GETTEXT_SISTER_DIR and AM_PO_SUBDIRS.
1606
 
        Manually substitute POFILES and GMOFILES.
1607
 
        * Makefile.in, aclocal.m4, configure, doc/Makefile.in: Regenerated.
1608
 
 
1609
 
2006-05-30  H.J. Lu  <hongjiu.lu@intel.com>
1610
 
 
1611
 
        * bfd.c (bfd_emul_get_maxpagesize): New.
1612
 
        (bfd_elf_set_pagesize): Likewise.
1613
 
        (bfd_emul_set_maxpagesize): Likewise.
1614
 
        (bfd_emul_get_commonpagesize): Likewise.
1615
 
        (bfd_emul_set_commonpagesize): Likewise.
1616
 
        * bfd-in2.h: Regenerated.
1617
 
 
1618
 
        * elf-bfd.h (elf_backend_data): Add commonpagesize.
1619
 
        (xvec_get_elf_backend_data): New.
1620
 
        (get_elf_backend_data): Use xvec_get_elf_backend_data.
1621
 
 
1622
 
        * elf32-arm.c (elf32_arm_vxworks_bed): Remove const.
1623
 
        * elfxx-target.h (elfNN_bed): Likewise.
1624
 
 
1625
 
        * elf32-arm.c (ELF_COMMONPAGESIZE): Defined.
1626
 
        * elf32-mips.c (ELF_COMMONPAGESIZE): Likewise.
1627
 
        * elf32-ppc.c (ELF_COMMONPAGESIZE): Likewise.
1628
 
        * elf32-sh.c (ELF_COMMONPAGESIZE): Likewise.
1629
 
        * elf32-sh64.c (ELF_COMMONPAGESIZE): Likewise.
1630
 
        * elf32-sparc.c (ELF_COMMONPAGESIZE): Likewise.
1631
 
        * elf64-alpha.c (ELF_COMMONPAGESIZE): Likewise.
1632
 
        * elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise.
1633
 
        * elf64-sparc.c (ELF_COMMONPAGESIZE): Likewise.
1634
 
        * elf64-x86-64.c (ELF_COMMONPAGESIZE): Likewise.
1635
 
        * elfn32-mips.c (ELF_COMMONPAGESIZE): Likewise.
1636
 
        * elfxx-ia64.c (ELF_COMMONPAGESIZE): Likewise.
1637
 
 
1638
 
        * elfxx-target.h (ELF_COMMONPAGESIZE): Define if not defined.
1639
 
        (elfNN_bed): Initialize commonpagesize with ELF_COMMONPAGESIZE.
1640
 
 
1641
 
        * targets.c (bfd_find_target): Support NULL abfd.
1642
 
 
1643
 
2006-05-30  Nick Clifton  <nickc@redhat.com>
1644
 
 
1645
 
        * po/es.po: Updated Spanish translation.
1646
 
 
1647
 
2006-05-27  Alan Modra  <amodra@bigpond.net.au>
1648
 
            H.J. Lu  <hongjiu.lu@intel.com>
1649
 
 
1650
 
        * elf.c (assign_file_positions_for_load_sections): Retrieve
1651
 
        maxpagesize from m->p_align if it is valid.  Set p_vaddr,
1652
 
        p_paddr and p_align earlier.  Revert 2006-05-19 change to p_align.
1653
 
        (copy_elf_program_header): Copy p_align.  Set p_align_valid.
1654
 
 
1655
 
2006-05-26  H.J. Lu  <hongjiu.lu@intel.com>
1656
 
 
1657
 
        * elf64-x86-64.c (ELF_MINPAGESIZE): Changed to 0x1000.
1658
 
 
1659
 
2006-05-25  H.J. Lu  <hongjiu.lu@intel.com>
1660
 
 
1661
 
        * elf64-x86-64.c (ELF_MINPAGESIZE): Set to 0x100000.
1662
 
 
1663
 
2006-05-25  H.J. Lu  <hongjiu.lu@intel.com>
1664
 
 
1665
 
        * elf64-x86-64.c (ELF_MAXPAGESIZE): Updated to 0x200000.
1666
 
 
1667
 
2006-05-26  Alan Modra  <amodra@bigpond.net.au>
1668
 
 
1669
 
        * elf.c (sym_is_global): Return a bfd_boolean.
1670
 
        (ignore_section_sym): New function.
1671
 
        (elf_map_symbols): Use ignore_section_sym to discard some syms.
1672
 
        (_bfd_elf_symbol_from_bfd_symbol): Ensure section belongs to
1673
 
        bfd before using elf_section_syms.
1674
 
 
1675
 
2006-05-25  H.J. Lu  <hongjiu.lu@intel.com>
1676
 
 
1677
 
        * config.bfd: (sh-*-linux*): Treat as 64bit target.
1678
 
        (sh*l*-*-netbsdelf*): Likewise.
1679
 
        (sh-*-netbsdelf*): Likewise.
1680
 
        (shl*-*-elf*): Likewise.
1681
 
        (sh[1234]l*-*-elf*): Likewise.
1682
 
        (sh3el*-*-elf*): Likewise.
1683
 
        (shl*-*-kaos*): Likewise.
1684
 
        (sh-*-elf*): Likewise.
1685
 
        (sh[1234]*-elf*): Likewise.
1686
 
        (sh-*-rtems*): Likewise.
1687
 
        (sh-*-kaos*): Likewise.
1688
 
 
1689
 
2006-05-24  H.J. Lu  <hongjiu.lu@intel.com>
1690
 
 
1691
 
        PR ld/1485
1692
 
        * config.bfd: Set want64 to true if 64bit bfd is used.
1693
 
        (sh-*-linux*): Use targ64_selvecs for 64bit targets.
1694
 
        (sh*l*-*-netbsdelf*): Likewise.
1695
 
        (sh-*-netbsdelf*): Likewise.
1696
 
        (shl*-*-elf*): Likewise.
1697
 
        (sh[1234]l*-*-elf*): Likewise.
1698
 
        (sh3el*-*-elf*): Likewise.
1699
 
        (shl*-*-kaos*): Likewise.
1700
 
        (sh-*-elf*): Likewise.
1701
 
        (sh[1234]*-elf*): Likewise.
1702
 
        (sh-*-rtems*): Likewise.
1703
 
        (sh-*-kaos*): Likewise.
1704
 
 
1705
 
2006-05-24  Paul Brook  <paul@codesourcery.com>
1706
 
 
1707
 
        * elf-bfd.h (elf_backend_data): Add elf_backend_output_arch_local_syms
1708
 
        * elf32-arm.c (output_arch_syminfo): Define.
1709
 
        (elf32_arm_ouput_plt_map_sym, elf32_arm_output_plt_map,
1710
 
        elf32_arm_output_arch_local_syms): New functions.
1711
 
        (elf_backend_output_arch_local_syms): Define.
1712
 
        * elflink.c (bfd_elf_final_link): Call
1713
 
        elf_backend_output_arch_local_syms.
1714
 
        * elfxx-target.h (elf_backend_output_arch_local_syms): Provide default
1715
 
        definition.
1716
 
        (elfNN_bed): Add elf_backend_output_arch_local_syms.
1717
 
 
1718
 
2006-05-24  Paul Brook  <paul@codesourcery.com>
1719
 
 
1720
 
        * elf32-arm.c (put_arm_insn, put_thumb_insn): New functions.
1721
 
        (elf32_thumb_to_arm_stub, elf32_arm_to_thumb_stub,
1722
 
        elf32_arm_finish_dynamic_symbol): Use them.
1723
 
 
1724
 
2006-05-24  Carlos O'Donell  <carlos@systemhalted.org>
1725
 
            Randolph Chung  <tausq@debian.org>
1726
 
 
1727
 
        * elf-hppa.h (reloc_hppa_howto_table): Check bitfield for
1728
 
        TPREL21L/TPREL14R relocations. Handle LTOFF_TP14R relocations.
1729
 
        Add handling for TLS relocations.
1730
 
        (elf_hpp_reloc_final_type): Handle TLS relocs.
1731
 
        * elf32-hppa.c: Add authors for cleanup and TLS support.
1732
 
        (hppa_elf_local_got_tls_type, hh_name, eh_name): Define.
1733
 
        (elf32_hppa_link_hash_entry): Add tls_type.
1734
 
        (elf32_hppa_link_hash_table): Add tld_ldm_got.
1735
 
        (hppa_link_has_newfunc): Set tls_type.
1736
 
        (elf32_hppa_link_hash_table_create): Set tls_ldm_got refcount.
1737
 
        (hppa_stub_name): Use hh_name macro.
1738
 
        (elf32_hppa_copy_indirect_symbol): Copy TLS information.
1739
 
        (elf32_hppa_check_relocs): Call elf32_hppa_optimized_tls_reloc.
1740
 
        Handle TLS relocs.
1741
 
        (elf32_hppa_gc_sweep_hook): Likewise.
1742
 
        (allocate_dynrelocs): Handle TLS relocs.
1743
 
        (elf32_hppa_size_dynamic_sections): Count space required by TLS
1744
 
        relocs. Use hh_name macro.
1745
 
        (dtpoff_base): New function.
1746
 
        (tpoff): Likewise.
1747
 
        (elf32_hppa_optimized_tls_reloc): Likewise.
1748
 
        (final_link_relocate): Handle TLS relocs.
1749
 
        (elf32_hppa_relocate_section): Handle TLS relocs. Use eh_name
1750
 
        and hh_name macros.
1751
 
        (elf32_hppa_finish_dynamic_symbol): Setup TLS got entries. Use
1752
 
        hh_name and eh_name macros.
1753
 
        (elf32_hppa_reloc_type_clas): Handle TLS relocs.
1754
 
 
1755
 
2006-05-24  Bjoern Haase  <bjoern.m.haase@web.de>
1756
 
 
1757
 
        * archures.c: Add bfd_mach_avr6.
1758
 
        * cpu-avr.c: Likewise.
1759
 
        * reloc.c (BFD_RELOC_AVR_LO8_LDI_GS, BFD_RELOC_AVR_HI8_LDI_GS):
1760
 
        New relocations.
1761
 
        * libbfd.h: Regenerate.
1762
 
        * bfd-in2.h:Regenerate.
1763
 
        * elf32-avr.h: New file.  Protoypes for functions accessed from ld.
1764
 
        * elf32-avr.c: Add elf32-avr.h to include list.
1765
 
        (elf32_avr_stub_hash_entry): New function.
1766
 
        (elf32_avr_link_hash_table): New struct.
1767
 
        (avr_link_hash_table): Likewise.
1768
 
        (avr_stub_hash_entry): Likewise.
1769
 
        (avr_stub_hash_lookup): New function.
1770
 
        (stub_hash_newfunc): New function.
1771
 
        (elf32_avr_link_hash_table_create): New function.
1772
 
        (elf32_avr_link_hash_table_free): New function.
1773
 
        (avr_get_stub_addr): New function.
1774
 
        (debug_relax, debug_stubs): Add new global variables controlling
1775
 
        debugging printout to stdout.
1776
 
        (avr_pc_wrap_around): Change the type to bfd_vma.
1777
 
        (avr_replace_call_ret_sequences): Add a new variable controling
1778
 
        linkrelax optimizations.
1779
 
        (avr_stub_is_required_for_16_bit_reloc): New function.
1780
 
        (avr_final_link_relocate):
1781
 
        Add linker hash table to parameter list. Use stub addr. if necessary.
1782
 
        (elf32_avr_relocate_section):
1783
 
        Add linker hashtable to parameter list of avr_final_link_relocate.
1784
 
        (bfd_elf_avr_final_write_processing): Add support for bfd_mach_avr6.
1785
 
        (elf32_avr_object_p): Add support for E_AVR_MACH_AVR6.
1786
 
        (elf32_avr_relax_delete_bytes):
1787
 
        Iterate over all sections of a bfd when adjusting relocs addends.
1788
 
        (elf32_avr_relax_section):
1789
 
        Evaluate avr_replace_call_ret_sequences and recalculate the size of
1790
 
        stub section.
1791
 
        (avr_stub_name): New function.
1792
 
        (avr_get_stub_entry): New function.
1793
 
        (avr_add_stub): New function.
1794
 
        (avr_build_one_stub): New function.
1795
 
        (avr_size_one_stub): New function.
1796
 
        (elf32_avr_setup_params): New function.
1797
 
        (elf32_avr_setup_section_lists): New function.
1798
 
        (get_local_syms): New function.
1799
 
        (elf32_avr_size_stubs): New function.
1800
 
        (bfd_elf32_bfd_link_hash_table_create): New function.
1801
 
        (bfd_elf32_bfd_link_hash_table_free): New function.
1802
 
 
1803
 
2006-05-23  H.J. Lu  <hongjiu.lu@intel.com>
1804
 
 
1805
 
        PR ld/2655
1806
 
        PR ld/2657
1807
 
        * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Properly
1808
 
        update CIE/FDE length.  Don't pad to the section alignment.
1809
 
 
1810
 
2006-05-23  Jie Zhang  <jie.zhang@analog.com>
1811
 
 
1812
 
        * elf32-bfin.c (bfinfdpic_relocate_section): Clear reloc for
1813
 
        deteted entries in .eh_frame section.
1814
 
 
1815
 
2006-05-23  Jie Zhang  <jie.zhang@analog.com>
1816
 
 
1817
 
        * elf32-bfin.c (bfin_check_relocs): Use __GLOBAL_OFFSET_TABLE_
1818
 
        instead of _GLOBAL_OFFSET_TABLE_.
1819
 
        (bfin_relocate_section): Ditto.
1820
 
        (_bfin_create_got_section): Ditto.
1821
 
        (elf32_bfinfdpic_create_dynamic_sections): Use
1822
 
        __PROCEDURE_LINKAGE_TABLE_ instead of _PROCEDURE_LINKAGE_TABLE_.
1823
 
        (bfin_finish_dynamic_symbol): Use __DYNAMIC instead of _DYNAMIC.
1824
 
 
1825
 
2006-05-23  Alan Modra  <amodra@bigpond.net.au>
1826
 
 
1827
 
        * elf64-ppc.c (compare_symbols): Prefer strong dynamic global
1828
 
        function syms over other syms.
1829
 
 
1830
 
2006-05-22  Daniel Jacobowitz  <dan@codesourcery.com>
1831
 
 
1832
 
        * elflink.c (_bfd_elf_add_dynamic_entry): Remove DT_TEXTREL
1833
 
        check.
1834
 
        (bfd_elf_final_link): Add a late DT_TEXTREL check.
1835
 
        * elfxx-mips.c (MIPS_ELF_READONLY_SECTION): Define.
1836
 
        (mips_elf_create_dynamic_relocation): Set DF_TEXTREL.
1837
 
        (_bfd_mips_elf_check_relocs): Delete MIPS_READONLY_SECTION.
1838
 
        Use MIPS_ELF_READONLY_SECTION.
1839
 
        (_bfd_mips_elf_size_dynamic_sections): Clear DF_TEXTREL after
1840
 
        creating DT_TEXTREL.
1841
 
        (_bfd_mips_elf_finish_dynamic_sections): Clear textrel markers
1842
 
        if no text relocations were generated.
1843
 
 
1844
 
2006-05-19  H.J. Lu  <hongjiu.lu@intel.com>
1845
 
 
1846
 
        * elfxx-ia64.c (ELF_MAXPAGESIZE): Fix a typo in comment.
1847
 
 
1848
 
2006-05-19  Alan Modra  <amodra@bigpond.net.au>
1849
 
 
1850
 
        * elf.c (elf_fake_sections): Formatting.
1851
 
        (assign_file_positions_for_load_sections): Only add SEC_ALLOC
1852
 
        sections to p_memsz.  Remove hack for PT_NOTE sections.  Allow
1853
 
        section alignment to increase p_align for PT_LOAD.
1854
 
        (assign_file_positions_for_non_load_sections): Remove ARM BPABI
1855
 
        hack for PT_DYNAMIC.  Instead, set p_filesz for all segments
1856
 
        other than PT_LOAD, and PT_NOTE in core.
1857
 
 
1858
 
2006-05-17  Alan Modra  <amodra@bigpond.net.au>
1859
 
 
1860
 
        * elf.c (assign_file_positions_for_segments): Split into..
1861
 
        (assign_file_positions_for_load_sections): ..this, and..
1862
 
        (assign_file_positions_for_non_load_sections): ..this new function,..
1863
 
        (assign_file_positions_except_relocs): ..writing program headers here.
1864
 
 
1865
 
2006-05-17  Alan Modra  <amodra@bigpond.net.au>
1866
 
 
1867
 
        * elflink.c (elf_gc_sweep): Don't specially keep non-alloc,
1868
 
        non-load sections if they have relocs.
1869
 
 
1870
 
2006-05-15  Paul Brook  <paul@codesourcery.com>
1871
 
 
1872
 
        * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Rename ...
1873
 
        (bfd_is_arm_special_symbol_name): ... to this.  Add type argument.
1874
 
        Check symbol name is of specified type.
1875
 
        * elf32-arm.c (elf32_arm_is_target_special_symbol,
1876
 
        arm_elf_find_function, elf32_arm_output_symbol_hook): Use
1877
 
        bfd_is_arm_special_symbol_name.
1878
 
        * bfd-in.h (BFD_ARM_SPECIAL_SYM_TYPE_MAP,
1879
 
        BFD_ARM_SPECIAL_SYM_TYPE_TAG, BFD_ARM_SPECIAL_SYM_TYPE_OTHER,
1880
 
        BFD_ARM_SPECIAL_SYM_TYPE_ANY): Define.
1881
 
        (bfd_is_arm_mapping_symbol_name): Remove prototype.
1882
 
        (bfd_is_arm_special_symbol_name): Add prototype.
1883
 
        * bfd-in2.h: Regenerate.
1884
 
 
1885
 
2006-05-15  David Heine  <dlheine@tensilica.com>
1886
 
            Bob Wilson  <bob.wilson@acm.org>
1887
 
 
1888
 
        * elf32-xtensa.c (check_loop_aligned): Fix reversed check for
1889
 
        undefined opcode.  Clean up assertions.
1890
 
        (narrow_instruction, widen_instruction): Remove "do_it" parameters.
1891
 
        Factor most of the code into separate functions....
1892
 
        (can_narrow_instruction, can_widen_instruction): New.
1893
 
        (prev_instr_is_a_loop): New.
1894
 
        (compute_ebb_proposed_actions): Combine error handling code for
1895
 
        decode errors.  Replace call to insn_decode_len with inline code.
1896
 
        Use can_narrow_instruction and can_widen_instruction.  Handle errors
1897
 
        from call to xtensa_opcode_is_loop.
1898
 
        (relax_section): Adjust calls to narrow_instruction and
1899
 
        widen_instruction.
1900
 
 
1901
 
2006-05-15  Alan Modra  <amodra@bigpond.net.au>
1902
 
 
1903
 
        PR 2658
1904
 
        * elf32-ppc.c (ppc_elf_relax_section): Don't segfault on non-pic
1905
 
        -shared link.
1906
 
 
1907
 
2006-05-11  Michael Matz  <matz@suse.de>
1908
 
 
1909
 
        * elflink.c (match_group_member): Correctly iterate group
1910
 
        members.
1911
 
 
1912
 
2006-05-11  Paul Brook  <paul@codesourcery.com>
1913
 
 
1914
 
        * elf32-arm.c (elf32_arm_reloc_map): Add MOVW and MOVT relocs.
1915
 
        (elf32_arm_final_link_relocate): Handle MOVW and MOVT relocs.
1916
 
        (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto.
1917
 
        * reloc.c: Ditto.
1918
 
        * bfd-in2.h: Regenerate.
1919
 
        * libbfd.h: Regenerate.
1920
 
        * libcoff.h: Regenerate.
1921
 
 
1922
 
2006-05-11  Mike Bland  <mbland@google.com>
1923
 
 
1924
 
        * elf.c (_bfd_elf_init_private_section_data): Don't change
1925
 
        section type if already set.
1926
 
 
1927
 
2006-05-10  Nick Clifton  <nickc@redhat.com>
1928
 
 
1929
 
        PR ld/2607
1930
 
        * elfcode.h (valid_section_index_p): New function: Checks for a
1931
 
        valid section index.  Allows indicies in the range SHN_LOPROC to
1932
 
        SHN_HIOS.
1933
 
        (elf_object_p): Use valid_section_index_p.
1934
 
 
1935
 
2006-05-11  Pedro Alves  <pedro_alves@portugalmail.pt>
1936
 
 
1937
 
        * coff-arm.c (ARM_26D, ARM_32, ARM_RVA_32, ARM_SECTION,
1938
 
        ARM_SECREL): Mark WinCE versions of these relocs as partial
1939
 
        inplace.
1940
 
        (coff_arm_relocate_section): Adjust addend for WinCE.
1941
 
 
1942
 
2006-05-10  Alan Modra  <amodra@bigpond.net.au>
1943
 
 
1944
 
        PR 2342
1945
 
        * elflink.c (_bfd_elf_default_action_discarded): Revert 2006-02-16.
1946
 
 
1947
 
2006-05-09  Nick Clifton  <nickc@redhat.com>
1948
 
 
1949
 
        * coffcode.h (coff_write_relocs): Produce an error message if a an
1950
 
        out-of-range symbol index is detected in a reloc.
1951
 
 
1952
 
2006-05-09  Ben Elliston  <bje@au.ibm.com>
1953
 
 
1954
 
        * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Remove unused
1955
 
        local variable `dynobj'.
1956
 
 
1957
 
2006-05-05  Bjoern Haase  <bjoern.m.haase@web.de>
1958
 
 
1959
 
        * elf32-avr.c (elf32_avr_relax_delete_bytes): Iterate over all
1960
 
        of the bfd's sections for the reloc-addend adjustments.
1961
 
 
1962
 
2006-05-05  Martin Schwidefsky  <schwidefsky@de.ibm.com>
1963
 
 
1964
 
        * elf32-s390.c (invalid_tls_insn): Call bfd_set_error.
1965
 
        (elf_s390_relocate_section): Add code to do the GD->LE and
1966
 
        LD->LE TLS linker optimizations if a brasl instruction is used
1967
 
        for the __tls_get_offset function call.
1968
 
        * elf64-s390.c (invalid_tls_insn): Call bfd_set_error.
1969
 
 
1970
 
2006-05-05  Alan Modra  <amodra@bigpond.net.au>
1971
 
 
1972
 
        * elf64-ppc.c (ppc64_elf_tls_optimize): Only optimize
1973
 
        R_PPC64_TPREL64 and R_PPC64_DTPMOD64 relocs when they are in
1974
 
        the .toc and referenced by a TLS code sequence.
1975
 
        (ppc64_elf_edit_toc): Cater for the unlikely situation that
1976
 
        .toc is the first section in a file.
1977
 
 
1978
 
2006-05-04  Andreas Schwab  <schwab@suse.de>
1979
 
 
1980
 
        * aoutf1.h (struct external_sparc_core): Declare c_regs as struct
1981
 
        regs instead of an array of int.
1982
 
        (struct external_solaris_bcp_core): Likewise.
1983
 
        (swapcore_sun3): Use offsetof instead of computing the offset
1984
 
        manually.
1985
 
        (swapcore_sparc): Likewise.  Simplify reference to c_regs.
1986
 
        (swapcore_solaris_bcp): Likewise.
1987
 
 
1988
 
2006-05-04  Daniel Jacobowitz  <dan@codesourcery.com>
1989
 
 
1990
 
        * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Adjust handling
1991
 
        for missing GOTs.
1992
 
 
1993
 
2006-05-04  Daniel Jacobowitz  <dan@codesourcery.com>
1994
 
 
1995
 
        * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Accept more
1996
 
        mapping symbols.
1997
 
 
1998
 
2006-05-04  Ben Elliston  <bje@au.ibm.com>
1999
 
 
2000
 
        * coff-or32.c (bfd_section_from_shdr): Remove unused local
2001
 
        variable `ptr'.
2002
 
        * cofflink.c (process_embedded_commands): Remove unused local
2003
 
        variables `had_read' and `had_shared'.
2004
 
        * ecofflink.c (bfd_ecoff_debug_accumulate): Remove unused local
2005
 
        variable `fdr_adr'.
2006
 
        * ihex.c (ihex_read_section): Remove unused local variable `addr'.
2007
 
 
2008
 
2006-05-03  Alan Modra  <amodra@bigpond.net.au>
2009
 
 
2010
 
        * libbfd-in.h (_bfd_generic_new_section_hook): Declare.
2011
 
        * section.c (bfd_abs_symbol, bfd_com_symbol): Delete.
2012
 
        (bfd_und_symbol, bfd_ind_symbol): Delete.
2013
 
        (BFD_FAKE_SECTION): Remove SYM_PTR param, set symbol_ptr_ptr to
2014
 
        &SEC.symbol.
2015
 
        (STD_SECTION): Adjust.
2016
 
        (_bfd_generic_new_section_hook): New function, extracted from..
2017
 
        (bfd_section_init): ..here.
2018
 
        (bfd_make_section_old_way): Call new_section_hook for abs, com,
2019
 
        und and ind sections.
2020
 
        * elf.c (_bfd_elf_large_com_section): Adjust.
2021
 
        * aoutx.h (new_section_hook): Call _bfd_generic_new_section_hook.
2022
 
        * pdp11.c (new_section_hook): Likewise.
2023
 
        * coffcode.h (coff_new_section_hook): Likewise.
2024
 
        * ecoff.c (_bfd_ecoff_new_section_hook): Likewise.
2025
 
        * elf.c (_bfd_elf_new_section_hook): Likewise.
2026
 
        * vms.c (vms_new_section_hook): Likwise.
2027
 
        * elf32-arm.c (elf32_arm_new_section_hook): Check used_by_bfd isn't
2028
 
        already set.
2029
 
        * elf32-sh64.c (sh64_elf_new_section_hook): Likewise.
2030
 
        * elf32-xtensa.c (elf_xtensa_new_section_hook): Likewise.
2031
 
        * elf64-mmix.c (mmix_elf_new_section_hook): Likewise.
2032
 
        * elf64-ppc.c (ppc64_elf_new_section_hook): Likewise.
2033
 
        * elfxx-mips.c (_bfd_mips_elf_new_section_hook): Likewise.
2034
 
        * elfxx-sparc.c (_bfd_sparc_elf_new_section_hook): Likewise.
2035
 
        * ieee.c (ieee_new_section_hook): Likewise.  Call
2036
 
        _bfd_generic_new_section_hook too.
2037
 
        * mmo.c (mmo_new_section_hook): Likewise.
2038
 
        * oasys.c (oasys_new_section_hook): Likewise.
2039
 
        * som.c (som_new_section_hook): Likewise.
2040
 
        * coff-w65.c (reloc_processing): Don't use bfd_abs_symbol.
2041
 
        * bfd-in2.h: Regenerate.
2042
 
        * libbfd.h: Regenerate.
2043
 
 
2044
 
2006-05-03  Alan Modra  <amodra@bigpond.net.au>
2045
 
 
2046
 
        * hash.c (DEFAULT_SIZE): Revert last change.
2047
 
        (higher_prime_number): Correct test for no larger prime.  Don't
2048
 
        abort on error, instead return 0.  Depopulate primes[].
2049
 
        (bfd_hash_lookup): If we overflow size, refuse to grow table.
2050
 
 
2051
 
2006-05-02  Paul Brook  <paul@codesourcery.com>
2052
 
 
2053
 
        * elf32-arm.c (elf32_arm_final_link_relocate): Set thumb funciton bit
2054
 
        for R_ARM_REL32.
2055
 
 
2056
 
2006-05-02  Ben Elliston  <bje@au.ibm.com>
2057
 
 
2058
 
        * archive.c (bfd_generic_archive_p): Remove unused local variable
2059
 
        `fail'.
2060
 
        * dwarf2.c (decode_line_info): Remove unused local variable
2061
 
        `basic_block'.
2062
 
        * elfcode.h (elf_slurp_reloc_table_from_section): Remove unused
2063
 
        local variable `s'.
2064
 
        * tekhex.c (tekhex_write_object_contents): Remove unused local
2065
 
        variable `bytes_written'.
2066
 
        * aout-ns32k.c (MY_swap_std_reloc_out): Remove unused local
2067
 
        variable `r_addend'.
2068
 
        * elf32-dlx.c (dlx_rtype_to_howto): Remove breaks after returns.
2069
 
        * elfxx-mips.c (_bfd_elf_mips_mach): Remove breaks after returns.
2070
 
        (_bfd_ns32k_relocate_contents): Remove break after return.
2071
 
        * elf.c (bfd_section_from_shdr): Remove breaks after returns.
2072
 
 
2073
 
2006-05-02  Nick Clifton  <nickc@redhat.com>
2074
 
 
2075
 
        * elf32-sh-symbian.c: Rename local define DEBUG to SYMBIAN_DEBUG
2076
 
        in order to avoid conflicts with the global DEBUG define.
2077
 
 
2078
 
2006-05-02  Alan Modra  <amodra@bigpond.net.au>
2079
 
 
2080
 
        * dwarf2.c: Formatting.
2081
 
        * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Simplify
2082
 
        output section check.
2083
 
        * elf32-i370.c: Warning fixes inside #ifdef DEBUG.
2084
 
        * elf32-m32c.c: Similarly.
2085
 
        * elf32-ppc.c: Similarly.
2086
 
        * elf32-v850.c: Similarly.
2087
 
        * nlm32-sparc.c: Similarly.
2088
 
        * elfcode.h: Similarly.
2089
 
        (elf_symbol_flags): Delete.
2090
 
        * elflink.c (elf_link_input_bfd): Comment typo.
2091
 
 
2092
 
2006-05-01  DJ Delorie  <dj@redhat.com>
2093
 
 
2094
 
        * bfd-in.h (bfd_hash_table): Add count field.
2095
 
        * bfd-in2.h: Regenerate.
2096
 
        * hash.c (higher_prime_number): New.
2097
 
        (bfd_hash_table_inint_n): Init count field.
2098
 
        (bfd_hash_lookup): Grow table as needed.
2099
 
 
2100
 
2006-04-27  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2101
 
 
2102
 
        PR binutils/2584
2103
 
        * tekhex.c (getvalue): Change return type to bfd_boolean and
2104
 
        add the new parameter.  Return false if the unexpected character
2105
 
        is found.
2106
 
        (getsym): Likewise.
2107
 
        (first_phase): Change return type to bfd_boolean and return
2108
 
        false if the unexpected character is found.  Replace abort
2109
 
        with returning false.
2110
 
        (pass_over): Change return type to bfd_boolean and the type of
2111
 
        the second argument to bfd_boolean (*) (bfd *, int, char *).
2112
 
        Return false if FUNC returns false.
2113
 
        (tekhex_object_p): Return NULL if pass_over fails.
2114
 
 
2115
 
2006-04-27  Alan Modra  <amodra@bigpond.net.au>
2116
 
 
2117
 
        * coff-rs6000.c (xcoff_write_archive_contents_old): Warning fix.
2118
 
 
2119
 
2006-04-26  H.J. Lu  <hongjiu.lu@intel.com>
2120
 
 
2121
 
        PR binutils/2593
2122
 
        * elf.c (_bfd_elf_new_section_hook): Don't set section ELF type
2123
 
        and flags if its BFD flags have been set.
2124
 
        (_bfd_elf_init_private_section_data): Don't copy the output ELF
2125
 
        section type from input if it has been set to something
2126
 
        different.
2127
 
 
2128
 
2006-04-25  H.J. Lu  <hongjiu.lu@intel.com>
2129
 
 
2130
 
        PR binutils/2467
2131
 
        * elf.c (_bfd_elf_close_and_cleanup): Check elf_tdata (abfd)
2132
 
        is NULL first.
2133
 
 
2134
 
        * elf32-arm.c (elf32_arm_close_and_cleanup): Check if
2135
 
        abfd->sections is NULL.
2136
 
        (elf32_arm_bfd_free_cached_info): New.
2137
 
        (bfd_elf32_bfd_free_cached_info): Defined.
2138
 
 
2139
 
        * elfxx-target.h (bfd_elfNN_bfd_free_cached_info): Default it
2140
 
        to _bfd_free_cached_info.
2141
 
 
2142
 
        * libbfd-in.h (_bfd_free_cached_info): New.
2143
 
        * libbfd: Regenerated.
2144
 
 
2145
 
        * opncls.c (_bfd_delete_bfd): Check if abfd->memory is NULL.
2146
 
        (_bfd_free_cached_info): New.
2147
 
 
2148
 
2006-04-21  Alan Modra  <amodra@bigpond.net.au>
2149
 
 
2150
 
        * elf.c (assign_file_positions_except_relocs): Move code setting
2151
 
        file position of non-loaded sections..
2152
 
        (assign_file_positions_for_segments): ..to here.
2153
 
 
2154
 
2006-04-20  H.J. Lu  <hongjiu.lu@intel.com>
2155
 
 
2156
 
        PR ld/2537
2157
 
        * elf.c (bfd_section_from_shdr): Allow sections reserved for
2158
 
        applications. Issue an error on sections we don't know how
2159
 
        to handle.
2160
 
 
2161
 
2006-04-19  Alan Modra  <amodra@bigpond.net.au>
2162
 
 
2163
 
        * Makefile.am: Run "make dep-am".
2164
 
        * Makefile.in: Regenerate.
2165
 
 
2166
 
2006-04-19  Alan Modra  <amodra@bigpond.net.au>
2167
 
 
2168
 
        * warning.m4 (--enable-werror): Format help message.
2169
 
        (--enable-build-warnings): Likewise.
2170
 
        * configure: Regenerate.
2171
 
 
2172
 
2006-04-18  Nick Clifton  <nickc@redhat.com>
2173
 
 
2174
 
        PR 2257
2175
 
        * elfcode.h (elf_object_p): Allow files with corrupt e_shstrndx
2176
 
        fields to still be handled as ELF files.
2177
 
 
2178
 
2006-04-16  Daniel Jacobowitz  <dan@codesourcery.com>
2179
 
 
2180
 
        * po/SRC-POTFILES.in: Regenerated.
2181
 
 
2182
 
2006-04-16  Daniel Jacobowitz  <dan@codesourcery.com>
2183
 
 
2184
 
        * configure.in: Update version to 2.17.50.
2185
 
        * configure: Regenerated.
2186
 
 
2187
 
2006-04-14  David Heine  <dlheine@tensilica.com>
2188
 
 
2189
 
        * elf32-xtensa.c (build_reloc_opcodes): New.
2190
 
        (compute_text_actions): Use it to decode opcodes outside inner loop.
2191
 
        (check_section_ebb_pcrels_fit): Add "reloc_opcodes" argument, and if
2192
 
        it is set, use it to get the opcodes for relocations.
2193
 
        (move_shared_literal): Adjust call to check_section_ebb_pcrels_fit.
2194
 
 
2195
 
2006-04-08  H.J. Lu  <hongjiu.lu@intel.com>
2196
 
 
2197
 
        PR ld/2513
2198
 
        * elf32-i386.c (GOT_TLS_MASK): New macro for tls_type.
2199
 
        (GOT_TLS_IE_IE): Likewise.
2200
 
        (GOT_TLS_IE_GD): Likewise.
2201
 
        (GOT_TLS_IE_MASK): Likewise.
2202
 
        (elf_i386_check_relocs): For global symbols, set GOT_TLS_IE_GD
2203
 
        and GOT_TLS_IE_IE for R_386_TLS_GD and R_386_TLS_IE
2204
 
        respectively.
2205
 
        (allocate_dynrelocs): If both GOT_TLS_IE_IE and GOT_TLS_IE_GD
2206
 
        are set, treat tls_type as GOT_TLS_IE_BOTH.
2207
 
        (elf_i386_relocate_section): Likewise.
2208
 
 
2209
 
2006-04-07  Randolph Chung  <tausq@debian.org>
2210
 
 
2211
 
        * elf64-hppa.c (elf64_hppa_grok_prstatus): New function.
2212
 
        (elf64_hppa_grok_psinfo): Likewise.
2213
 
        (elf_backend_grok_pstatus, elf_backend_grok_psinfo): Define.
2214
 
 
2215
 
2006-04-06  DJ Delorie  <dj@redhat.com>
2216
 
 
2217
 
        * elf32-m32c.c (m32c_elf_relocate_section): Generate a symbol for
2218
 
        each plt entry we create.
2219
 
 
2220
 
2006-04-06  Carlos O'Donell  <carlos@codesourcery.com>
2221
 
 
2222
 
        * po/Make-in: Add install-html target.
2223
 
        * Makefile.am: Rename docdir to bfddocdir. Add datarootdir, docdir
2224
 
        htmldir. Add install-html and install-html-recursive targets.
2225
 
        * Makefile.in: Regenerate.
2226
 
        * configure.in: AC_SUBST for datarootdir, docdir and htmldir.
2227
 
        * configure: Regenerate.
2228
 
 
2229
 
2006-04-06  H.J. Lu  <hongjiu.lu@intel.com>
2230
 
 
2231
 
        * elfxx-ia64.c (elfNN_ia64_relax_section): Skip unneeded passes
2232
 
        with the skip_relax_pass_0 and skip_relax_pass_1 bits in the
2233
 
        section structure.
2234
 
 
2235
 
2006-04-05  Bernd Schmidt  <bernd.schmidt@analog.com>
2236
 
 
2237
 
        * elf32-bfin.c (bfinfdpic_relocs_info_hash): Sprinkle casts to
2238
 
        eliminate warnings.
2239
 
 
2240
 
2006-04-05  H.J. Lu  <hongjiu.lu@intel.com>
2241
 
            James E Wilson  <wilson@specifixinc.com>
2242
 
 
2243
 
        PR ld/2442
2244
 
        * elfxx-ia64.c (elfNN_ia64_dyn_sym_info): Remove next.
2245
 
        (elfNN_ia64_local_hash_entry): Add count, sorted_count and
2246
 
        size.
2247
 
        (elfNN_ia64_link_hash_entry): Likewise.
2248
 
        (elfNN_ia64_new_elf_hash_entry): Initialize count, sorted_count
2249
 
        and size.
2250
 
        (elfNN_ia64_hash_copy_indirect): Updated elfNN_ia64_dyn_sym_info
2251
 
        processing.
2252
 
        (elfNN_ia64_hash_hide_symbol): Likewise.
2253
 
        (elfNN_ia64_global_dyn_sym_thunk): Likewise.
2254
 
        (elfNN_ia64_local_dyn_sym_thunk): Likewise.
2255
 
        (elfNN_ia64_global_dyn_info_free): New function.
2256
 
        (elfNN_ia64_local_dyn_info_free): Likewise.
2257
 
        (elfNN_ia64_hash_table_free): Free local and global
2258
 
        elfNN_ia64_dyn_sym_info.
2259
 
        (addend_compare): New function.
2260
 
        (sort_dyn_sym_info): Likewise.
2261
 
        (get_dyn_sym_info): Updated to use binary search for addend.
2262
 
        (elfNN_ia64_check_relocs): Scan relocations to create dynamic
2263
 
        relocation arrays first.
2264
 
 
2265
 
2006-04-05  Bernd Schmidt  <bernd.schmidt@analog.com>
2266
 
 
2267
 
        * elf32-bfin.c (_bfin_create_got_section): Don't generate a _gp
2268
 
        symbol.
2269
 
 
2270
 
2006-04-05  H.J. Lu  <hongjiu.lu@intel.com>
2271
 
 
2272
 
        PR ld/2411
2273
 
        * elflink.c (check_dynsym): New.
2274
 
        (elf_link_output_extsym): Use it.
2275
 
        (bfd_elf_final_link): Likewise.
2276
 
 
2277
 
2006-04-05  H.J. Lu  <hongjiu.lu@intel.com>
2278
 
 
2279
 
        PR ld/2404
2280
 
        * elflink.c (_bfd_elf_merge_symbol): Skip the default indirect
2281
 
        symbol from the dynamic definition with the default version if
2282
 
        its type and the type of existing regular definition mismatch.
2283
 
 
2284
 
2006-04-05  Richard Sandiford  <richard@codesourcery.com>
2285
 
            Daniel Jacobowitz  <dan@codesourcery.com>
2286
 
 
2287
 
        * config.bfd (sparc-*-vxworks*): New stanza.
2288
 
        * configure.in (bfd_elf32_sparc_vxworks_vec): New stanza.
2289
 
        (bfd_elf32_sparc_vec, bfd_elf64_sparc_vec): Add elf-vxworks.lo.
2290
 
        * configure: Regenerate.
2291
 
        * elf32-sparc.c: Include elf-vxworks.h.
2292
 
        (elf32_sparc_vxworks_link_hash_table_create: New.
2293
 
        (elf32_sparc_vxworks_final_write_processing): New.
2294
 
        (TARGET_BIG_SYM): Override for VxWorks.
2295
 
        (TARGET_BIG_NAME, ELF_MINPAGESIZE): Likewise.
2296
 
        (bfd_elf32_bfd_link_hash_table_create): Likewise.
2297
 
        (elf_backend_want_got_plt, elf_backend_plt_readonly): Likewise.
2298
 
        (elf_backend_got_header_size, elf_backend_add_symbol_hook): Likewise.
2299
 
        (elf_backend_link_output_symbol_hook): Likewise.
2300
 
        (elf_backend_emit_relocs): Likewise.
2301
 
        (elf_backend_final_write_processing, elf32_bed): Likewise.
2302
 
        * elfxx-sparc.c: Include libiberty.h and elf-vxworks.h.
2303
 
        (sparc_vxworks_exec_plt0_entry, sparc_vxworks_exec_plt_entry): New.
2304
 
        (sparc_vxworks_shared_plt0_entry, sparc_vxworks_shared_plt_entry): New.
2305
 
        (_bfd_sparc_elf_link_hash_table_create): Don't initialize
2306
 
        build_plt_entry here.
2307
 
        (create_got_section): Initialize sgotplt for VxWorks.
2308
 
        (_bfd_sparc_elf_create_dynamic_sections): Initialize build_plt_entry,
2309
 
        plt_header_size and plt_entry_size, with new VxWorks-specific settings.
2310
 
        Call elf_vxworks_create_dynamic_sections for VxWorks.
2311
 
        (allocate_dynrelocs): Use plt_header_size and plt_entry_size.
2312
 
        Allocate room for .got.plt and .rela.plt.unloaded entries on VxWorks.
2313
 
        (_bfd_sparc_elf_size_dynamic_sections): Don't allocate a nop in .plt
2314
 
        for VxWorks.  Check for the .got.plt section.
2315
 
        (sparc_vxworks_build_plt_entry): New function.
2316
 
        (_bfd_sparc_elf_finish_dynamic_symbol): Add handling of VxWorks PLTs.
2317
 
        Don't make _GLOBAL_OFFSET_TABLE_ and _PROCEDURE_LINKAGE_TABLE_
2318
 
        absolute on VxWorks.
2319
 
        (sparc32_finish_dyn): Add special handling for DT_RELASZ
2320
 
        and DT_PLTGOT on VxWorks.
2321
 
        (sparc_vxworks_finish_exec_plt): New.
2322
 
        (sparc_vxworks_finish_shared_plt): New.
2323
 
        (_bfd_sparc_elf_finish_dynamic_sections): Call them.
2324
 
        Use plt_header_size and plt_entry_size.
2325
 
        * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add is_vxworks,
2326
 
        srelplt2, sgotplt, plt_header_size and plt_entry_size fields.
2327
 
        * Makefile.am (elfxx-sparc.lo): Depend on elf-vxworks.h.
2328
 
        (elf32-sparc.lo): Likewise.
2329
 
        * Makefile.in: Regenerate.
2330
 
        * targets.c (bfd_elf32_sparc_vxworks_vec): Declare.
2331
 
        (_bfd_target_vector): Add a pointer to it.
2332
 
 
2333
 
2006-03-30  Ben Elliston  <bje@au.ibm.com>
2334
 
 
2335
 
        PR ld/2267
2336
 
        * elflink.c (elf_fixup_link_order): Ensure `elfsec' is not a
2337
 
        special section number that exceeds the number of ELF sections
2338
 
        (eg. SHN_MIPS_SCOMMON).
2339
 
 
2340
 
2006-03-27  Richard Sandiford  <richard@codesourcery.com>
2341
 
 
2342
 
        * elfxx-mips.c (mips_got_entry): Add more commentary.
2343
 
        (mips_elf_local_got_index): Use the hash table entry to record
2344
 
        the GOT index of forced-local symbols.
2345
 
        (mips_elf_initialize_tls_index): Rearrange code.  Store the index
2346
 
        in either the hash table entry or the mips_got_entry, not both.
2347
 
        Add more commentary.
2348
 
        (mips_elf_multi_got): Make sure the g->next is nonnull when calling
2349
 
        mips_elf_initialize_tls_index.
2350
 
 
2351
 
2006-03-25  Bernd Schmidt  <bernd.schmidt@analog.com>
2352
 
 
2353
 
        * elf32-bfin.c (bfd_const_reloc, bfd_oper_reloc, bfin_push_reloc,
2354
 
        RELOC_STACK_SIZE, reloc_stack, reloc_stack_tos, is_reloc_stack_empty,
2355
 
        reloc_stack_push, reloc_stack_pop, reloc_stack_operate,
2356
 
        bfin_areloc_howto_table): Delete.  All
2357
 
        uses deleted as well.
2358
 
        (bfin_reloc_map): Delete all stack relocs.
2359
 
        (bfin_info_to_howto, bfin_bfd_reloc_type_lookup,
2360
 
        bfin_reloc_type_lookup): Don't support them.
2361
 
        (bfin_relocate_section): Don't try to handle them.
2362
 
 
2363
 
        * config.bfd (bfin-*-*): Add bfd_elf32_bfinfdpic_vec.
2364
 
        * configure.in: Likewise.
2365
 
        * configure: Regenerate.
2366
 
        * elf32-bfin.c: Include "elf/dwarf2.h" and "hashtab.h".
2367
 
        (BFIN_RELOC_MAX): Now 0x21.
2368
 
        (bfin_howto_table, bfin_reloc_map): Add FD-PIC relocs.
2369
 
        (bfd_elf32_bfinfdpic_vec): Declare.
2370
 
        (IS_FDPIC): New macro.
2371
 
        (struct bfinfdpic_elf_link_hash_table): New struct.
2372
 
        (bfinfdpic_hash_table, bfinfdpic_got_section,
2373
 
        bfinfdpic_gotrel_section, bfinfdpic_gotfixup_section,
2374
 
        bfinfdpic_plt_setion, bfinfdpic_pltrel_section,
2375
 
        bfinfdpic_relocs_info, bfinfdpic_got_initial_offset,
2376
 
        bfinfdpic_plt_initial_offset): Accessor macros for it.
2377
 
        (BFINFDPIC_SYM_LOCAL, BFINFDPIC_FUNCDESC_LOCAL): New macros.
2378
 
        (struct bfinfdpic_relocs_info): New struct.
2379
 
        (LZPLT_RESOLVER_EXTRA, LZPLT_NORMAL_SIZE, LZPLT_ENTRIES,
2380
 
        BFINFDPIC_LZPLT_BLOCK_SIZE, BFINFDPIC_LZPLT_RESOLV_LOC,
2381
 
        DEFAULT_STACK_SIZE): New macros.
2382
 
        (bfinfdpic_elf_link_hash_table_create, bfinfdpic_relocs_info_hash,
2383
 
        bfinfdpic_relocs_info_eq, bfinfdpics_relocs_info_find,
2384
 
        bfinfdpic_relocs_info_for_global, bfinfdpic_relocs_info_for_local,
2385
 
        bfinfdpic_pic_merge_early_relocs_info, _bfinfdpic_add_dyn_reloc,
2386
 
        _bfinfdpic_add_rofixup, _bfinfdpic_osec_to_segment,
2387
 
        _bfinfdpic_osec_readonly_p, bfinfdpic_relocate_section,
2388
 
        bfinfdpic_check_relocs, bfinfdpic_gc_sweep_hook,
2389
 
        _bfinfdpic_link_omit_section_dynsym, _bfin_create_got_section,
2390
 
        elf32_bfinfdpic_create_dynamic_sections, _bfinfdpic_get_fd_entry,
2391
 
        _bfinfdpic_compute_got_alloc_data, _bfinfdpic_get_got_entry,
2392
 
        _bfinfdpic_assign_got_entries, _bfinfdpic_assign_plt_entries,
2393
 
        _bfinfdpic_resolve_final_relocs_info,
2394
 
        elf32_bfinfdpic_size_dynamic_sections,
2395
 
        elf32_bfinfdpic_always_size_sections,
2396
 
        elf32_bfinfdpic_modify_segment_map,
2397
 
        _bfinfdpic_count_got_plt_entries,
2398
 
        elf32_bfinfdpic_finish_dynamic_sections,
2399
 
        elf32_bfinfdpic_adjust_dynamic_symbol,
2400
 
        elf32_bfinfdpic_finish_dynamic_symbol,
2401
 
        elf32_bfinfdpic_elf_use_relative_eh_frame,
2402
 
        elf32_bfinfdpic_elf_encode_eh_address,
2403
 
        elf32_bfin_object_p, bfin_elf_copy_private_bfd_data,
2404
 
        elf32_bfinfdpic_copy_private_bfd_data,
2405
 
        (struct _bfinfdpic_dynamic_got_info,
2406
 
        struct _bfinfdpic_dynamic_got_plt_info): New structs.
2407
 
        (elf32_bfin_print_private_bfd_data): Print PIC flags.
2408
 
        (elf32_bfin_merge_private_bfd_data): Extend to support FD-PIC.
2409
 
        (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, elf32_bed,
2410
 
        elf_backend_got_header_size, bfd_elf32_bfd_link_hash_table_create,
2411
 
        elf_backend_always_size_sectinos, elf_backend_modify_segment_map,
2412
 
        bfd_elf32_bfd_copy_private_bfd_data,
2413
 
        elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol,
2414
 
        elf_backend_size_dynamic_sections, elf_backend_finish_dynamic_symbol,
2415
 
        elf_backend_finish_dynamic_sections, elf_backend_relocate_section,
2416
 
        elf_backend_can_make_relative_eh_frame, elf_backend_check_relocs,
2417
 
        elf_backend_can_make_ldsa_relative_eh_frame, elf_backend_may_use_rel_p,
2418
 
        elf_backend_may_use_rela_p, elf_backend_default_use_rela_p,
2419
 
        elf_backend_omit_section_dynsym): Redefine these macros and include
2420
 
        "elf32-target.h" again to create the elf32-bfinfdpic target.
2421
 
        * reloc.c (BFD_RELOC_BFIN_GOT17M4, BFD_RELOC_BFIN_GOTHI,
2422
 
        BFD_RELOC_BFIN_GOTLO, BFD_RELOC_BFIN_FUNCDESC,
2423
 
        BFD_RELOC_BFIN_FUNCDESC_GOT17M4, BFD_RELOC_BFIN_FUNCDESC_GOTHI,
2424
 
        BFD_RELOC_BFIN_FUNCDESC_GOTLO, BFD_RELOC_BFIN_FUNCDESC_VALUE,
2425
 
        BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4, BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI,
2426
 
        BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO, BFD_RELOC_BFIN_GOTOFFHI,
2427
 
        BFD_RELOC_BFIN_GOTOFFLO): New.
2428
 
        * targets.c (bfd_elf32_bfinfdpic_vec): New bfd_target.
2429
 
        (_bfd_target_vector): Add it.
2430
 
        * bfd-in2.h: Regenerate.
2431
 
        * libbfd.h: Regenerate.
2432
 
 
2433
 
2006-03-25  Richard Sandiford  <richard@codesourcery.com>
2434
 
 
2435
 
        * cpu-m68k.c (bfd_m68k_compatible): Treat ISA A+ and ISA B code as
2436
 
        incompatible.  Likewise MAC and EMAC code.
2437
 
        * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Use
2438
 
        bfd_get_compatible to set the new bfd architecture.  Rely on it
2439
 
        to detect incompatibilities.
2440
 
 
2441
 
2006-03-23  Michael Matz  <matz@suse.de>
2442
 
 
2443
 
        * reloc.c: Add BFD_RELOC_X86_64_GOT64, BFD_RELOC_X86_64_GOTPCREL64,
2444
 
        BFD_RELOC_X86_64_GOTPC64, BFD_RELOC_X86_64_GOTPLT64,
2445
 
        BFD_RELOC_X86_64_PLTOFF64.
2446
 
        * bfd-in2.h: Regenerated.
2447
 
        * libbfd.h: Regenerated.
2448
 
        * elf64-x86-64.c (x86_64_elf_howto_table): Correct comment.
2449
 
        Add howtos for above relocs.
2450
 
        (x86_64_reloc_map): Add mappings for new relocs.
2451
 
        (elf64_x86_64_check_relocs): R_X86_64_GOT64, R_X86_64_GOTPCREL64,
2452
 
        R_X86_64_GOTPLT64 need a got entry.  R_X86_64_GOTPLT64 also a PLT
2453
 
        entry.  R_X86_64_GOTPC64 needs a .got section.  R_X86_64_PLTOFF64
2454
 
        needs a PLT entry.
2455
 
        (elf64_x86_64_gc_sweep_hook): Reflect changes from
2456
 
        elf64_x86_64_check_relocs for the new relocs.
2457
 
        (elf64_x86_64_relocate_section): Handle new relocs.
2458
 
 
2459
 
2006-03-22  Bob Wilson  <bob.wilson@acm.org>
2460
 
 
2461
 
        * elf32-xtensa.c (xtensa_read_table_entries): Remove assertion that
2462
 
        rel->r_addend is zero.
2463
 
 
2464
 
2006-03-22  Richard Sandiford  <richard@codesourcery.com>
2465
 
 
2466
 
        * elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Fix type
2467
 
        of "loc".
2468
 
 
2469
 
2006-03-22  Richard Sandiford  <richard@codesourcery.com>
2470
 
            Daniel Jacobowitz  <dan@codesourcery.com>
2471
 
            Phil Edwards  <phil@codesourcery.com>
2472
 
            Zack Weinberg  <zack@codesourcery.com>
2473
 
            Mark Mitchell  <mark@codesourcery.com>
2474
 
            Nathan Sidwell  <nathan@codesourcery.com>
2475
 
 
2476
 
        * bfd-in2.h: Regenerate.
2477
 
        * config.bfd (mips*-*-vxworks*, mips*el-*-vxworks*): New stanzas.
2478
 
        * configure.in (bfd_elf32_bigmips_vxworks_vec): New stanza.
2479
 
        (bfd_elf32_littlemips_vxworks_vec): Likewise.
2480
 
        (bfd_elf32_bigmips_vec): Add elf-vxworks.lo.
2481
 
        (bfd_elf32_littlemips_vec): Likewise.
2482
 
        (bfd_elf32_nbigmips_vec): Likewise.
2483
 
        (bfd_elf32_nlittlemips_vec): Likewise.
2484
 
        (bfd_elf32_ntradbigmips_vec): Likewise.
2485
 
        (bfd_elf32_ntradlittlemips_vec): Likewise.
2486
 
        (bfd_elf32_tradbigmips_vec): Likewise.
2487
 
        (bfd_elf32_tradlittlemips_vec): Likewise.
2488
 
        (bfd_elf64_bigmips_vec): Likewise.
2489
 
        (bfd_elf64_littlemips_vec): Likewise.
2490
 
        (bfd_elf64_tradbigmips_vec): Likewise.
2491
 
        (bfd_elf64_tradlittlemips_vec): Likewise.
2492
 
        * elf32-mips.c: Include elf-vxworks.h.
2493
 
        (mips_info_to_howto_rel): Use elf_backend_mips_rtype_to_howto
2494
 
        instead of calling mips_elf32_rtype_to_howto directly.
2495
 
        (mips_vxworks_copy_howto_rela): New reloc howto.
2496
 
        (mips_vxworks_jump_slot_howto_rela): Likewise.
2497
 
        (mips_vxworks_bfd_reloc_type_lookup): New function.
2498
 
        (mips_vxworks_rtype_to_howto): Likewise.
2499
 
        (mips_vxworks_final_write_processing): Likewise.
2500
 
        (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Override for VxWorks.
2501
 
        (TARGET_BIG_SYM, TARGET_BIG_NAME, elf_bed, ELF_MAXPAGESIZE): Likewise.
2502
 
        (elf_backend_want_got_plt): Likewise.
2503
 
        (elf_backend_want_plt_sym): Likewise.
2504
 
        (elf_backend_got_symbol_offset): Likewise.
2505
 
        (elf_backend_want_dynbss): Likewise.
2506
 
        (elf_backend_may_use_rel_p): Likewise.
2507
 
        (elf_backend_may_use_rela_p): Likewise.
2508
 
        (elf_backend_default_use_rela_p): Likewise.
2509
 
        (elf_backend_got_header_size: Likewise.
2510
 
        (elf_backend_plt_readonly): Likewise.
2511
 
        (bfd_elf32_bfd_reloc_type_lookup): Likewise.
2512
 
        (elf_backend_mips_rtype_to_howto): Likewise.
2513
 
        (elf_backend_adjust_dynamic_symbol): Likewise.
2514
 
        (elf_backend_finish_dynamic_symbol): Likewise.
2515
 
        (bfd_elf32_bfd_link_hash_table_create): Likewise.
2516
 
        (elf_backend_add_symbol_hook): Likewise.
2517
 
        (elf_backend_link_output_symbol_hook): Likewise.
2518
 
        (elf_backend_emit_relocs): Likewise.
2519
 
        (elf_backend_final_write_processing: Likewise.
2520
 
        (elf_backend_additional_program_headers): Likewise.
2521
 
        (elf_backend_modify_segment_map): Likewise.
2522
 
        (elf_backend_symbol_processing): Likewise.
2523
 
        * elfxx-mips.c: Include elf-vxworks.h.
2524
 
        (mips_elf_link_hash_entry): Add is_relocation_target and
2525
 
        is_branch_target fields.
2526
 
        (mips_elf_link_hash_table): Add is_vxworks, srelbss, sdynbss, srelplt,
2527
 
        srelplt2, sgotplt, splt, plt_header_size and plt_entry_size fields.
2528
 
        (MIPS_ELF_RELA_SIZE, MIPS_ELF_REL_DYN_NAME): New macros.
2529
 
        (MIPS_RESERVED_GOTNO): Take a mips_elf_link_hash_table argument.
2530
 
        Return 3 for VxWorks.
2531
 
        (ELF_MIPS_GP_OFFSET): Change the argument from a bfd to a
2532
 
        mips_elf_link_hash_table.  Return 0 for VxWorks.
2533
 
        (MIPS_ELF_GOT_MAX_SIZE): Change the argument from a bfd to a
2534
 
        mips_elf_link_hash_table.  Update the call to ELF_MIPS_GP_OFFSET.
2535
 
        (mips_vxworks_exec_plt0_entry): New variable.
2536
 
        (mips_vxworks_exec_plt_entry): Likewise.
2537
 
        (mips_vxworks_shared_plt0_entry): Likewise.
2538
 
        (mips_vxworks_shared_plt_entry): Likewise.
2539
 
        (mips_elf_link_hash_newfunc): Initialize the new hash_entry fields.
2540
 
        (mips_elf_rel_dyn_section): Change the bfd argument to a
2541
 
        mips_elf_link_hash_table.  Use MIPS_ELF_REL_DYN_NAME to get
2542
 
        the name of the section.
2543
 
        (mips_elf_initialize_tls_slots): Update the call to
2544
 
        mips_elf_rel_dyn_section.
2545
 
        (mips_elf_gotplt_index): New function.
2546
 
        (mips_elf_local_got_index): Add an input_section argument.
2547
 
        Update the call to mips_elf_create_local_got_entry.
2548
 
        (mips_elf_got_page): Likewise.
2549
 
        (mips_elf_got16_entry): Likewise.
2550
 
        (mips_elf_create_local_got_entry): Add bfd_link_info and input_section
2551
 
        arguments.  Create dynamic relocations for each entry on VxWorks.
2552
 
        (mips_elf_merge_gots): Update the use of MIPS_ELF_GOT_MAX_SIZE.
2553
 
        (mips_elf_multi_got): Update the uses of MIPS_ELF_GOT_MAX_SIZE
2554
 
        and MIPS_RESERVED_GOTNO.
2555
 
        (mips_elf_create_got_section): Update the uses of
2556
 
        MIPS_ELF_GOT_MAX_SIZE.  Create .got.plt on VxWorks.
2557
 
        (is_gott_symbol): New function.
2558
 
        (mips_elf_calculate_relocation): Use a dynobj local variable.
2559
 
        Update the calls to mips_elf_local_got_index, mips_elf_got16_entry and
2560
 
        mips_elf_got_page_entry.  Set G to the .got.plt entry when calculating
2561
 
        VxWorks R_MIPS_CALL* relocations.  Calculate and use G for all GOT
2562
 
        relocations on VxWorks.  Add dynamic relocations for references
2563
 
        to the VxWorks __GOTT_BASE__ and __GOTT_INDEX__ symbols.  Don't
2564
 
        create dynamic relocations for R_MIPS_32, R_MIPS_REL32 or R_MIPS_64
2565
 
        in VxWorks executables.
2566
 
        (mips_elf_allocate_dynamic_relocations): Add a bfd_link_info argument.
2567
 
        Use MIPS_ELF_RELA_SIZE to calculate the size of a VxWorks entry.
2568
 
        Don't allocate a null entry on VxWorks.
2569
 
        (mips_elf_create_dynamic_relocation): Update the call to
2570
 
        mips_elf_rel_dyn_section.  Use absolute rather than relative
2571
 
        relocations for VxWorks, and make them RELA rather than REL.
2572
 
        (_bfd_mips_elf_create_dynamic_sections): Don't make .dynamic
2573
 
        read-only on VxWorks.  Update the call to mips_elf_rel_dyn_section.
2574
 
        Create the .plt, .rela.plt, .dynbss and .rela.bss sections on
2575
 
        VxWorks.  Likewise create the _PROCEDURE_LINKAGE_TABLE symbol.
2576
 
        Call elf_vxworks_create_dynamic_sections for VxWorks and
2577
 
        initialize the plt_header_size and plt_entry_size fields.
2578
 
        (_bfd_mips_elf_check_relocs): Don't allow GOT relocations to be
2579
 
        used in VxWorks executables.  Don't allocate dynamic relocations
2580
 
        for R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 in VxWorks executables.
2581
 
        Set is_relocation_target for each symbol referenced by a relocation.
2582
 
        Allocate .rela.dyn entries for relocations against the special
2583
 
        VxWorks __GOTT_BASE__ and __GOTT_INDEX__ symbols.  Create GOT
2584
 
        entries for all VxWorks R_MIPS_GOT16 relocations.  Don't allocate
2585
 
        a global GOT entry for symbols mentioned in VxWorks R_MIPS_CALL*,
2586
 
        R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 relocations.  Update the calls
2587
 
        to mips_elf_rel_dyn_section and mips_elf_allocate_dynamic_relocations.
2588
 
        Set is_branch_target for symbols mentioned in R_MIPS_PC16 or R_MIPS_26
2589
 
        relocations.  Don't set no_fn_stub on VxWorks.
2590
 
        (_bfd_mips_elf_adjust_dynamic_symbol): Update the call to
2591
 
        mips_elf_allocate_dynamic_relocations.
2592
 
        (_bfd_mips_vxworks_adjust_dynamic_symbol): New function.
2593
 
        (_bfd_mips_elf_always_size_sections): Do not allocate GOT page
2594
 
        entries for VxWorks, and do not create multiple GOTs.
2595
 
        (_bfd_mips_elf_size_dynamic_sections): Use MIPS_ELF_REL_DYN_NAME.
2596
 
        Handle .got specially for VxWorks.  Update the uses of
2597
 
        MIPS_RESERVED_GOTNO and mips_elf_allocate_dynamic_relocations.
2598
 
        Check for sgotplt and splt.  Allocate the .rel(a).dyn contents last,
2599
 
        once its final size is known.  Set DF_TEXTREL for VxWorks.  Add
2600
 
        DT_RELA, DT_RELASZ, DT_RELAENT, DT_PLTREL, DT_PLTRELSZ and DT_JMPREL
2601
 
        tags on VxWorks.  Do not add the MIPS-specific tags for VxWorks.
2602
 
        (_bfd_mips_vxworks_finish_dynamic_symbol): New function.
2603
 
        (mips_vxworks_finish_exec_plt): Likewise.
2604
 
        (mips_vxworks_finish_shared_plt): Likewise.
2605
 
        (_bfd_mips_elf_finish_dynamic_sections): Remove an unncessary call
2606
 
        to mips_elf_rel_dyn_section.  Use a VxWorks-specific value of
2607
 
        DT_PLTGOT.  Handle DT_RELA, DT_RELASZ, DT_RELAENT, DT_PLTREL,
2608
 
        DT_PLTRELSZ and DT_JMPREL.  Update the uses of MIPS_RESERVED_GOTNO
2609
 
        and mips_elf_rel_dyn_section.  Use a different GOT header for
2610
 
        VxWorks.  Don't sort .rela.dyn on VxWorks.  Finish the PLT on VxWorks.
2611
 
        (_bfd_mips_elf_link_hash_table_create): Initialize the new
2612
 
        mips_elf_link_hash_table fields.
2613
 
        (_bfd_mips_vxworks_link_hash_table_create): New function.
2614
 
        (_bfd_mips_elf_final_link): Set the GP value to _GLOBAL_OFFSET_TABLE_
2615
 
        on VxWorks.  Update the call to ELF_MIPS_GP_OFFSET.
2616
 
        * elfxx-mips.h (_bfd_mips_vxworks_adjust_dynamic_symbol): Declare.
2617
 
        (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
2618
 
        (_bfd_mips_vxworks_link_hash_table_create): Likewise.
2619
 
        * libbfd.h: Regenerate.
2620
 
        * Makefile.am (elfxx-mips.lo): Depend on elf-vxworks.h.
2621
 
        (elf32-mips.lo): Likewise.
2622
 
        * Makefile.in: Regenerate.
2623
 
        * reloc.c (BFD_RELOC_MIPS_COPY, BFD_RELOC_MIPS_JUMP_SLOT): Declare.
2624
 
        * targets.c (bfd_elf32_bigmips_vxworks_vec): Declare.
2625
 
        (bfd_elf32_littlemips_vxworks_vec): Likewise.
2626
 
        (_bfd_target_vector): Add entries for them.
2627
 
 
2628
 
2006-03-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2629
 
 
2630
 
        * elf64-hppa.c (elf64_hppa_special_sections): Change flags for .tbss
2631
 
        section from SHF_PARISC_WEAKORDER to SHF_HP_TLS.
2632
 
        (elf_backend_special_sections): Remove #undef.
2633
 
 
2634
 
2006-03-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2635
 
 
2636
 
        * elf64-hppa.c (allocate_global_data_opd): Don't create an OPD entry
2637
 
        for undefined weak symbols.
2638
 
 
2639
 
2006-03-17  Daniel Jacobowitz  <dan@codesourcery.com>
2640
 
 
2641
 
        PR ld/2462
2642
 
        * elflink.c (bfd_elf_final_link): Remove
2643
 
        bed->elf_backend_emit_relocs from emit_relocs.
2644
 
 
2645
 
2006-03-17  Alexandre Oliva  <aoliva@redhat.com>
2646
 
 
2647
 
        * elf32-ppc.c (ppc_elf_relocate_section): Copy addend from
2648
 
        first relocation to the second when relaxing TLS GD to LE;
2649
 
        zero it out when relaxing to IE.
2650
 
 
2651
 
2006-03-17  Alan Modra  <amodra@bigpond.net.au>
2652
 
 
2653
 
        PR 2434
2654
 
        * elflink.c (elf_link_add_object_symbols): Save and restore
2655
 
        warning sym's linked sym.
2656
 
 
2657
 
2006-03-16  Alan Modra  <amodra@bigpond.net.au>
2658
 
 
2659
 
        PR 2434
2660
 
        * elflink.c (struct elf_smash_syms_data, elf_smash_syms): Delete.
2661
 
        (elf_link_add_object_symbols): Delete unnecessary locals.  Rename
2662
 
        hash_table -> htab.  Formatting.  Save entire symbol table
2663
 
        before loading as-needed syms, and restore afterwards if lib not
2664
 
        needed.  Use bfd_hash_allocate rather than bfd_alloc for sym
2665
 
        name.  Free some buffers earlier.
2666
 
        * bfd-in.h (struct bfd_hash_table): Add entsize.
2667
 
        (bfd_hash_table_init, bfd_hash_table_init_n): Adjust prototype.
2668
 
        * elf-bfd.h (_bfd_elf_link_hash_table_init): Likewise
2669
 
        * hash.c (bfd_hash_table_init_n): Add entsize param, save to
 
2120
        * elf64-ppc.c (elf_backend_default_execstack): Define to 0.
 
2121
 
 
2122
2007-02-17  Mark Mitchell  <mark@codesourcery.com>
 
2123
            Nathan Sidwell  <nathan@codesourcery.com>
 
2124
            Vladimir Prus  <vladimir@codesourcery.com
 
2125
            Joseph Myers  <joseph@codesourcery.com>
 
2126
 
 
2127
        * configure.in (--with-pkgversion): New option.
 
2128
        * configure: Regenerate.
 
2129
        * Makefile.am (bfdver.h): Substitute for @bfd_version_package@.
 
2130
        * Makefile.in: Regenerate.
 
2131
        * version.h (BFD_VERSION_STRING): Define using
 
2132
        @bfd_version_package@.
 
2133
 
 
2134
2007-02-16  Carlos O'Donell  <carlos@codesourcery.com>
 
2135
 
 
2136
        * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data):
 
2137
        Print EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_XGOT
 
2138
        and EF_MIPS_UCODE.
 
2139
 
 
2140
2007-02-15  Alan Modra  <amodra@bigpond.net.au>
 
2141
 
 
2142
        * libbfd-in.h (_bfd_norelocs_get_reloc_upper_bound): Don't define,
 
2143
        declare.
 
2144
        (_bfd_norelocs_canonicalize_reloc): Likewise.
 
2145
        * libbfd.h: Regenerate.
 
2146
        * libbfd.c (_bfd_norelocs_get_reloc_upper_bound): New function.
 
2147
        (_bfd_norelocs_canonicalize_reloc): Likewise.
 
2148
        * binary.c (binary_bfd_reloc_type_lookup): Don't define.
 
2149
        (binary_get_reloc_upper_bound, binary_canonicalize_reloc): Likewise.
 
2150
        (binary_vec): Use _bfd_norelocs in BFD_JUMP_TABLE_RELOCS.
 
2151
        * ihex.c: Similarly.
 
2152
        * mach-o-target.c: Similarly.
 
2153
        * mach-o.c: Similarly.
 
2154
        * mmo.c: Similarly.
 
2155
        * pef.c: Similarly.
 
2156
        * ppcboot.c: Similarly.
 
2157
        * srec.c: Similarly.
 
2158
        * xsym.c: Similarly.
 
2159
 
 
2160
2007-02-14  H.J. Lu  <hongjiu.lu@intel.com>
 
2161
 
 
2162
        PR ld/3953
 
2163
        * elflink.c (_bfd_elf_add_default_symbol): Check warning symbol
 
2164
        when adding default symbol.
 
2165
 
 
2166
2007-02-13  Alan Modra  <amodra@bigpond.net.au>
 
2167
 
 
2168
        * elf64-ppc.c (create_linkage_sections): Use section ".branch_lt"
 
2169
        for branch lookup table.
 
2170
 
 
2171
2007-02-12  Alan Modra  <amodra@bigpond.net.au>
 
2172
 
 
2173
        * elf64-ppc.c (create_linkage_sections): Don't create
 
2174
        .rela.rodata.brlt for --emit-relocs.
 
2175
        (ppc_build_one_stub): Create relocs for brlt --emit-relocs here.
 
2176
        (ppc_size_one_stub): Count them.  Simplify test of stub type
 
2177
        when counting stub relocs.  Set SEC_RELOC too.
 
2178
        (ppc64_elf_size_stubs): Clear reloc_count and SEC_RELOC.
 
2179
        (ppc64_elf_finish_dynamic_sections): Output brlt relocs.
 
2180
 
 
2181
2007-02-12  Alan Modra  <amodra@bigpond.net.au>
 
2182
 
 
2183
        * elflink.c (evaluate_complex_relocation_symbols): Ignore relocs
 
2184
        with a zero symbol index.
 
2185
 
 
2186
2007-02-12  Alan Modra  <amodra@bigpond.net.au>
 
2187
 
 
2188
        * elflink.c (bfd_elf_discard_info): Tidy setting of "eh".
 
2189
 
 
2190
2007-02-05  Dave Brolley  <brolley@redhat.com>
 
2191
            Stan Cox  <scox@redhat.com>
 
2192
 
 
2193
        PR ld/3972
 
2194
        * elflink.c (elf_link_input_bfd): Always setup finfo->internal_syms.
 
2195
 
 
2196
2007-02-05  Dave Brolley  <brolley@redhat.com>
 
2197
            Richard Sandiford  <rsandifo@redhat.com>
 
2198
            Stan Cox  <scox@redhat.com>
 
2199
            Nick Clifton  <nickc@redhat.com>
 
2200
            DJ Delorie  <dj@redhat.com>
 
2201
            Frank Ch. Eigler  <fche@redhat.com>
 
2202
            Ben Elliston  <bje@redhat.com>
 
2203
            Richard Henderson  <rth@redhat.com>
 
2204
 
 
2205
        * Makefile.am (ALL_MACHINES): Add cpu-mep.lo.
 
2206
        (ALL_MACHINES_CFILES): Add CPU_MEP.c.
 
2207
        (BFD32_BACKENDS): Add elf32-mep.lo.
 
2208
        (BFD32_BACKENDS_CFILES): Add elf32-mep.c.
 
2209
        (cpu-mep.lo,elf32-mep.lo): New targets.
 
2210
        * archures.c (bfd_arch_mep): New enumerator.
 
2211
        (bfd_mach_mep, bfd_mach_mep_h1): New macros.
 
2212
        (bfd_mep_arch): New external variable.
 
2213
        (bfd_archures_list): Add bfd_mep_arch.
 
2214
        * config.bfd: Support mep-*-elf.
 
2215
        * configure.in: Support bfd_elf32_mep_vec and bfd_elf32_mep_little_vec.
 
2216
        * reloc.c (BFD_RELOC_MEP_*): New relocation numbers.
 
2217
        * targets.c (bfd_elf32_mep_vec,bfd_elf32_mep_little_vec): New extern
 
2218
        declarations.
 
2219
        (_bfd_target_vector): Add bfd_elf32_mep_vec and
 
2220
        bfd_elf32_mep_little_vec.
 
2221
        * mep-relocs.pl: New file.
 
2222
        * cpu-mep.c: New file.
 
2223
        * elf32-mep.c: New file.
 
2224
        * bfd-in2.h: Regenerate.
 
2225
        * po/POTFILES.in: Regenerate.
 
2226
        * libbfd.h: Regenerate.
 
2227
        * Makefile.in: Regenerate.
 
2228
        * configure: Regenerate.
 
2229
 
 
2230
2007-02-05  Dave Brolley  <brolley@redhat.com>
 
2231
 
 
2232
        * elflink.c (evaluate_complex_relocation_symbols): Check for
 
2233
        STT_SRELC for global symbols.
 
2234
        (perform_complex_relocations): Renamed to
 
2235
        perform_complex_relocation and now examines only one relocation.
 
2236
        (elf_link_input_bfd): Don't call perform_complex_relocations.
 
2237
        * elf-bfd.h (bfd_elf_perform_complex_relocation_: New prototype.
 
2238
        * elf32-mep.c (mep_elf_howto_table): Add R_RELC.
 
2239
        (OD,OS,OU): #undefs corrected to N, S and U repectively.
 
2240
        (mep_reloc_type_lookup): Handle BFD_RELOC_RELC.
 
2241
        (complex_reloc_installation_howto): Removed.
 
2242
        (mep_info_to_howto_rela): Remove special case for r_type==0xff.
 
2243
        (mep_elf_relocate_section): Call bfd_elf_perform_complex_relocation.
 
2244
 
 
2245
2007-02-05  Dave Brolley  <brolley@redhat.com>
 
2246
            Richard Sandiford  <rsandifo@redhat.com>
 
2247
            DJ Delorie  <dj@redhat.com>
 
2248
            Graydon Hoare  <graydon@redhat.com>
 
2249
            Nick Clifton  <nickc@cambridge.redhat.com>
 
2250
            Jeff Holcomb  <jeffh@redhat.com>
 
2251
            Frank Ch. Eigler  <fche@redhat.com>
 
2252
 
 
2253
        * elf-bfd.h (bfd_elf_perform_complex_relocations): New prototype.
 
2254
        * elf.c (swap_out_syms): Handle BSF_RELC and BSF_SRELC.
 
2255
        * elfcode.h (elf_slurp_symbol_table): Handle STT_RELC and STT_SRELC.
 
2256
        * elflink.c (set_symbolValue): New static function.
 
2257
        (resolve_symbol): Likewise.
 
2258
        (resolve_section): Likewise.
 
2259
        (undefined_reference): Likewise.
 
2260
        (eval_symbol): Likewise.
 
2261
        (evaluate_complex_relocation_symbols): Likewise.
 
2262
        (put_value): Likewise.
 
2263
        (get_value): Likewise.
 
2264
        (decode_complex_addend):
 
2265
        (bfd_elf_perform_complex_relocation): New function.
 
2266
        (elf_link_input_bfd): Call evaluate_complex_relocation_symbols.
 
2267
        * reloc.c (BFD_RELOC_RELC): New relocation number.
 
2268
        * syms.c (BSF_RELC,BSF_SRELC): New macros.
 
2269
 
 
2270
2007-02-05  Bob Wilson  <bob.wilson@acm.org>
 
2271
 
 
2272
        * elf32-xtensa.c (elf_xtensa_make_sym_local): Delete.
 
2273
        (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Delete.
 
2274
        (elf_xtensa_fix_refcounts, elf_xtensa_allocate_plt_size)
 
2275
        (elf_xtensa_allocate_got_size): Replace these with...
 
2276
        (elf_xtensa_allocate_dynrelocs): ...this new function.
 
2277
        (elf_xtensa_size_dynamic_sections): Use it.
 
2278
 
 
2279
2007-02-05  Bob Wilson  <bob.wilson@acm.org>
 
2280
 
 
2281
        * elf32-xtensa.c (elf_howto_table) <R_XTENSA_GLOB_DAT>
 
2282
        <R_XTENSA_JMP_SLOT, R_XTENSA_RELATIVE, R_XTENSA_PLT, R_XTENSA_DIFF32>:
 
2283
        Set src_mask to zero.
 
2284
        <R_XTENSA_DIFF8, R_XTENSA_DIFF16>: Likewise.  Also fix dst_mask.
 
2285
        <R_XTENSA_ASM_EXPAND>: Set pcrel_offset to TRUE.
 
2286
 
 
2287
2007-02-02  Bob Wilson  <bob.wilson@acm.org>
 
2288
 
 
2289
        * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Renamed to...
 
2290
        (elf_xtensa_dynamic_symbol_p): ...this.
 
2291
 
 
2292
2007-02-02  Bob Wilson  <bob.wilson@acm.org>
 
2293
 
 
2294
        * elf32-xtensa.c (plt_reloc_count): Move into link hash table.
 
2295
        (struct elf_xtensa_link_hash_table): New.
 
2296
        (elf_xtensa_hash_table): New.
 
2297
        (elf_xtensa_link_hash_table_create): New.
 
2298
        (elf_xtensa_check_relocs): Update plt_reloc_count references.
 
2299
        Update arguments to add_extra_plt_sections.
 
2300
        (elf_xtensa_create_dynamic_sections): Record new sections in the hash
 
2301
        table.  Update for plt_reloc_count and add_extra_plt_sections.
 
2302
        (add_extra_plt_sections, elf_xtensa_create_plt_entry): Replace dynobj
 
2303
        argument with link info.  Update calls to elf_xtensa_get_plt_section
 
2304
        and elf_xtensa_get_gotplt_section.
 
2305
        (elf_xtensa_allocate_local_got_size, elf_xtensa_size_dynamic_sections)
 
2306
        (elf_xtensa_relocate_section, elf_xtensa_finish_dynamic_sections)
 
2307
        (elf_xtensa_discard_info_for_section, shrink_dynamic_reloc_sections)
 
2308
        (relax_property_section): Get sections from the hash table and update
 
2309
        function calls.
 
2310
        (elf_xtensa_get_plt_section, elf_xtensa_get_gotplt_section): Replace
 
2311
        dynobj argument with link info.  Get sections for first plt chunk from
 
2312
        the hash table.
 
2313
        (bfd_elf32_bfd_link_hash_table_create): Define.
 
2314
 
 
2315
2007-02-02  Jakub Jelinek  <jakub@redhat.com>
 
2316
 
 
2317
        * elf-bfd.h (struct elf_obj_tdata): Change symbuf type to void *.
 
2318
        * elf.c (struct elf_symbuf_symbol, struct elf_symbuf_head): New types.
 
2319
        (struct elf_symbol): Change first member into union.
 
2320
        (elf_sort_elf_symbol): Compare pointers to internal syms rather than
 
2321
        internal syms.  Only compare st_shndx fields.
 
2322
        (elf_create_symbuf): New function.
 
2323
        (bfd_elf_match_symbols_in_sections): Use it.  If symbufs are available
 
2324
        for bfds, use a binary search, otherwise don't qsort symbols
 
2325
        unnecessarily only to select which symbols are for the particular
 
2326
        shndx.
 
2327
 
 
2328
2007-02-01  Nick Clifton  <nickc@redhat.com>
 
2329
 
 
2330
        PR ld/3852
 
2331
        * elf.c (_bfd_elf_link_hash_table_init): Initialize all the fields
 
2332
        in the elf_link_hash_table structure.
 
2333
 
 
2334
2007-02-01  Alan Modra  <amodra@bigpond.net.au>
 
2335
 
 
2336
        * elf-bfd.h (struct elf_backend_data): Add elf_backend_write_core_note.
 
2337
        * elfxx-target.h (elf_backend_write_core_note): Define and use.
 
2338
        * elf.c (elfcore_write_prpsinfo): Call the above.  Add support for
 
2339
        32-bit core note on 64-bit target.
 
2340
        (elfcore_write_prstatus): Likewise.
 
2341
        (elfcore_write_lwpstatus): Make note_name const.
 
2342
        (elfcore_write_prfpreg): Likewise.
 
2343
        (elfcore_write_pstatus): Add support for 32-bit core note on 64-bit
 
2344
        target.
 
2345
        * elf32-ppc.c (ppc_elf_write_core_note): New function.
 
2346
        (elf_backend_write_core_note): Define.
 
2347
        * elf64-ppc.c (ppc64_elf_write_core_note): New function.
 
2348
        (elf_backend_write_core_note): Define.
 
2349
 
 
2350
2007-01-31  H.J. Lu  <hongjiu.lu@intel.com>
 
2351
 
 
2352
        * elf32-cris.c (INCLUDED_TARGET_FILE): Removed.
 
2353
        (elf32_bed): Defined for elf32-us-cris.
 
2354
 
 
2355
        * elf64-sh64.c (elf64_bed): Defined for Linux.
 
2356
        (INCLUDED_TARGET_FILE): Removed.
 
2357
 
 
2358
        * elfxx-target.h (elfNN_bed): Always define. Don't check
 
2359
        INCLUDED_TARGET_FILE.
 
2360
 
 
2361
2007-01-31  DJ Delorie  <dj@redhat.com>
 
2362
 
 
2363
        * elf-m10300.c (mn10300_elf_relocate_section): Clarify the warning
 
2364
        message for dangerous relocs, special case the common user error.
 
2365
 
 
2366
2007-01-30  H.J. Lu  <hongjiu.lu@intel.com>
 
2367
 
 
2368
        * elf.c (copy_elf_program_header): Start from the first section
 
2369
        in a segment and stop when all sections in a segment are
 
2370
        accounted for.
 
2371
 
 
2372
2007-01-29  Julian Brown  <julian@codesourcery.com>
 
2373
 
 
2374
        * bfd-in2.h: Regenerate.
 
2375
        * bfd-in.h (bfd_arm_vfp11_fix): New enum. Specify how VFP11
 
2376
        instruction scanning should be done.
 
2377
        (bfd_elf32_arm_init_maps, bfd_elf32_arm_vfp11_erratum_scan)
 
2378
        (bfd_elf32_arm_vfp11_fix_veneer_locations): Add prototypes.
 
2379
        (bfd_elf32_arm_set_target_relocs): Add vfp11 fix type argument to
 
2380
        prototype.
 
2381
        * elf-bfd.h (elf_backend_write_section): Add struct bfd_link_info
 
2382
        argument.
 
2383
        * elf32-arm.c (VFP11_ERRATUM_VENEER_SECTION_NAME)
 
2384
        (VFP11_ERRATUM_VENEER_ENTRY_NAME): Define macros.
 
2385
        (elf32_vfp11_erratum_type): New enum.
 
2386
        (elf32_vfp11_erratum_list): New struct. List of veneers or jumps to
 
2387
        veneers.
 
2388
        (_arm_elf_section_data): Add mapsize, erratumcount, erratumlist.
 
2389
        (elf32_arm_link_hash_table): Add vfp11_erratum_glue_size,
 
2390
        vfp11_fix and num_vfp11_fixes fields.
 
2391
        (elf32_arm_link_hash_table_create): Initialise vfp11_fix,
 
2392
        vfp11_erratum_glue_size, num_vfp11_fixes fields.
 
2393
        (VFP11_ERRATUM_VENEER_SIZE): Define. Size of an (ARM) veneer.
 
2394
        (bfd_elf32_arm_allocate_interworking_sections): Initialise erratum
 
2395
        glue section.
 
2396
        (elf32_arm_section_map_add): Add an code/data mapping symbol entry
 
2397
        to a section's map.
 
2398
        (record_vfp11_erratum_veneer): Create a single veneer, and its
 
2399
        associated symbols.
 
2400
        (bfd_elf32_arm_add_glue_sections_to_bfd): Add vfp11 erratum glue.
 
2401
        (bfd_elf32_arm_init_maps): Initialise mapping symbol table for input
 
2402
        BFDs.
 
2403
        (bfd_elf32_arm_set_vfp11_fix): Set the type of erratum workaround
 
2404
        required.
 
2405
        (bfd_arm_vfp11_pipe): Define VFP11 instruction pipes.
 
2406
        (bfd_arm_vfp11_regno): Recode a register number from a VFP11 insn.
 
2407
        (bfd_arm_vfp11_write_mask): Update write mask according to coded
 
2408
        register number.
 
2409
        (bfd_arm_vfp11_antidependency): New function.
 
2410
        (bfd_arm_vfp11_insn_decode): Decode a VFP11 insn.
 
2411
        (elf32_arm_compare_mapping): Declare.
 
2412
        (bfd_elf32_arm_vfp11_erratum_scan): Scan the sections of an input
 
2413
        BFD for potential erratum-triggering insns. Record results.
 
2414
        (bfd_elf32_arm_vfp11_fix_veneer_locations): Find out where veneers
 
2415
        and branches to veneers have been placed in virtual memory after
 
2416
        layout.
 
2417
        (bfd_elf32_arm_set_target_relocs): Set vfp11_fix field in global
2670
2418
        hash table.
2671
 
        (bfd_hash_table_init): Add param, adjust calls.
2672
 
        * aoutx.h: Adjust all hash_table_init functions and calls.
2673
 
        * bfd.c: Likewise.
2674
 
        * coff-arm.c: Likewise.
2675
 
        * coff-h8300.c: Likewise.
2676
 
        * coff-ppc.c: Likewise.
2677
 
        * cofflink.c: Likewise.
2678
 
        * ecoff.c: Likewise.
2679
 
        * ecofflink.c: Likewise.
2680
 
        * elf-m10300.c: Likewise.
2681
 
        * elf-strtab.c: Likewise.
2682
 
        * elf.c: Likewise.
2683
 
        * elf32-arm.c: Likewise.
2684
 
        * elf32-bfin.c: Likewise.
2685
 
        * elf32-cris.c: Likewise.
2686
 
        * elf32-frv.c: Likewise.
2687
 
        * elf32-hppa.c: Likewise.
2688
 
        * elf32-i386.c: Likewise.
2689
 
        * elf32-m32r.c: Likewise.
2690
 
        * elf32-m68hc1x.c: Likewise.
2691
 
        * elf32-m68k.c: Likewise.
2692
 
        * elf32-ppc.c: Likewise.
2693
 
        * elf32-s390.c: Likewise.
2694
 
        * elf32-sh.c: Likewise.
2695
 
        * elf32-vax.c: Likewise.
2696
 
        * elf64-alpha.c: Likewise.
2697
 
        * elf64-hppa.c: Likewise.
2698
 
        * elf64-ppc.c: Likewise.
2699
 
        * elf64-s390.c: Likewise.
2700
 
        * elf64-sh64.c: Likewise.
2701
 
        * elf64-x86-64.c: Likewise.
2702
 
        * elfxx-ia64.c: Likewise.
2703
 
        * elfxx-mips.c: Likewise.
2704
 
        * elfxx-sparc.c: Likewise.
2705
 
        * i386linux.c: Likewise.
2706
 
        * libaout.h: Likewise.
2707
 
        * libbfd-in.h: Likewise.
2708
 
        * libcoff-in.h: Likewise.
2709
 
        * linker.c: Likewise.
2710
 
        * m68klinux.c: Likewise.
2711
 
        * merge.c: Likewise.
2712
 
        * opncls.c: Likewise.
2713
 
        * pdp11.c: Likewise.
2714
 
        * sparclinux.c: Likewise.
2715
 
        * stabs.c: Likewise.
2716
 
        * sunos.c: Likewise.
2717
 
        * vms.c: Likewise.
2718
 
        * xcofflink.c: Likewise.
2719
 
        * section.c (struct section_hash_entry): Move to..
2720
 
        * libbfd-in.h: ..here.
2721
 
        * Makefile.am: Run "make dep-am"
2722
 
        * Makefile.in: Regenerate.
2723
 
        * bfd-in2.h: Regenerate.
2724
 
        * libbfd.h: Regenerate.
2725
 
        * libcoff.h: Regenerate.
2726
 
 
2727
 
2006-03-16  Alan Modra  <amodra@bigpond.net.au>
2728
 
 
2729
 
        * elf32-ppc.c (ppc_elf_check_relocs): REL24 and REL14 relocs
2730
 
        against __GLOBAL_OFFSET_TABLE__ need never be dynamic.  Tweak
2731
 
        last change to REL32 relocs so that they are counted as
2732
 
        possibly dynamic as per REL24 and REL14.
2733
 
 
2734
 
2006-03-16  Alan Modra  <amodra@bigpond.net.au>
2735
 
 
2736
 
        * elf32-ppc.c (ppc_elf_check_relocs): Don't fall into REL24
2737
 
        checks from REL32.
2738
 
 
2739
 
2006-03-15  Ben Elliston  <bje@au.ibm.com>
2740
 
 
2741
 
        * elf32-arm.c (elf32_arm_merge_eabi_attributes): Iterate over all
2742
 
        in_list elements, not just the first.
2743
 
 
2744
 
2006-03-14  Richard Sandiford  <richard@codesourcery.com>
2745
 
 
2746
 
        * elf32-mips.c (mips_elf_adjust_addend): New function, mostly split
2747
 
        out from...
2748
 
        (_bfd_mips_elf_relocate_section): ...here.  Use it to adjust r_addend
2749
 
        for final links too.
2750
 
 
2751
 
2006-03-13  Richard Sandiford  <richard@codesourcery.com>
2752
 
 
2753
 
        * elfxx-mips.c (mips_elf_create_got_section): Initialize hgot.
2754
 
 
2755
 
2006-03-11  H.J. Lu  <hongjiu.lu@intel.com>
2756
 
 
2757
 
        PR ld/2443
2758
 
        * dwarf2.c (concat_filename): Don't issue an error if file is 0.
2759
 
 
2760
 
2006-03-10  Paul Brook  <paul@codesourcery.com>
2761
 
 
2762
 
        * elf32-arm.c (INTERWORK_FLAG): Handle EABIv5.
2763
 
        (elf32_arm_print_private_bfd_data): Ditto.
2764
 
 
2765
 
2006-03-09  Paul Brook  <paul@codesourcery.com>
2766
 
 
2767
 
        * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Recognise additional
2768
 
        mapping symbols.
2769
 
 
2770
 
2006-03-09  Khem Raj  <khem@mvista.com>
2771
 
 
2772
 
        * elf32-arm.c(elf32_arm_finish_dynamic_sections): Use unsigned
2773
 
        char type.
2774
 
 
2775
 
2006-03-08  H.J. Lu  <hongjiu.lu@intel.com>
2776
 
 
2777
 
        * elfxx-ia64.c (elfNN_ia64_choose_gp): Properly choose gp.
2778
 
 
2779
 
2006-03-07  Richard Sandiford  <richard@codesourcery.com>
2780
 
            Daniel Jacobowitz  <dan@codesourcery.com>
2781
 
            Zack Weinberg  <zack@codesourcery.com>
2782
 
            Nathan Sidwell  <nathan@codesourcery.com>
2783
 
            Paul Brook  <paul@codesourcery.com>
2784
 
            Ricardo Anguiano  <anguiano@codesourcery.com>
2785
 
            Phil Edwards  <phil@codesourcery.com>
2786
 
 
2787
 
        * configure.in (bfd_elf32_bigarm_vec): Include elf-vxworks.lo.
2788
 
        (bfd_elf32_bigarm_symbian_vec): Likewise.
2789
 
        (bfd_elf32_bigarm_vxworks_vec): Likewise.
2790
 
        (bfd_elf32_littlearm_vec): Likewise.
2791
 
        (bfd_elf32_littlearm_symbian_vec): Likewise.
2792
 
        (bfd_elf32_littlearm_vxworks_vec): Likewise.
2793
 
        * configure: Regenerate.
2794
 
        * elf32-arm.c: Include libiberty.h and elf-vxworks.h.
2795
 
        (RELOC_SECTION, RELOC_SIZE, SWAP_RELOC_IN, SWAP_RELOC_OUT): New macros.
2796
 
        (elf32_arm_vxworks_bed): Add forward declaration.
2797
 
        (elf32_arm_howto_table_1): Fix the masks for R_ASM_ABS12.
2798
 
        (elf32_arm_vxworks_exec_plt0_entry): New table.
2799
 
        (elf32_arm_vxworks_exec_plt_entry): Likewise.
2800
 
        (elf32_arm_vxworks_shared_plt_entry): Likewise.
2801
 
        (elf32_arm_link_hash_table): Add vxworks_p and srelplt2 fields.
2802
 
        (reloc_section_p): New function.
2803
 
        (create_got_section): Use RELOC_SECTION.
2804
 
        (elf32_arm_create_dynamic_sections): Likewise.  Call
2805
 
        elf_vxworks_create_dynamic_sections for VxWorks targets.
2806
 
        Choose between the two possible values of plt_header_size
2807
 
        and plt_entry_size.
2808
 
        (elf32_arm_link_hash_table_create): Initialize vxworks_p and srelplt2.
2809
 
        (elf32_arm_abs12_reloc): New function.
2810
 
        (elf32_arm_final_link_relocate): Call it.  Allow the creation of
2811
 
        dynamic R_ARM_ABS12 relocs on VxWorks.  Use reloc_section_p,
2812
 
        RELOC_SIZE, SWAP_RELOC_OUT and RELOC_SECTION.  Initialize the
2813
 
        r_addend fields of relocs.  On rela targets, skip any code that
2814
 
        adjusts in-place addends.  When using _bfd_link_final_relocate
2815
 
        to perform a final relocation, pass rel->r_addend as the addend
2816
 
        argument.
2817
 
        (elf32_arm_merge_private_bfd_data): If one of the bfds is a VxWorks
2818
 
        object, ignore flags that are not standard on VxWorks.
2819
 
        (elf32_arm_check_relocs): Allow the creation of dynamic R_ARM_ABS12
2820
 
        relocs on VxWorks.  Use reloc_section_p.
2821
 
        (elf32_arm_adjust_dynamic_symbol): Use RELOC_SECTION and RELOC_SIZE.
2822
 
        (allocate_dynrelocs): Use RELOC_SIZE.  Account for the size of
2823
 
        .rela.plt.unloaded relocs on VxWorks targets.
2824
 
        (elf32_arm_size_dynamic_sections): Use RELOC_SIZE.  Check for
2825
 
        .rela.plt.unloaded as well as .rel(a).plt.  Add DT_RELA* tags
2826
 
        instead of DT_REL* tags on RELA targets.
2827
 
        (elf32_arm_finish_dynamic_symbol): Use RELOC_SECTION, RELOC_SIZE
2828
 
        and SWAP_RELOC_OUT.  Initialize r_addend fields.  Handle VxWorks
2829
 
        PLT entries.  Do not make _GLOBAL_OFFSET_TABLE_ absolute on VxWorks.
2830
 
        (elf32_arm_finish_dynamic_sections): Use RELOC_SECTION, RELOC_SIZE
2831
 
        and SWAP_RELOC_OUT.  Initialize r_addend fields.  Handle DT_RELASZ
2832
 
        like DT_RELSZ.  Handle the VxWorks form of initial PLT entry.
2833
 
        Correct the .rela.plt.unreloaded symbol indexes.
2834
 
        (elf32_arm_output_symbol_hook): Call the VxWorks version of this
2835
 
        hook on VxWorks targets.
2836
 
        (elf32_arm_vxworks_link_hash_table_create): Set vxworks_p to true.
2837
 
        Minor formatting tweak.
2838
 
        (elf32_arm_vxworks_final_write_processing): New function.
2839
 
        (elf_backend_add_symbol_hook): Override for VxWorks and reset
2840
 
        for Symbian.
2841
 
        (elf_backend_final_write_processing): Likewise.
2842
 
        (elf_backend_emit_relocs): Likewise.
2843
 
        (elf_backend_want_plt_sym): Likewise.
2844
 
        (ELF_MAXPAGESIZE): Likewise.
2845
 
        (elf_backend_may_use_rel_p): Minor formatting tweak.
2846
 
        (elf_backend_may_use_rela_p): Likewise.
2847
 
        (elf_backend_default_use_rela_p): Likewise.
2848
 
        (elf_backend_rela_normal): Likewise.
2849
 
        * Makefile.in (elf32-arm.lo): Depend on elf-vxworks.h.
2850
 
 
2851
 
2006-03-06  Nathan Sidwell  <nathan@codesourcery.com>
2852
 
 
2853
 
        * archures.c (bfd_mach_mcf_isa_a_nodiv, bfd_mach_mcf_isa_b_nousp):
2854
 
        New.  Adjust other variants.
2855
 
        (bfd_default_scan): Update.
2856
 
        * bfd-in2.h: Rebuilt.
2857
 
        * cpu-m68k.c: Adjust.
2858
 
        (bfd_m68k_compatible): New. Use it for architectures.
2859
 
        * elf32-m68k.c (elf32_m68k_object_p): Adjust.
2860
 
        (elf32_m68k_merge_private_bfd_data): Adjust.  Correct isa-a/b
2861
 
        mismatch.
2862
 
        (elf32_m68k_print_private_bfd_data): Adjust.
2863
 
        * ieee.c (ieee_write_processor): Adjust.
2864
 
 
2865
 
2006-03-06  Alan Modra  <amodra@bigpond.net.au>
2866
 
 
2867
 
        * dwarf2.c: Formatting.
2868
 
        (add_line_info): Remove outer loop.
2869
 
 
2870
 
2006-03-05  H.J. Lu  <hongjiu.lu@intel.com>
2871
 
            Alan Modra  <amodra@bigpond.net.au>
2872
 
 
2873
 
        PR binutils/2338
2874
 
        * dwarf2.c (loadable_section): New struct.
2875
 
        (dwarf2_debug): Add loadable_section_count and
2876
 
        loadable_sections.
2877
 
        (new_line_sorts_after): New.
2878
 
        (add_line_info): Use new_line_sorts_after to compare line
2879
 
        addresses.
2880
 
        (check_function_name): Removed.
2881
 
        (unset_sections): New.
2882
 
        (place_sections): New.
2883
 
        (_bfd_dwarf2_find_nearest_line): Updated. Call place_sections
2884
 
        and unset_sections on relocatable files.
2885
 
        (_bfd_dwarf2_find_line): Likewise.
2886
 
 
2887
 
2006-03-03  Nick Clifton  <nickc@redhat.com>
2888
 
 
2889
 
        * cpu-avr.c: Update to ISO-C90 formatting.
2890
 
        * elf32-avr.c: Likewise.
2891
 
 
2892
 
2006-03-03  Bjoern Haase  <bjoern.m.haase@web.de>
2893
 
 
2894
 
        * elf32-avr.c (avr_reloc_map): Insert BFD_RELOC_AVR_MS8_LDI
2895
 
        and R_AVR_MS8_LDI
2896
 
        (bfd_elf_avr_final_write_processing): Set
2897
 
        EF_AVR_LINKRELAX_PREPARED in e_flags field.
2898
 
        (elf32_avr_relax_section): New function.
2899
 
        (elf32_avr_relax_delete_bytes): New function.
2900
 
        (elf32_avr_get_relocated_section_contents): New function.
2901
 
        (avr_pc_wrap_around): New function.
2902
 
        (avr_relative_distance_considering_wrap_around): New function.
2903
 
        (avr_final_link_relocate): Handle negative int8t_t immediate for R_AVR_LDI.
2904
 
        * reloc.c: Add BFD_RELOC_AVR_MS8_LDI and BFD_RELOC_AVR_LDI_NEG
2905
 
        * libbfd.h: Regenerate.
2906
 
        * bfd-in2.h: Regenerate.
2907
 
 
2908
 
2006-03-02  DJ Delorie  <dj@redhat.com>
2909
 
 
2910
 
        * elf32-m32c.c (m32c_offset_for_reloc): Fix local symbol
2911
 
        calculations.
2912
 
 
2913
 
2006-03-02  Richard Sandiford  <richard@codesourcery.com>
2914
 
 
2915
 
        * elf32-ppc.c (is_ppc_elf_target): Return true if the target is
2916
 
        bfd_elf32_powerpc_vxworks_vec.
2917
 
 
2918
 
2006-03-02  Nick Clifton  <nickc@redhat.com>
2919
 
 
2920
 
        * elf32-m32c.c (m32c_elf_relax_section): Initialise 'gap'.
2921
 
 
2922
 
2006-03-02  Richard Sandiford  <richard@codesourcery.com>
2923
 
 
2924
 
        * elf32-i386.c (elf_i386_create_dynamic_sections): Use
2925
 
        elf_vxworks_create_dynamic_sections.
2926
 
        (elf_i386_size_dynamic_sections): Remove VxWorks GOT and PLT
2927
 
        symbol handling.
2928
 
        * elf32-ppc.c (ppc_elf_create_dynamic_sections): Use
2929
 
        elf_vxworks_create_dynamic_sections.
2930
 
        (ppc_elf_size_dynamic_sections): Remove VxWorks GOT and PLT
2931
 
        symbol handling.
2932
 
        * elf-vxworks.c (elf_vxworks_create_dynamic_sections): New function.
2933
 
        * elf-vxworks.h (elf_vxworks_create_dynamic_sections): Declare.
2934
 
 
2935
 
2006-03-02  Richard Sandiford  <richard@codesourcery.com>
2936
 
 
2937
 
        * elf32-i386.c (elf_i386_vxworks_link_output_symbol_hook): Delete.
2938
 
        (elf_backend_link_output_symbol_hook): Use
2939
 
        elf_vxworks_link_output_symbol_hook instead.
2940
 
        * elf32-ppc.c (elf_i386_vxworks_link_output_symbol_hook): Delete.
2941
 
        (elf_backend_link_output_symbol_hook): Use
2942
 
        elf_vxworks_link_output_symbol_hook instead.
2943
 
        * elf-vxworks.c (elf_vxworks_link_output_symbol_hook): Provide the
2944
 
        same interface as elf_backend_link_output_symbol_hook.
2945
 
        * elf-vxworks.h (elf_vxworks_link_output_symbol_hook): Update
2946
 
        prototype accordingly.
2947
 
 
2948
 
2006-03-02  Richard Sandiford  <richard@codesourcery.com>
2949
 
 
2950
 
        * elf32-ppc.c (ppc_elf_plt_type): New enumeration.
2951
 
        (ppc_elf_link_hash_table): Replace old_got and new_got with
2952
 
        plt_type and can_use_new_plt.
2953
 
        (ppc_elf_create_dynamic_sections): Add SEC_HAS_CONTENTS,
2954
 
        SEC_LOAD and SEC_READONLY to the VxWorks .plt flags.
2955
 
        (ppc_elf_check_relocs): Set can_use_new_plt instead of new_plt.
2956
 
        Move from plt_type == PLT_UNSET to PLT_OLD instead of setting old_plt.
2957
 
        (ppc_elf_select_plt_layout): Move from plt_type == PLT_UNSET to
2958
 
        either plt_type == PLT_OLD or plt_type == PLT_NEW.  Assert that
2959
 
        this function should not be called for VxWorks targets.
2960
 
        (ppc_elf_tls_setup): Use plt_type instead of old_got.
2961
 
        (allocate_got): Likewise.  Rearrange so that max_before_header
2962
 
        is only used for PLT_OLD and PLT_NEW.
2963
 
        (allocate_dynrelocs): Use plt_type instead of old_got and is_vxworks.
2964
 
        (ppc_elf_size_dynamic_sections): Likewise.
2965
 
        (ppc_elf_relax_section): Likewise.
2966
 
        (ppc_elf_relocate_section): Likewise.
2967
 
        (ppc_elf_finish_dynamic_symbol): Likewise.
2968
 
        (ppc_elf_vxworks_link_hash_table_create): Initialize plt_type.
2969
 
 
2970
 
2006-02-28  Richard Sandiford  <richard@codesourcery.com>
2971
 
 
2972
 
        * elf32-i386.c (elf_i386_link_hash_table): Add next_tls_desc_index.
2973
 
        (elf_i386_link_hash_table_create): Initialize it.
2974
 
        (elf_i386_compute_jump_table_size): Use it instead of
2975
 
        srelplt->reloc_count.
2976
 
        (allocate_dynrelocs): Likewise.
2977
 
        (elf_i386_size_dynamic_sections): Likewise.
2978
 
        (elf_i386_relocate_section): Likewise.
2979
 
 
2980
 
2006-02-27  Jakub Jelinek  <jakub@redhat.com>
2981
 
 
2982
 
        * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle S flag.
2983
 
        (_bfd_elf_write_section_eh_frame): Likewise.
2984
 
 
2985
 
2006-02-27  Carlos O'Donell  <carlos@codesourcery.com>
2986
 
 
2987
 
        * po/Make-in: Add html target.
2988
 
 
2989
 
2006-02-27  Richard Sandiford  <richard@codesourcery.com>
2990
 
 
2991
 
        * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_symbol): Use the
2992
 
        cached hgot entry to check for _GLOBAL_OFFSET_TABLE_.
2993
 
        * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Likewise.
2994
 
        * elf32-bfin.c (bfin_finish_dynamic_symbol): Likewise.
2995
 
        * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
2996
 
        * elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise.
2997
 
        * elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise.
2998
 
        * elf32-m32r.c (m32r_elf_finish_dynamic_symbol): Likewise.
2999
 
        * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Likewise.
3000
 
        * elf32-sh.c (sh_elf_finish_dynamic_symbol): Likewise.
3001
 
        * elf32-vax.c (elf_vax_finish_dynamic_symbol): Likewise.
3002
 
        * elf32-xtensa.c (elf_xtensa_finish_dynamic_symbol): Likewise.
3003
 
        * elf64-sh64.c (sh64_elf64_finish_dynamic_symbol): Likewise.
3004
 
        * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Likewise.
3005
 
        * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
3006
 
        * elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise.  Also use
3007
 
        the cached hplt entry to check for _PROCEDURE_LINKAGE_TABLE_.
3008
 
        * elf64-alpha.c (elf64_alpha_finish_dynamic_symbol): Likewise.
3009
 
        * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
3010
 
        * elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Likewise.
3011
 
        * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
3012
 
 
3013
 
2006-02-25  Richard Sandiford  <richard@codesourcery.com>
3014
 
 
3015
 
        * elf-bfd.h (elf_link_hash_table): Add hplt field.
3016
 
        * elflink.c (_bfd_elf_create_dynamic_sections): Initialize it.
3017
 
        * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Likewise.
3018
 
        * elf32-frv.c (_frv_create_got_section): Likewise.
3019
 
        * elf32-m32r.c (m32r_elf_create_dynamic_sections): Likewise.
3020
 
        * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
3021
 
        * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
3022
 
        * elf64-sh64.c (sh64_elf64_create_dynamic_sections): Likewise.
3023
 
        * elf32-i386.c (elf_i386_link_hash_table): Remove hgot and hplt.
3024
 
        (elf_i386_link_hash_table_create): Don't initialize them.
3025
 
        (elf_i386_size_dynamic_sections): Use the generic ELF hplt and
3026
 
        hgot fields.
3027
 
        (elf_i386_finish_dynamic_symbol): Likewise.
3028
 
        * elf32-ppc.c (ppc_elf_link_hash_table): Remove hplt.
3029
 
        (ppc_elf_size_dynamic_sections): Use the generic ELF hplt fields.
3030
 
        (ppc_elf_finish_dynamic_symbol): Likewise.
3031
 
 
3032
 
2006-02-24  DJ Delorie  <dj@redhat.com>
3033
 
 
3034
 
        * elf32-m32c.c (m32c_elf_howto_table): Add relaxation relocs.
3035
 
        (m32c_elf_relocate_section): Don't relocate them.
3036
 
        (compare_reloc): New.
3037
 
        (relax_reloc): Remove.
3038
 
        (m32c_offset_for_reloc): New.
3039
 
        (m16c_addr_encodings): New.
3040
 
        (m16c_jmpaddr_encodings): New.
3041
 
        (m32c_addr_encodings): New.
3042
 
        (m32c_elf_relax_section): Relax jumps and address displacements.
3043
 
        (m32c_elf_relax_delete_bytes): Adjust for internal syms.  Fix up
3044
 
        short jumps.
3045
 
 
3046
 
        * reloc.c: Add m32c relax relocs.
3047
 
        * libbfd.h: Regenerate.
3048
 
        * bfd-in2.h: Regenerate.
3049
 
 
3050
 
2006-02-24  H.J. Lu  <hongjiu.lu@intel.com>
3051
 
 
3052
 
        PR ld/2218
3053
 
        * elf-bfd.h (elf_backend_data): Add elf_backend_fixup_symbol.
3054
 
        (_bfd_elf_link_hash_fixup_symbol): New.
3055
 
 
3056
 
        * elflink.c (_bfd_elf_link_hash_fixup_symbol): New.
3057
 
        (_bfd_elf_fix_symbol_flags): Call elf_backend_fixup_symbol if
3058
 
        it isn't NULL.
3059
 
 
3060
 
        * elfxx-ia64.c (elf_backend_fixup_symbol): Defined.
3061
 
 
3062
 
        * elfxx-target.h (elf_backend_fixup_symbol): New.
3063
 
        (elfNN_bed): Initialize elf_backend_fixup_symbol.
3064
 
 
3065
 
2006-02-23  H.J. Lu  <hongjiu.lu@intel.com>
3066
 
 
3067
 
        * cpu-ia64-opc.c (ins_immu5b): New.
3068
 
        (ext_immu5b): Likewise.
3069
 
        (elf64_ia64_operands): Add IMMU5b.
3070
 
 
3071
 
2006-02-21  Alan Modra  <amodra@bigpond.net.au>
3072
 
 
3073
 
        PR ld/2218
3074
 
        * elf32-arm.c (allocate_dynrelocs): Ensure undef weak sym in pie
3075
 
        is dynamic.
3076
 
        * elf32-hppa.c (allocate_dynrelocs): Likewise.
3077
 
        * elf32-i386.c (allocate_dynrelocs): Likewise.
3078
 
        * elf32-s390.c (allocate_dynrelocs): Likewise.
3079
 
        * elf32-sh.c (allocate_dynrelocs): Likewise.
3080
 
        * elf64-s390.c (allocate_dynrelocs): Likewise.
3081
 
        * elf64-x86-64.c (allocate_dynrelocs): Likewise.
3082
 
        * elf32-m32r.c (allocate_dynrelocs): Likewise.  Discard relocs
3083
 
        on undef weak with non-default visibility too.
3084
 
        * elfxx-sparc.c (allocate_dynrelocs): Ditto.
3085
 
 
3086
 
2006-02-21  Alan Modra  <amodra@bigpond.net.au>
3087
 
 
3088
 
        * bfd.c: (_bfd_default_error_handler): Don't call abort on
3089
 
        error, instead call _exit.
3090
 
        (_bfd_abort): Call _exit not xexit.
3091
 
 
3092
 
2006-02-17  Kevin Buettner  <kevinb@redhat.com>
3093
 
 
3094
 
        * elf32-frv.c (elf32_frv_grok_prstatus, elf32_frv_grok_psinfo):
3095
 
        New functions.
3096
 
        * elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
3097
 
 
3098
 
2006-02-17  Shrirang Khisti  <shrirangk@kpitcummins.com>
3099
 
            Anil Paranjape  <anilp1@kpitcummins.com>
3100
 
            Shilin Shakti  <shilins@kpitcummins.com>
3101
 
 
3102
 
        * Makefile.am: Add xc16x related entry
3103
 
        * Makefile.in: Regenerate
3104
 
        * archures.c: Add bfd_xc16x_arch
3105
 
        * bfd-in2.h: Regenerate
3106
 
        * config.bfd: Add xc16x-*-elf
3107
 
        * configure.in: Add bfd_elf32_xc16x_vec
3108
 
        * configure: Regenerate.
3109
 
        * targets.c: Added xc16x related information
3110
 
        * cpu-xc16x.c: New file
3111
 
        * reloc.c: Add new relocations specific to xc16x:
3112
 
        BFD_RELOC_XC16X_PAG, BFD_RELOC_XC16X_POF, BFD_RELOC_XC16X_SEG,
3113
 
        BFD_RELOC_XC16X_SOF
3114
 
        * elf32-xc16x.c: New file.
3115
 
 
3116
 
2006-02-17  Alan Modra  <amodra@bigpond.net.au>
3117
 
 
3118
 
        * elf32-ppc.c (allocate_dynrelocs): Tweak undef weak handling.
3119
 
        * elf64-ppc.c (allocate_dynrelocs): Likewise.
3120
 
 
3121
 
2006-02-17  Alan Modra  <amodra@bigpond.net.au>
3122
 
 
3123
 
        PR ld/2218
3124
 
        * elf64-ppc.c (allocate_dynrelocs): Ensure undef weak sym is
3125
 
        dynamic.
3126
 
        (ppc64_elf_relocate_section): Check output reloc section size.
3127
 
        * elf32-ppc.c (allocate_dynrelocs): Simplify undef weak test.
3128
 
 
3129
 
2006-02-16  H.J. Lu  <hongjiu.lu@intel.com>
3130
 
 
3131
 
        PR ld/2322
3132
 
        * elf.c (get_segment_type): New function.
3133
 
        (_bfd_elf_print_private_bfd_data): Use it.
3134
 
        (print_segment_map): New function.
3135
 
        (assign_file_positions_for_segments): Call print_segment_map
3136
 
        when there are not enough room for program headers.
3137
 
 
3138
 
2006-02-16  Nick Hudson  <nick.hudson@dsl.pipex.com>
3139
 
 
3140
 
        * config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Use
3141
 
        traditional MIPS ELF targets.
3142
 
 
3143
 
2006-02-15  H.J. Lu  <hongjiu.lu@intel.com>
3144
 
 
3145
 
        PR binutils/2338
3146
 
        * dwarf2.c (check_function_name): New function.
3147
 
        (_bfd_dwarf2_find_nearest_line): Use check_function_name to
3148
 
        check if function is correct.
3149
 
 
3150
 
2006-02-16  Alan Modra  <amodra@bigpond.net.au>
3151
 
 
3152
 
        * elflink.c (_bfd_elf_default_action_discarded): Return 0 for
3153
 
        debug sections.
3154
 
        (elf_link_input_bfd): Adjust comments.
3155
 
 
3156
 
2006-02-10  H.J. Lu  <hongjiu.lu@intel.com>
3157
 
 
3158
 
        * elf.c (copy_private_bfd_data): Minor update.
3159
 
 
3160
 
2006-02-10  H.J. Lu  <hongjiu.lu@intel.com>
3161
 
 
3162
 
        PR binutils/2258
3163
 
        * elf.c (copy_private_bfd_data): Renamed to ...
3164
 
        (rewrite_elf_program_header): This.
3165
 
        (copy_elf_program_header): New function.
3166
 
        (copy_private_bfd_data): Likewise.
3167
 
 
3168
 
2006-02-07  Nathan Sidwell  <nathan@codesourcery.com>
3169
 
 
3170
 
        * archures.c (bfd_mach_mcf5200, bfd_mach_mcf5206e,
3171
 
        bfd_mach_mcf5307, bfd_mach_mcf5407, bfd_mach_mcf528x,
3172
 
        bfd_mach_mcfv4e, bfd_mach_mcf521x, bfd_mach_mcf5249,
3173
 
        bfd_mach_mcf547x, bfd_mach_mcf548x): Remove.
3174
 
        (bfd_mach_mcf_isa_a, bfd_mach_mcf_isa_a_div,
3175
 
        bfd_mach_mcf_isa_a_div_mac, bfd_mach_mcf_isa_a_div_emac,
3176
 
        bfd_mach_mcf_isa_aplus, bfd_mach_mcf_isa_aplus_mac,
3177
 
        bfd_mach_mcf_isa_aplus_emac, bfd_mach_mcf_isa_aplus_usp,
3178
 
        bfd_mach_mcf_isa_aplus_usp_mac, bfd_mach_mcf_isa_aplus_usp_emac,
3179
 
        bfd_mach_mcf_isa_b, bfd_mach_mcf_isa_b_mac, bfd_mach_mcf_isa_b_emac,
3180
 
        bfd_mach_mcf_isa_b_usp_float, bfd_mach_mcf_isa_b_usp_float_mac,
3181
 
        bfd_mach_mcf_isa_b_usp_float_emac): New.
3182
 
        (bfd_default_scan): Update coldfire mapping.
3183
 
        * bfd-in.h (bfd_m68k_mach_to_features,
3184
 
        bfd_m68k_features_to_mach): Declare.
3185
 
        * bfd-in2.h: Rebuilt.
3186
 
        * cpu-m68k.c (arch_info_struct): Add new coldfire machines,
3187
 
        adjust legacy names.
3188
 
        (m68k_arch_features): New.
3189
 
        (bfd_m68k_mach_to_features,
3190
 
        bfd_m68k_features_to_mach): Define.
3191
 
        * elf32-m68k.c (elf32_m68k_object_p): New.
3192
 
        (elf32_m68k_merge_private_bfd_data): Merge the CF EF flags.
3193
 
        (elf32_m68k_print_private_bfd_data): Print the CF EF flags.
3194
 
        (elf_backend_object_p): Define.
3195
 
        * ieee.c (ieee_write_processor): Update coldfire machines.
3196
 
        * libbfd.h: Rebuilt.
3197
 
 
3198
 
2006-02-06  Steve Ellcey  <sje@cup.hp.com>
3199
 
 
3200
 
        * elfxx-ia64.c (elfNN_ia64_fake_sections): Set SHF_IA_64_HP_TLS
3201
 
        if SHF_TLS is set.
3202
 
 
3203
 
2006-02-05  Arnold Metselaar  <arnold.metselaar@planet.nl>
3204
 
 
3205
 
        * coff-z80.c (r_imm24): New howto.
3206
 
        (rtype2howto): New case R_IMM24.
3207
 
        (coff_z80_reloc_type_lookup): New case BFD_RELOC_24.
3208
 
        (extra_case): Use bfd_get_8 for R_IMM8, new case R_IMM24.
3209
 
 
3210
 
2006-02-04  Richard Sandiford  <richard@codesourcery.com>
3211
 
 
3212
 
        * elfxx-mips.c (mips_elf_initialize_tls_index): If a TLS symbol
3213
 
        has already been assigned a GOT index, copy that index to the
3214
 
        current hash table entry.
3215
 
 
3216
 
2006-02-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
3217
 
 
3218
 
        * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass
3219
 
        for call-to-undefweak reloc overflow.
3220
 
 
3221
 
2006-01-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
3222
 
 
3223
 
        * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass
3224
 
        for 32-bit relocs overflow.
3225
 
 
3226
 
2006-01-27  Paul Brook  <paul@codesourcery.com>
3227
 
 
3228
 
        * elf32-arm.c (elf32_arm_get_symbol_type): Allow STT_TLS thumb
3229
 
        objects.
3230
 
 
3231
 
2006-01-18  Alexandre Oliva  <aoliva@redhat.com>
3232
 
 
3233
 
        Introduce TLS descriptors for i386 and x86_64.
3234
 
        * reloc.c (BFD_RELOC_386_TLS_GOTDESC, BFD_RELOC_386_TLS_DESC,
3235
 
        BFD_RELOC_386_TLS_DESC_CALL, BFD_RELOC_X86_64_GOTPC32_TLSDESC,
3236
 
        BFD_RELOC_X86_64_TLSDESC, BFD_RELOC_X86_64_TLSDESC_CALL): New.
3237
 
        * libbfd.h, bfd-in2.h: Rebuilt.
3238
 
        * elf32-i386.c (elf_howto_table): New relocations.
3239
 
        (R_386_tls): Adjust.
3240
 
        (elf_i386_reloc_type_lookup): Map new relocations.
3241
 
        (GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P): New macros.
3242
 
        (GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): New macros.
3243
 
        (struct elf_i386_link_hash_entry): Add tlsdesc_got field.
3244
 
        (struct elf_i386_obj_tdata): Add local_tlsdesc_gotent field.
3245
 
        (elf_i386_local_tlsdesc_gotent): New macro.
3246
 
        (struct elf_i386_link_hash_table): Add sgotplt_jump_table_size.
3247
 
        (elf_i386_compute_jump_table_size): New macro.
3248
 
        (link_hash_newfunc): Initialize tlsdesc_got.
3249
 
        (elf_i386_link_hash_table_create): Set sgotplt_jump_table_size.
3250
 
        (elf_i386_tls_transition): Handle R_386_TLS_GOTDESC and
3251
 
        R_386_TLS_DESC_CALL.
3252
 
        (elf_i386_check_relocs): Likewise.  Allocate space for
3253
 
        local_tlsdesc_gotent.
3254
 
        (elf_i386_gc_sweep_hook): Handle R_386_TLS_GOTDESC and
3255
 
        R_386_TLS_DESC_CALL.
3256
 
        (allocate_dynrelocs): Count function PLT relocations.  Reserve
3257
 
        space for TLS descriptors and relocations.
3258
 
        (elf_i386_size_dynamic_sections): Reserve space for TLS
3259
 
        descriptors and relocations.  Set up sgotplt_jump_table_size.
3260
 
        Don't zero reloc_count in srelplt.
3261
 
        (elf_i386_always_size_sections): New.  Set up _TLS_MODULE_BASE_.
3262
 
        (elf_i386_relocate_section): Handle R_386_TLS_GOTDESC and
3263
 
        R_386_TLS_DESC_CALL.
3264
 
        (elf_i386_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P.
3265
 
        (elf_backend_always_size_sections): Define.
3266
 
        * elf64-x86-64.c (x86_64_elf_howto): Add R_X86_64_GOTPC32_TLSDESC,
3267
 
        R_X86_64_TLSDESC, R_X86_64_TLSDESC_CALL.
3268
 
        (R_X86_64_standard): Adjust.
3269
 
        (x86_64_reloc_map): Map new relocs.
3270
 
        (elf64_x86_64_rtype_to_howto): New, split out of...
3271
 
        (elf64_x86_64_info_to_howto): ... this function, and...
3272
 
        (elf64_x86_64_reloc_type_lookup): ... use it to map elf_reloc_val.
3273
 
        (GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P): New macros.
3274
 
        (GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): New macros.
3275
 
        (struct elf64_x86_64_link_hash_entry): Add tlsdesc_got field.
3276
 
        (struct elf64_x86_64_obj_tdata): Add local_tlsdesc_gotent field.
3277
 
        (elf64_x86_64_local_tlsdesc_gotent): New macro.
3278
 
        (struct elf64_x86_64_link_hash_table): Add tlsdesc_plt,
3279
 
        tlsdesc_got and sgotplt_jump_table_size fields.
3280
 
        (elf64_x86_64_compute_jump_table_size): New macro.
3281
 
        (link_hash_newfunc): Initialize tlsdesc_got.
3282
 
        (elf64_x86_64_link_hash_table_create): Initialize new fields.
3283
 
        (elf64_x86_64_tls_transition): Handle R_X86_64_GOTPC32_TLSDESC and
3284
 
        R_X86_64_TLSDESC_CALL.
3285
 
        (elf64_x86_64_check_relocs): Likewise.  Allocate space for
3286
 
        local_tlsdesc_gotent.
3287
 
        (elf64_x86_64_gc_sweep_hook): Handle R_X86_64_GOTPC32_TLSDESC and
3288
 
        R_X86_64_TLSDESC_CALL.
3289
 
        (allocate_dynrelocs): Count function PLT relocations.  Reserve
3290
 
        space for TLS descriptors and relocations.
3291
 
        (elf64_x86_64_size_dynamic_sections): Reserve space for TLS
3292
 
        descriptors and relocations.  Set up sgotplt_jump_table_size,
3293
 
        tlsdesc_plt and tlsdesc_got.  Make room for them.  Don't zero
3294
 
        reloc_count in srelplt.  Add dynamic entries for DT_TLSDESC_PLT
3295
 
        and DT_TLSDESC_GOT.
3296
 
        (elf64_x86_64_always_size_sections): New.  Set up
3297
 
        _TLS_MODULE_BASE_.
3298
 
        (elf64_x86_64_relocate_section): Handle R_386_TLS_GOTDESC and
3299
 
        R_386_TLS_DESC_CALL.
3300
 
        (elf64_x86_64_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P.
3301
 
        (elf64_x86_64_finish_dynamic_sections): Set DT_TLSDESC_PLT and
3302
 
        DT_TLSDESC_GOT.  Set up TLS descriptor lazy resolver PLT entry.
3303
 
        (elf_backend_always_size_sections): Define.
3304
 
 
3305
 
2006-01-17  H.J. Lu  <hongjiu.lu@intel.com>
3306
 
 
3307
 
        PR binutils/2096
3308
 
        * dwarf2.c (comp_unit_contains_address): Update comment.
3309
 
        (_bfd_dwarf2_find_nearest_line): Use section's vma, instead of
3310
 
        lma.  Return TRUE only if both comp_unit_contains_address and
3311
 
        comp_unit_find_nearest_line return TRUE.
3312
 
        (_bfd_dwarf2_find_line): Use section's vma, instead of lma.
3313
 
 
3314
 
2006-01-18  Alan Modra  <amodra@bigpond.net.au>
3315
 
 
3316
 
        * elf-bfd.h (struct elf_backend_data): Add gc_mark_dynamic_ref.
3317
 
        (bfd_elf_gc_mark_dynamic_ref_symbol): Declare.
3318
 
        * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Rename from
3319
 
        elf_gc_mark_dynamic_ref_symbol.  Make global.
3320
 
        (bfd_elf_gc_sections): Call bed->gc_mark_dynamic_ref.
3321
 
        * elfxx-target.h (elf_backend_gc_mark_dynamic_ref): Define.
3322
 
        (elfNN_bed): Init new field.
3323
 
        * elf64-ppc.c (elf_backend_gc_mark_dynamic_ref): Define.
3324
 
        (ppc64_elf_gc_mark_dynamic_ref): New function.
3325
 
 
3326
 
2006-01-17  Alan Modra  <amodra@bigpond.net.au>
3327
 
 
3328
 
        * elf64-ppc.c (ppc64_elf_gc_mark_hook): Don't hang forever in loop.
3329
 
 
3330
 
2006-01-17  Nick Clifton  <nickc@redhat.com>
3331
 
 
3332
 
        PR binutils/2159
3333
 
        * elf.c (elfcore_write_pstatus): Add ATTRIBUTE_UNUSED to unused
3334
 
        parameters.
3335
 
 
3336
 
2006-01-11  Nick Clifton  <nickc@redhat.com>
3337
 
 
3338
 
        * elf32-arm.c (elf32_arm_output_symbol_hook): Install new entry
3339
 
        into the newly (re)allocated map array.
3340
 
 
3341
 
2006-01-09  Alexis Wilke  <alexis_wilke@yahoo.com>
3342
 
 
3343
 
        * peXXigen.c (tbl): Add comma after "HIGH3ADJ".
3344
 
 
3345
 
2006-01-01  Jakub Jelinek  <jakub@redhat.com>
3346
 
 
3347
 
        * elf64-ppc.c (ppc64_elf_action_discarded): Return 0
3348
 
        for .toc1 section.
3349
 
 
3350
 
For older changes see ChangeLog-2005
 
2419
        (elf32_arm_output_symbol_hook): Remove.
 
2420
        (elf32_arm_write_section): Output veneers, and branches to veneers.
 
2421
        Use maps from input sections, not output sections, for code
 
2422
        byte-swapping.
 
2423
        * elf32-ppc.c (ppc_elf_write_section): Add dummy link_info argument.
 
2424
        * elf32-score.c (_bfd_score_elf_write_section): Likewise.
 
2425
        * elfxx-mips.c (_bfd_mips_elf_write_section): Likewise.
 
2426
        * elfxx-mips.h (_bfd_mips_elf_write_section): Likewise.
 
2427
 
 
2428
2007-01-27  H.J. Lu  <hongjiu.lu@intel.com>
 
2429
 
 
2430
        * elf64-hppa.c (elf64_bed): Defined for HPUX and Linux.
 
2431
        (INCLUDED_TARGET_FILE): Removed.
 
2432
 
 
2433
2007-01-27  Mike Frysinger  <vapier@gentoo.org>
 
2434
 
 
2435
        * elf32-hppa.c (elf32_bed): Define for hpux, linux and netbsd.
 
2436
        (INCLUDED_TARGET_FILE): Remove.
 
2437
 
 
2438
2007-01-25  DJ Delorie  <dj@redhat.com>
 
2439
 
 
2440
        * elf32-m32c.c (m32c_elf_howto_table): Don't complain about
 
2441
        R_M32C_16 or R_M32C_24 relocs.
 
2442
 
 
2443
2007-01-25  Nick Clifton  <nickc@redhat.com>
 
2444
 
 
2445
        PR binutils/3874
 
2446
        * elf32-avr.c (avr_link_hash_table): Check to make sure that the
 
2447
        hash table was created by elf32_avr_link_hash_table_create before
 
2448
        using it.
 
2449
        (elf32_avr_link_hash_newfunc): New function.  Just pass the call
 
2450
        through to _bfd_elf_link_hash_newfunc.
 
2451
        (elf32_avr_link_hash_table_create): Use
 
2452
        elf32_avr_link_hash_newfunc instead of
 
2453
        _bfd_elf_link_hash_newfunc.
 
2454
        (elf32_avr_relocate_section): Check for the hash table pointer
 
2455
        being NULL.
 
2456
        (elf32_avr_relax_section, avr_build_one_stub,
 
2457
        elf32_avr_setup_params, get_local_syms, elf32_avr_size_stubs,
 
2458
        elf32_avr_build_stubs): Likewise.
 
2459
 
 
2460
2007-01-16  H.J. Lu  <hongjiu.lu@intel.com>
 
2461
 
 
2462
        PR ld/3831
 
2463
        * elf-bfd.h (bfd_elf_link_mark_dynamic_symbol): Add an
 
2464
        argument, Elf_Internal_Sym *.
 
2465
 
 
2466
        * elflink.c (bfd_elf_link_mark_dynamic_symbol): Mark a data
 
2467
        symbol dynamic if info->dynamic_data is TRUE.
 
2468
        (bfd_elf_record_link_assignment): Updated call to
 
2469
        bfd_elf_record_link_assignment.
 
2470
        (_bfd_elf_merge_symbol): Likewise.  Always call
 
2471
        bfd_elf_link_mark_dynamic_symbol.
 
2472
 
 
2473
2007-01-12  H.J. Lu  <hongjiu.lu@intel.com>
 
2474
 
 
2475
        * Makefile.am (BFD_LIBS): Removed.
 
2476
        * Makefile.in: Regenerated.
 
2477
 
 
2478
2007-01-11  H.J. Lu  <hongjiu.lu@intel.com>
 
2479
 
 
2480
        PR binutils/3631
 
2481
        * Makefile.am (OFILES): Add @bfd64_libs@.
 
2482
        (libbfd_la_SOURCES): Remove $(BFD64_LIBS_CFILES).
 
2483
        * Makefile.in: Regenerated.
 
2484
 
 
2485
        * configure.in (bfd_libs): Replaced by ...
 
2486
        (bfd64_libs): This.
 
2487
        * configure: Regenerated.
 
2488
 
 
2489
2007-01-11  Nathan Sidwell  <nathan@codesourcery.com>
 
2490
 
 
2491
        * elf.c (assign_file_positions_for_load_sections): We can
 
2492
        require fewer phdrs than expected.
 
2493
 
 
2494
2007-01-08  Kazu Hirata  <kazu@codesourcery.com>
 
2495
 
 
2496
        * archures.c (bfd_mach_cpu32_fido): Rename to bfd_mach_fido.
 
2497
        * bfd-in2.h: Regenerate.
 
2498
        * cpu-m68k.c (arch_info_struct): Use bfd_mach_fido instead of
 
2499
        bfd_mach_cpu32_fido.
 
2500
        (m68k_arch_features): Use fido_a instead of cpu32.
 
2501
        (bfd_m68k_compatible): Reject the combination of Fido and
 
2502
        ColdFire.  Accept the combination of CPU32 and Fido with a
 
2503
        warning.
 
2504
        * elf32-m68k.c (elf32_m68k_object_p,
 
2505
        elf32_m68k_merge_private_bfd_data,
 
2506
        elf32_m68k_print_private_bfd_data): Treat Fido as an
 
2507
        architecture by itself.
 
2508
 
 
2509
2007-01-08  Kai Tietz   <kai.tietz@onevision.com>
 
2510
 
 
2511
        * config.bfd: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*.
 
2512
 
 
2513
2007-01-05  Jakub Jelinek  <jakub@redhat.com>
 
2514
 
 
2515
        * texhex.c (first_phase): Don't fall through into the default
 
2516
        case.
 
2517
        (pass_over): Replace abort () calls with return FALSE.  Fix
 
2518
        buffer overflow.
 
2519
 
 
2520
2007-01-04  Jie Zhang  <jie.zhang@analog.com>
 
2521
 
 
2522
        * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't set
 
2523
        SEC_EXCLUDE on zero size .eh_frame.
 
2524
 
 
2525
For older changes see ChangeLog-2006
3351
2526
 
3352
2527
Local Variables:
3353
2528
mode: change-log