]> Git Repo - binutils.git/blame - bfd/ChangeLog
2005-09-08 Paul Brook <[email protected]>
[binutils.git] / bfd / ChangeLog
CommitLineData
3eb17e6b
PB
12005-09-08 Paul Brook <[email protected]>
2
3 * reloc.c: Rename BFD_RELOC_ARM_SMI to BFD_RELOC_ARM_SMC.
4 * bfd-in2.h: Regenerate.
5 * libbfd.h: Regenerate.
6
68f49ba3
L
72005-09-06 H.J. Lu <[email protected]>
8
9 PR ld/1301
10 * elflink.c (_bfd_elf_merge_symbol): Don't check undefined
11 symbol introduced by "ld -u" for TLS.
12
8f06b2d8
PB
132005-09-02 Paul Brook <[email protected]>
14
15 * libbdf.h: Regenerate.
16 * bfd-in2.h: Regenerate.
17 * reloc.c: Add BFD_RELOC_ARM_T32_CP_OFF_IMM and
18 BFD_RELOC_ARM_T32_CP_OFF_IMM_S2.
19
046aeb74
DD
202005-09-01 Dmitry Diky <[email protected]>
21
22 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Do not adjust
23 local symbols and move it to
24 (msp430_elf_relax_adjust_locals): New function - walk over the
25 sections in the bfd and adjust relocations as necessary.
26
e81d3500
DD
272005-08-31 DJ Delorie <[email protected]>
28
29 * elf32-i386.c (elf_i386_check_relocs): Don't cast a unary &
30 address operator, as that breaks GCC's strict aliasing rules.
31 (elf_i386_size_dynamic_sections): Avoid the need for type
32 punning.
33 * elf64-x86-64.c (elf_x86_64_check_relocs): Don't cast a unary
34 & address operator, as that breaks GCC's strict aliasing
35 rules.
36 (elf_x86_64_size_dynamic_sections): Avoid the need for type
37 punning.
38
e26f8bd9
NC
392005-08-30 Phil Edwards <[email protected]>
40
41 * config.bfd (i[3-7]86-*-vxworks): Match vxworks* instead.
42
1faab634
L
432005-08-29 H.J. Lu <[email protected]>
44
45 PR ld/1247
46 * elfxx-ia64.c (allocate_fptr): Check undefined symbol.
47
c9adbffe
NC
482005-08-29 Steven J. Hill <[email protected]>
49
50 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Initialise
51 'value' to avoid compile time warning message.
52
c0524131
NC
532005-08-26 Christian Groessler <[email protected]>
54
55 * coff-z8k.c: (r_jr, r_disp7, r_callr): Fix src_mask and dst_mask
56 of HOWTO.
57 (coff_z8k_select_reloc): Remove.
58 (SELECT_RELOC): Remove.
59 (coff_z8k_reloc_type_lookup): New function.
60 (coff_bfd_reloc_type_lookup): Define.
61 * configure.in: Add cofflink.lo to z8kcoff_vec.
62 * configure: Regenerate.
63 * reloc.c: (bfd_reloc_code_type): Add z8k relocations.
64 (bfd_install_relocation): Don't clear reloc_entry->addend for
65 coff-z8k target.
66 * bfd-in2.h: Regenerate.
67 * libbfd.h: Regenerate.
68
4195f552
KK
692005-08-25 Kaz Kojima <[email protected]>
70
71 * elf32-sh.c (sh_elf_get_flags_from_mach): Fix off-by-one error.
72
843fe662
L
732005-08-24 H.J. Lu <[email protected]>
74
75 PR ld/1208
76 * elf-hppa.h (elf_hppa_relocate_section): Print out the name
77 of unresolvable relocation.
78 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
79 * elf32-arm.c (elf32_arm_relocate_section): Likewise.
80 * elf32-i386.c (elf_i386_relocate_section): Likewise.
81 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
82 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
83 * elf32-s390.c (elf_s390_relocate_section): Likewise.
84 * elf32-sh.c (sh_elf_relocate_section): Likewise.
85 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
86 * elf64-s390.c (elf_s390_relocate_section): Likewise.
87 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
88 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
89 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
90
1cddf136
KK
912005-08-18 Kaz Kojima <[email protected]>
92
93 * config.bfd: Add bfd_elf32_shnbsd_vec and bfd_elf32_shlnbsd_vec
94 to targ_selvecs for sh5*-*-netbsd* and sh64*-*-netbsd*.
95
c17ae8a2
AM
962005-08-18 Alan Modra <[email protected]>
97
848cf006
AM
98 * coff-a29k.c: Delete.
99 * cpu-a29k.c: Delete.
c17ae8a2
AM
100 * Makefile.am: Remove mention of a29k files.
101 * aoutf1.h: Remove a29k support.
102 * aoutx.h: Likewise.
103 * archures.c: Likewise.
104 * coffcode.h: Likewise.
105 * config.bfd: Likewise.
106 * configure.in: Likewise.
107 * ieee.c: Likewise.
108 * mipsbsd.c: Likewise.
109 * pdp11.c: Likewise.
110 * sparclynx.c: Likewise.
111 * targets.c: Likewise.
112 * Makefile.in: Regenerate.
113 * configure: Regenerate.
114 * bfd-in2.h: Regenerate.
115 * po/SRC-POTFILES.in: Regenerate.
116
909272ee
AM
1172005-08-18 Alan Modra <[email protected]>
118
119 * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Warn on
120 zero size dynamic variables.
121 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
122 * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
123 * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
124 * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
125 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
126 * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
127 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
128 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
129 * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
130 * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
131 * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
132 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
133 * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
134 * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
135 * elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise.
136 * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
137
bc79cded
L
1382005-08-17 H.J. Lu <[email protected]>
139
140 PR binutils/1179
141 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Use section lma
142 instead of vma.
143 (_bfd_dwarf2_find_line): Likewise.
144
46fda84e
AM
1452005-08-17 Alan Modra <[email protected]>
146
147 * elf64-mmix.c (mmix_elf_add_symbol_hook): Mark reg section
148 SEC_LINKER_CREATED.
149 (mmix_elf_final_link): Check that section hasn't already been
150 removed before removing.
151 * mmo.c (mmo_scan): Mark reg contents section SEC_LINKER_CREATED.
152 (mmo_canonicalize_symtab): Likewise for reg section.
153
8d1d654f
AM
1542005-08-17 Alan Modra <[email protected]>
155
156 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Move assert later.
157 * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Cope with being called
158 without any got section.
159
27198fa9
DS
1602005-08-17 Danny Smith <[email protected]>
161
162 * cofflink.c (_bfd_coff_generic_relocate_section): Correct
163 comment.
164
ccabcbe5
AM
1652005-08-17 Alan Modra <[email protected]>
166
167 * elflink.c (_bfd_elf_define_linkage_sym): Don't call
168 bfd_elf_link_record_dynamic_symbol. Call elf_backend_hide_symbol.
169 (_bfd_elf_link_renumber_dynsyms): Formatting.
170 (struct elf_gc_sweep_symbol_info): New.
171 (elf_gc_sweep_symbol): Rewrite.
172 (elf_gc_sweep): Adjust params and elf_gc_sweep_symbol call.
173 Call _bfd_elf_link_renumber_dynsyms.
174 (bfd_elf_gc_sections): Adjust elf_gc_sweep call.
175
18d944df
AM
1762005-08-16 Alan Modra <[email protected]>
177
178 * elf64-ppc.c (ppc64_elf_edit_opd): Don't call dec_dynrel_count
179 when relocatable.
180
4af0a1d8
BW
1812005-08-15 Bob Wilson <[email protected]>
182
183 * elf32-xtensa.c (ELF_MACHINE_CODE, ELF_MACHINE_ALT1): Swap values
184 of EM_XTENSA and EM_XTENSA_OLD.
185
d98685ac
AM
1862005-08-16 Alan Modra <[email protected]>
187
188 * elf-bfd.h (_bfd_elf_define_linkage_sym): Declare.
189 * elflink.c (_bfd_elf_define_linkage_sym): New function, extracted
190 from..
191 (_bfd_elf_create_got_section): ..here.
192 (_bfd_elf_link_create_dynamic_sections): Call it for _DYNAMIC.
193 (_bfd_elf_create_dynamic_sections): ..and _PROCEDURE_LINKAGE_TABLE_.
194 * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Use
195 _bfd_elf_define_linkage_sym.
196 * elf32-frv.c (_frv_create_got_section): Likewise.
197 * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
198
ce490eda
PB
1992005-08-15 Paul Brook <[email protected]>
200
201 * elf32-arm.c (elf32_arm_howto_table_1): Make R_ARM_PLT32 the same as
202 R_ARM_PC24.
203
4fc35ca9
DA
2042005-08-13 John David Anglin <[email protected]>
205
206 PR ld/1135
207 * elf64-hppa.c (elf64_hppa_special_sections): Add flag definitions for
208 .plt, .dlt, .sdata, .sbss and .tbss.
209
fa9ee72b
DD
2102005-08-12 Dmitry Diky <[email protected]>
211
212 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Adjust relocations
213 referenced by .section + DISPLACEMENT.
214
98b880f4
JW
2152005-08-10 James E. Wilson <[email protected]>
216
217 * dwarf2.c (scan_unit_for_symbols, case DT_AT_location): Verify that
218 DW_OP_addr is only opcode in location before using it.
219
a38a2e96
L
2202005-08-09 H.J. Lu <[email protected]>
221
222 * elfxx-ia64.c (elfNN_ia64_final_link): Reset gp.
223
fd6212e6
NC
2242005-08-09 Rodney Brown <[email protected]>
225 Nick Clifton <[email protected]>
226
227 * aix5ppc-core.c (xcoff64_core_p): Constify return_value
228 variable. Also, do not use core_hdr macro as it evaluates to a
229 cast of an lvalue which is no longer supported by GCC 4.0.
230
44c86e8c
NC
2312005-08-08 Eric Dönges <[email protected]>
232
233 * archures.c (bfd_mach_msp21): New MSP430 machine number.
234 * bfd-in2.h: Regenerate.
235 * cpu-msp430.c (arch_info_struct): Add support for msp430x21xx
236 variants.
237
957c6e41
NC
2382005-08-07 Nick Clifton <[email protected]>
239 Paul Brook <[email protected]>
240
241 PR 1147
242 * elf32-arm.c (bfd_elf32_close_and_cleanup): Define.
243 (elf32_arm_close_and_cleanup): New function - walk over the
244 sections in the bfd that is being closed removing them from the
245 list of recorded sections.
246 (unrecord_section_via_map_over_sections): New helper function.
247 (record_section_with_arm_elf_section_data): Call bfd_malloc
248 instead of bfd_alloc. Remove unneeded abfd parameter.
249 (elf32_arm_new_section_hook): Do not pass bfd to
250 record_section_with_arm_elf_section_data.
251
252 * elfxx-target.h (bfd_elfNN_close_and_cleanup): Only define if not
253 already defined by the target.
254
a29b7e88
FF
2552005-08-05 Fred Fish <[email protected]>
256
257 * dwarf2.c (read_rangelist): Use addr_size instead of offset_size
258 to determine how many bytes to read from each rangelist entry.
259
7af8e998
L
2602005-08-05 H.J. Lu <[email protected]>
261
262 * bfd.c (bfd_hide_symbol): New.
263 * bfd-in2.h: Regenerated.
264
00492999
L
2652005-08-04 H.J. Lu <[email protected]>
266
267 * elf64-x86-64.c (elf64_x86_64_merge_symbol): When mixing a
268 large common symbol and a normal common symbol, always turn
269 the large common symbol into a normal one.
270
046183de
AM
2712005-08-04 Alan Modra <[email protected]>
272
273 * elf32-ppc.c (struct elf_linker_section): Replace sym_val field
274 with sym.
275 (ppc_elf_relocate_section): Adjust for above.
276 (create_sdata_sym): New function.
277 (ppc_elf_create_linker_section): Call it.
278 (ppc_elf_check_relocs): Correct has_sda_refs and non_got_refs.
279 Create sdata syms for all SDA relocs.
280 (ppc_elf_adjust_dynamic_symbol): Don't special case _SDA_BASE_
281 and _SDA2_BASE_.
282 (ppc_elf_set_sdata_syms): Delete.
283 * elflink.c (bfd_elf_size_dynamic_sections): Don't create DT_INIT
284 and DT_FINI tags unless associated section has input.
285 (bfd_elf_set_symbol, _bfd_elf_provide_symbol): Delete.
286 (_bfd_elf_provide_section_bound_symbols): Delete.
287 * bfd-in.h (_bfd_elf_provide_symbol): Delete.
288 (_bfd_elf_provide_section_bound_symbols): Delete.
289 * bfd-in2.h: Regenerate.
290
1e035701
AM
2912005-08-04 Alan Modra <[email protected]>
292
293 * elflink.c (fix_syms, _bfd_elf_fix_excluded_sec_syms): Move to..
294 * linker.c (fix_syms, _bfd_fix_excluded_sec_syms): ..here.
295 * bfd-in.h (_bfd_fix_excluded_sec_syms): Rename.
296 * bfd-in2.h: Regenerate.
297
90b263f3
L
2982005-08-03 H.J. Lu <[email protected]>
299
300 * elfxx-ia64.c (elfNN_ia64_relax_section): Resize .rela.got
301 only if it isn't NULL.
302
b0360d8c
L
3032005-08-03 H.J. Lu <[email protected]>
304
305 * elf32-i386.c (elf_howto_table): Undo the overflow change for
306 R_386_PC16 made on 2005-07-18.
307
308 * elf64-x86-64.c (x86_64_elf_howto_table): Undo the overflow
309 change for R_X86_64_PC16 made on 2005-07-18.
310
636ce3f5
AM
3112005-08-03 Alan Modra <[email protected]>
312
313 * elf32-ppc.c (struct ppc_elf_link_hash_table): Remove hgot. Use
314 elf.hgot throughout file.
315
4d962050
AM
3162005-08-03 Alan Modra <[email protected]>
317
318 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Correct value of
319 _GLOBAL_OFFSET_TABLE_ for > 32k GOT.
320
4a78a1f4
AS
3212005-08-02 Andreas Schwab <[email protected]>
322
323 * elfxx-ia64.c (struct elfNN_ia64_allocate_data): Add only_got.
324 (elfNN_ia64_relax_section): Reallocate .rela.got when .got has
325 changed.
326 (allocate_dynrel_entries): Look only at GOT relocations when
327 only_got is true.
328 (elfNN_ia64_size_dynamic_sections): Set only_got to false before
329 calling allocate_dynrel_entries.
330
8e3de13a
NC
3312005-08-02 Nick Clifton <[email protected]>
332
333 PR 1147
334 * elf32-arm.c (struct _arm_elf_section_data): Turn into a typedef
335 and make the mapcount field unsigned.
336 (struct section_list): New: Used to keep track of which sections
337 have an _arm_elf_section_data structure.
338 (record_section_with_arm_elf_section_data): New function.
339 (get_arm_elf_section_data): New function.
340 (unrecord_section_with_arm_elf_section_data): New function.
341 (elf32_arm_output_symbol_hook): Use get_arm_elf_section_data.
342 (elf32_arm_new_section_hook): Call
343 record_section_with_arm_elf_section_data.
344 (elf32_arm_write_section): Use get_arm_elf_section_data and
345 unrecord_section_with_arm_elf_section_data.
346
c5211a54
RS
3472005-08-01 Richard Sandiford <[email protected]>
348
349 * elfxx-mips.c (mips_mach_extends_p): Treat MIPS64 as an extension
350 of MIPS32 and MIPS64r2 as an extension of MIPS32r2.
351
1b9ee6a2
DD
3522005-07-30 David Daney <[email protected]>
353
354 * elflink.c (elf_gc_sweep): Set dynsymcount to correct value.
355
eedecc07
DD
3562005-07-29 David Daney <[email protected]>
357
358 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Ignore _gp_disp
359 if it is in the *ABS* section.
360
e9f89963
PB
3612005-07-29 Paul Brook <[email protected]>
362
363 * reloc.c: Add BFD_RELOC_ARM_T32_ADD_PC12.
364 * bfd-in2.h: Regenerate.
365 * libbfd.h: Regenerate.
366
92e90b6e
PB
3672005-07-29 Paul Brook <[email protected]>
368
369 * reloc.c (BFD_RELOC_ARM_T32_IMM12): Add.
370 * bfd-in2.h: Regeenrate.
371 * libbfd.h: Regenerate.
372
0facbdf5
NC
3732005-07-29 Pavel Kankovsky <[email protected]>
374
375 * peXXigen.c (pe_print_edata): Compute the size of the export
376 table from the size field in the DataDictionary and not the size
377 of the section. Some linkers embed the export table inside a
378 larger section.
379
8a696751
AM
3802005-07-29 Alan Modra <[email protected]>
381
382 * elf-bfd.h (struct elf_backend_data): Add action_discarded.
383 (enum action_discarded): Move from..
384 * elflink.c (enum action_discarded): ..here.
385 (_bfd_elf_default_action_discarded): Rename from elf_action_discarded.
386 Remove target specific section checks.
387 (elf_link_input_bfd): Adjust.
388 * elfxx-target.h (elf_backend_action_discarded): Define.
389 (elfNN_bed): Init new field.
390 * bfd-in.h (_bfd_elf_default_action_discarded): Declare.
391 * bfd-in2.h: Regenerate.
392 * elf-hppa.h (elf_hppa_action_discarded): New function.
393 * elf32-hppa.c (elf_backend_action_discarded): Define.
394 * elf64-hppa.c (elf_backend_action_discarded): Define.
395 * elf32-ppc.c (ppc_elf_action_discarded): New function.
396 (elf_backend_action_discarded): Define.
397
2f5028a7
AM
3982005-07-27 Alan Modra <[email protected]>
399
400 * elflink.c (fix_syms): Handle symbols defined in input sections.
401
a33d77bc
JB
4022005-07-27 Jan Beulich <[email protected]>
403
404 * elf64-x86-64.c (R_X86_64_standard, R_X86_64_vt_offset): New.
405 (elf64_x86_64_info_to_howto): Use them.
406
f41d945b
AM
4072005-07-27 Alan Modra <[email protected]>
408
409 * elflink.c (_bfd_elf_merge_symbol): Skip weak redefinition
410 regardless of strength of previous definition.
411
87538722
AM
4122005-07-26 Alan Modra <[email protected]>
413
414 * elflink.c (elf_gc_mark_dynamic_ref_symbol): Handle -shared.
415 (bfd_elf_gc_sections): Allow -gc-sections when -shared.
416 * elf32-ppc.c (ppc_elf_gc_sweep_hook): Correct for -shared.
417
9e8cc8b4
AM
4182005-07-26 Alan Modra <[email protected]>
419
420 * elflink.c (elf_gc_sweep): Move gcc_except_table code..
421 (bfd_elf_gc_sections): ..to here.
422
fd54057a
DD
4232005-07-25 DJ Delorie <[email protected]>
424
425 * reloc.c: Remove unused M32C relocs, add BFD_RELOC_M32C_HI8.
426 * libbfd.h: Regenerate.
427 * bfd-in2.h: Regenerate.
428
429 * elf32-m32c.c (m32c_elf_howto_table): Add R_M32C_8, R_M32C_LO16,
430 R_M32C_HI8, R_M32C_HI16.
431 (m32c_reloc_map): Likewise.
432 (m32c_elf_relocate_section): Add R_M32C_HI8 and R_M32C_HI16.
433
3b22753a
L
4342005-07-25 Jan Hubicka <[email protected]>
435 H.J. Lu <[email protected]>
436
437 * elf-bfd.h (_bfd_elf_large_com_section): New.
438 * elf.c (_bfd_elf_large_com_section): New. Defined.
439
440 * elf64-x86-64.c (elf64_x86_64_add_symbol_hook): New.
441 (elf64_x86_64_elf_section_from_bfd_section): New.
442 (elf64_x86_64_symbol_processing): New.
443 (elf64_x86_64_common_definition): New.
444 (elf64_x86_64_common_section_index): New.
445 (elf64_x86_64_common_section): New.
446 (elf64_x86_64_merge_symbol): New.
447 (elf64_x86_64_additional_program_headers): New.
448 (elf64_x86_64_special_sections): New.
449 (elf_backend_section_from_bfd_section): New. Defined.
450 (elf_backend_add_symbol_hook): Likewise.
451 (elf_backend_common_section_index): Likewise.
452 (elf_backend_common_section): Likewise.
453 (elf_backend_common_definition): Likewise.
454 (elf_backend_merge_symbol): Likewise.
455 (elf_backend_special_sections): Likewise.
456 (elf_backend_additional_program_headers): Likewise.
457
a4d8e49b
L
4582005-07-25 H.J. Lu <[email protected]>
459
460 * elf-bfd.h (elf_backend_data): Add common_definition,
461 common_section_index, common_section, and merge_symbol.
462 (_bfd_elf_common_definition): New.
463 (_bfd_elf_common_section_index): New.
464 (_bfd_elf_common_section): New.
465
466 * elf.c (elf_fake_sections): Don't clear sh_flags.
467
468 * elflink.c (_bfd_elf_merge_symbol): Call backend merge_symbol
469 if it is available.
470 (is_global_data_symbol_definition): Call backend
471 common_definition instead of checking SHN_COMMON.
472 (elf_link_add_object_symbols): Likewise.
473 (elf_link_output_extsym): Call backend common_section_index
474 for common section index.
475 (_bfd_elf_common_definition): New.
476 (_bfd_elf_common_section_index): New.
477 (_bfd_elf_common_section): New.
478
479 * elfxx-target.h (elf_backend_common_definition): New.
480 (elf_backend_common_section_index): New.
481 (elf_backend_common_section): New.
482 (elf_backend_merge_symbol): New.
483 (elfNN_bed): Initialize common_definition, common_section_index,
484 common_section, and merge_symbol.
485
486 * section.c (BFD_FAKE_SECTION): New.
487 (STD_SECTION): Use it.
488 * bfd-in2.h: Regenerated.
489
58ac56d0
L
4902005-07-23 Olaf Hering <[email protected]>
491
492 * elflink.c (elf_link_input_bfd): Add '\n' for linker einfo
493 callback.
494
9f971fcb
NC
4952005-07-21 Ralf Corsepius <[email protected]>
496
497 * config.bfd: Remove i[3-7]86-*-rtemself*.
498 Remove sparc-*-rtemself*.
499
a9b7b174
NC
5002005-07-22 Kazuhiro Inaoka <[email protected]>
501
502 * elf32-m32r.c (m32r_elf_check_relocs): Fix pc count for
503 R_M32R_REL32.
504
240a3425
BE
5052005-07-21 Ben Elliston <[email protected]>
506
507 * Makefile.am (BFD32_BACKENDS): Remove cf-m68klynx.lo.
508 (BFD32_BACKENDS): Likewise, remove m68klynx.lo.
509 (BFD32_BACKENDS_CFILES): Remove cf-m68klynx.c, m68klynx.c.
510 (cf-m68klynx.lo, m68klynx.lo): Remove targets.
511 * Makefile.in: Regenerate.
512 * cf-m68klynx.c: Remove.
513 * m68klynx.c: Likewise.
514 * configure.in (m68klynx_aout_vec): Remove vector.
515 (m68klynx_coff_vec): Likewise.
516 * configure: Regenerate.
517 * targets.c (m68klynx_aout_vec): Remove extern.
518 (m68klynx_coff_vec): Likewise.
519 (_bfd_target_vector): Remove m68klynx_{aout,coff}_vec.
520 * po/SRC-POTFILES.in: Remove cf-m68klynx.c, m68klynx.c.
521
157e7bd1
NC
5222005-07-20 Kazuhiro Inaoka <[email protected]>
523
524 * elf32-m32r.c (m32r_elf_howto_table): Support R_M32R_REL32.
525 (m32r_reloc_map): Likewise.
526 (m32r_elf_relocate_section): Likewise.
527 (m32r_elf_gc_sweep_hook): Likewise.
528 (m32r_elf_check_relocs): Likewise.
529
85da3a56
NC
5302005-07-18 Nick Clifton <[email protected]>
531
532 * reloc.c: Add M32C and MS1 relocs.
533 * bfd-in2.h: Regenerate.
534 * libbfd.h: Regenerate.
535
5362005-07-18 Nick Clifton <[email protected]>
537
538 * config.bfd: Move m32c entry to correct location.
9e8cc8b4
AM
539 * archures.c: Likewise.
540 * configure.in: Likewise.
541 * configure: Regenerate.
542 * targets.c: Move ms1 vector to correct location.
85da3a56 543
ac2aa337
JB
5442005-07-18 Jan Beulich <[email protected]>
545
546 * elf32-i386.c (elf_howto_table): Adjust overflow complaint handler
547 for R_386_PC16.
548 * elf64-x86-64.c (x86_64_elf_howto_table): Adjust overflow complaint
549 handler for R_X86_64_PC16, R_X86_64_8, and R_X86_64_DTPOFF.
550
9a20ed6e 5512005-07-16 Eric Botcazou <[email protected]>
cc86ff91
EB
552
553 PR ld/1021
554 PR ld/1031
555 * elflink.c (elf_link_add_object_symbols): Also append the version
556 name to non-hidden absolute symbols that are functions.
557
42fa7765
AM
5582005-07-16 Alan Modra <[email protected]>
559
560 * elf32-ppc.c (ppc_elf_set_sdata_syms): Return void. Remove hack
561 for zero size sections. Don't set .sbss syms here.
562 * elf32-ppc.h (ppc_elf_set_sdata_syms): Adjust prototype.
563
0f82ff91
AM
5642005-07-16 Alan Modra <[email protected]>
565
566 * Makefile.am: Run "make dep-am".
567 * Makefile.in: Regenerate.
568
2db662be
BW
5692005-07-15 Bob Wilson <[email protected]>
570
571 * elf32-xtensa.c (vsprint_msg): Add prototype.
572 (build_encoding_error_message): Delete. Code moved into....
573 (elf_xtensa_do_reloc): ....here, and changed to give better
574 error messages for out of range literals.
575
eaae8ded
AM
5762005-07-15 Alan Modra <[email protected]>
577
578 * elflink.c (bfd_elf_record_link_assignment): Remove output_bfd param.
579 (_bfd_elf_provide_symbol): Allow redefinition of weak syms and those
580 defined in output sections. Call bfd_elf_record_link_assignment.
581 * bfd-in.h (bfd_elf_record_link_assignment): Update prototype.
582 * bfd-in2.h: Regenerate.
583
49f58d10
JB
5842005-07-14 Jim Blandy <[email protected]>
585
586 Add support for m32c-*-elf (Renesas m32c and m16c).
587 * Makefile.am (ALL_MACHINES): Add cpu-m32c.lo.
588 (ALL_MACHINES_CFILES): Add cpu-m32c.c.
589 (BFD32_BACKENDS): Add elf32-m32c.lo.
590 (BFD32_BACKENDS_CFILES): Add elf32-m32c.c.
591 (cpu-m32c.lo, elf32-m32c.lo): New rules, generated by 'make dep-am'.
592 * Makefile.in: Regenerated.
593 * archures.c (bfd_arch_m32c, bfd_mach_m16c, bfd_mach_m32c): New
594 arch and mach codes.
595 (bfd_m32c_arch): New arch info object.
596 (bfd_archures_list): List bfd_m32c_arch.
597 * bfd-in2.h: Regenerated.
598 * config.bfd: Add case for the m32c.
599 * configure.in: Add case for the m32c.
600 * configure: Regenerated.
601 * cpu-m32c.c, elf32-m32c.c: New files.
602 * libbfd.h: Regenerated.
603 * targets.c (bfd_elf32_m32c_vec): Declare.
604 (_bfd_target_vector): List bfd_elf32_m32c_vec.
605
a3c2b96a
AM
6062005-07-14 Alan Modra <[email protected]>
607
608 * bfd-in.h (_bfd_elf_fix_excluded_sec_syms): Declare.
609 (_bfd_elf_provide_section_bound_symbols): Remove param name.
610 Formatting.
611 * bfd-in2.h: Regenerate.
612 * elflink.c (bfd_elf_gc_sections): Don't call generic function.
613 (_bfd_elf_provide_symbol): Formatting.
614 (_bfd_elf_provide_section_bound_symbols): Remove all hacks, just
615 create section relative syms.
616 (fix_syms, _bfd_elf_fix_excluded_sec_syms): New functions.
617 * elf32-ppc.c (ppc_elf_set_sdata_syms): Use
618 _bfd_elf_provide_section_bound_symbols.
619 * reloc.c (bfd_mark_used_section): Delete.
620 (bfd_generic_gc_sections): Don't call the above.
621
1787c340
NC
6222005-07-14 Paul Woegerer <[email protected]>
623
cb4aa473 624 PR 1063
1787c340
NC
625 * cache.c (bfd_last_cache): Initialise to NULL.
626
15ac1d4f
NC
6272005-07-14 Daniel Marques <[email protected]>
628 Nick Clifton <[email protected]>
629
630 * coff-alpha.c (alpha_ecoff_bad_format_hook): Detect compressed
631 Alpha binaries and issue a helpful error message.
632 (alpha_ecoff_swap_reloc_out): Increase maximum allowed internal
633 symbol index to 15 to allow for binaries produced by DEC
a3c2b96a 634 compilers.
15ac1d4f 635
d4909375
SE
6362005-07-13 Steve Ellcey <[email protected]>
637
638 * bfd.m4 (BFD_NEED_DECLARATION): Remove.
639
15b552e9
AM
6402005-07-12 Alan Modra <[email protected]>
641
642 * elf64-ppc.c (ppc64_elf_relocate_section): Don't use a plt stub
643 when !can_plt_call.
644
70961b9d
AM
6452005-07-12 Alan Modra <[email protected]>
646
647 * elf32-xtensa.c (bfd_elf_xtensa_reloc): Warning fix.
648
632a56fd
AM
6492005-07-12 Alan Modra <[email protected]>
650
651 * elf32-ppc.c (ppc_elf_set_sdata_syms): Correct __sbss_start value.
652
49ff44d6
L
6532005-07-11 H.J. Lu <[email protected]>
654
655 * elflink.c (_bfd_elf_symbol_refs_local_p): Revert the last
656 change.
657
0af4cd7c
PK
6582005-07-08 Paul Koning <[email protected]>
659
660 * dwarf2.c (read_address): Check sign_extend_vma to handle targets
661 where addresses are sign extended.
662
7e4e2059
NC
6632005-07-08 Ralf Corsepius <[email protected]>
664
665 * config.bfd: Mark i960-*-rtems*, or32-*-rtems* as obsolete.
a3c2b96a 666 Mark a29k-*rtems*, hppa*-*-rtems*, *-go32-rtems*,
7e4e2059
NC
667 i[3-7]86*-*-rtemscoff*, mips*el-*-rtems*, powerpcle-*-rtems*,
668 sparc*-*-rtemsaout* as removed
669
c456f082
AM
6702005-07-08 Alan Modra <[email protected]>
671
672 * elf-hppa.h (elf_hppa_final_link): Use gp val of zero when none
673 of the usual sections are found.
674 * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Tidy.
675 Strip .dynbss if it is zero size.
676 * elf32-arm.c (elf32_arm_size_dynamic_sections): Likewise.
677 * elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
678 * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
679 * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise, and
680 .dynsbss.
681 (i370_elf_finish_dynamic_sections): Don't attempt to write .got
682 when it is zero size.
683 * elf32-i386.c (elf_i386_size_dynamic_sections): Correct handling
684 of .dynbss and zero size sections.
685 * elf32-m32r.c (m32r_elf_size_dynamic_sections): Strip .dynbss if
686 it is zero size.
687 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Tidy. Strip
688 .dynbss if zero size.
689 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise, .dynsbss
690 too.
691 * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
692 * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
693 * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
694 * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Tidy. Strip
695 .plt.* and .got.plt.* if zero size.
696 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Tidy. Strip
697 .got* and .dynbss if zero size.
698 * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Tidy. Strip
699 * elf64-ppc.c (create_linkage_sections): Create branch lookup table
700 in .data.rel.ro.brlt or .rodata.brlt, and similarly for associated
701 reloc section.
702 (create_got_section): Always create new .got and .rela.got sections.
703 (ppc64_elf_size_dynamic_sections): Tidy. Strip .dynbss if zero size.
704 * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
705 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
706 * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Handle
707 dynamic bss sections correctly.
708 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Tidy.
709 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Tidy. Strip
710 .dynbss if zero size.
711
6c98dd1e
BE
7122005-07-08 Ben Elliston <[email protected]>
713
714 * elf32-xtensa.c: Include <stdarg.h> unconditionally, not only
715 when ANSI_PROTOTYPES is defined. Remove #ifdef logic.
716
29ef7005
L
7172005-07-07 H.J. Lu <[email protected]>
718
719 * elf-bfd.h (elf_backend_data): Add special_sections.
720
721 * elf.c (_bfd_elf_get_sec_type_attr): Check special_sections
722 first.
723
724 * elf32-arm.c (elf_backend_get_sec_type_attr): Removed.
725 (elf_backend_special_sections): New. Defined.
726 * elf32-m32r.c: Likewise.
727 * elf32-m68hc11.c: Likewise.
728 * elf32-m68hc12.c: Likewise.
729 * elf32-mcore.c: Likewise.
730 * elf32-sh64.c: Likewise.
731 * elf32-v850.c: Likewise.
732 * elf32-xtensa.c: Likewise.
733 * elf64-alpha.c: Likewise.
734 * elf64-hppa.c: Likewise.
735 * elf64-ppc.c: Likewise.
736 * elf64-sh64.c: Likewise.
737 * elfxx-ia64.c: Likewise.
738 * elfxx-mips.c: Likewise.
739 * elfxx-mips.h: Likewise.
740
741 * elfxx-target.h (elf_backend_special_sections): New.
742 (elfNN_bed): Initialize special_sections.
743
074f5109
BW
7442005-07-07 Bob Wilson <[email protected]>
745
746 * xtensa-modules.c: Update tables with Xtensa MMU features.
747
0fd3a477
JW
7482005-07-07 Kaveh R. Ghazi <[email protected]>
749
750 * elf32-xtensa.c (vsprint_msg): Add format attribute. Fix
751 format bugs.
752 * vms.h (_bfd_vms_debug): Add format attribute.
753 (_bfd_vms_debug, _bfd_hexdump): Fix typos.
754
9968d831
L
7552005-07-07 H.J. Lu <[email protected]>
756
757 PR 975
758 * elflink.c (_bfd_elf_symbol_refs_local_p): Only undefined
759 symbol with default visibility is local.
760
3b1fcf96
BE
7612005-07-07 Ben Elliston <[email protected]>
762
763 * config.bfd: Mark m68*-*-rtemscoff as obsolete.
764
5cf2e3f0
L
7652005-07-06 H.J. Lu <[email protected]>
766
767 * dwarf2.c (varinfo): Add addr.
768 (lookup_symbol_in_variable_table): Also check addr.
769 (scan_unit_for_symbols): Set addr for variable.
770 (comp_unit_find_line): Updated.
771
0adc9281
NC
7722005-07-06 Nick Clifton <[email protected]>
773
774 * coff-alpha.c (alpha_adjust_reloc_in): Issue an informative error
775 message if an unknown reloc is encountered.
776 (alpha_relocate_section): Likewise.
777
778 * ecoff.c (_bfd_ecoff_write_object_contents): Cope with a reloc
779 with a missing howto field.
780
cfbe541f
AM
7812005-07-06 Alan Modra <[email protected]>
782
783 * po/SRC-POTFILES.in: Add cpu-ms1.c, elf32-ms1.c, elf-vxworks.c,
784 elfxx-sparc.c.
785
d5e3d971
PB
7862005-07-05 Paul Brook <[email protected]>
787
788 * elf32-ppc.c (ppc_elf_vxworks_special_sections): Remove.
789 (ppc_elf_vxworks_get_sec_type_attr): New function.
790 (elf_backend_special_sections): Remove vxwords definition.
791 (elf_backend_get_sec_type_attr): Define for vxworks.
792
3ec2b351
NC
7932005-07-05 Nick Clifton <[email protected]>
794
795 * elf64-ppc.c (ppc64_elf_info_to_howto): Fix typo.
796
d5e3d971 7972005-07-05 Paul Brook <[email protected]>
9d8504b1
PB
798
799 * config.bfd: Add separate case for ppc-vxworks.
800 * configure: Regenerate.
801 * configure.in: Include elf-vxworks.lo on ppc targets.
802 * elf-vxworks.c (elf_vxworks_final_write_processing): Handle
803 .rela.plt.unloaded.
804 * elf32-ppc.c: Add VxWorks target vec. Include elf-vxworks.h.
805 (PLT_ENTRY_SIZE, PLT_INITIAL_ENTRY_SIZE, PLT_SLOT_SIZE): Remove.
806 (VXWORKS_PLT_ENTRY_SIZE, ppc_elf_vxworks_plt_entry,
807 ppc_elf_vxworks_pic_plt_entry, VXWORKS_PLT_INITIAL_ENTRY_SIZE,
808 ppc_elf_vxworks_plt0_entry, ppc_elf_vxworks_pic_plt0_entry,
809 VXWORKS_PLT_NON_JMP_SLOT_RELOCS, VXWORKS_PLTRESOLVE_RELOCS,
810 VXWORKS_PLTRESOLVE_RELOCS_SHLIB): New.
811 (ppc_elf_link_hash_table): Add srelplt2, sgotplt, hgot, hplt,
812 is_vxworks, plt_entry_size, plt_slot_size, plt_initial_entry_size.
813 (ppc_elf_link_hash_table_create): Initialize hadtab plt fields.
814 (ppc_elf_create_got): Create .got.plt for VxWorks.
815 (ppc_elf_create_dynamic_sections): Create unloaded plt relocation
816 section for VxWorks.
817 (ppc_elf_select_plt_layout): Handle VxWorks plt format.
818 (allocate_got): VxWorks does not need a got header.
819 (allocate_dynrelocs): Handle VxWorks plt format.
820 (ppc_elf_size_dynamic_sections): Save _G_O_T_ and _P_L_T_ symbols for
821 VxWorks. Handle VxWorks plt/got.
822 (ppc_elf_finish_dynamic_sections): Fill in VxWorks plt.
823 (ppc_elf_vxworks_special_sections): New.
824 (ppc_elf_vxworks_link_hash_table_create,
825 ppc_elf_vxworks_add_symbol_hook,
826 elf_i386_vxworks_link_output_symbol_hook,
827 ppc_elf_vxworks_final_write_processing): New functions.
828 * targets.c (bfd_elf32_powerpc_vxworks_vec): Declare.
829 (_bfd_target_vector): Use it.
830
c6c60d09
JJ
8312005-07-05 Jakub Jelinek <[email protected]>
832
9e492e05
JJ
833 * libbfd-in.h (struct artdata): Add extended_names_size field.
834 * libbfd.h: Rebuilt.
835 * coff-rs600.c (_bfd_xcoff_archive_p): Don't clear fields in freshly
836 allocated object by bfd_zalloc.
837 * coff64-rs6000.c (xcoff64_archive_p): Likewise.
838 * ecoff.c (_bfd_ecoff_archive_p): Likewise.
839 * archive.c (_bfd_generic_mkarchive, bfd_generic_archive_p): Likewise.
840 (get_extended_arelt_filename): Fail if index is bigger or equal to
841 extended_names_size.
842 (_bfd_generic_read_ar_hdr_mag): Don't set bfd_error_malformed_archive,
843 get_extended_arelt_filename already did that.
844 (_bfd_slurp_extended_name_table): Initialize extended_names_size field.
845 Allocate one extra byte and clear it, in case extended names table
846 is not terminated.
847
d0fb9a8d
JJ
848 * libbfd-in.h (bfd_malloc2, bfd_realloc2, bfd_zmalloc2, bfd_alloc2,
849 bfd_zalloc2): New prototypes.
850 * bfd-in.h (HALF_BFD_SIZE_TYPE): Define.
851 * libbfd.c (bfd_malloc2, bfd_realloc2, bfd_zmalloc2): New functions.
852 * opncls.c (bfd_alloc2, bfd_zalloc2): New functions.
853 * elf.c (bfd_elf_get_elf_syms, setup_group, assign_section_numbers,
854 elf_map_symbols, map_sections_to_segments,
855 assign_file_positions_for_segments, copy_private_bfd_data,
856 swap_out_syms, _bfd_elf_slurp_version_tables): Use bfd_*alloc2
857 where appropriate.
858 * bfd-in2.h: Rebuilt.
859 * libbfd.h: Rebuilt.
860
861 * elf.c (_bfd_elf_print_private_bfd_data): Don't crash on bogus
862 verdef or verneed section.
863 (_bfd_elf_slurp_version_tables): Handle corrupt verdef and/or
864 verneed sections gracefully.
865 * elfxx-sparc.c (_bfd_sparc_elf_info_to_howto_ptr): Don't crash on
866 bogus relocation values.
867 * elf64-ppc.c (ppc64_elf_info_to_howto): Likewise.
868 * elf64-s390.c (elf_s390_info_to_howto): Likewise.
869 * elf32-s390.c (elf_s390_info_to_howto): Likewise.
870 * elf64-x86-64.c (elf64_x86_64_info_to_howto): Likewise.
871 * elfxx-ia64.c (lookup_howto): Likewise.
872
c6c60d09
JJ
873 * elf.c (bfd_elf_get_str_section): Allocate an extra byte after
874 the end of strtab and clear it.
875 (elf_read): Remove.
876
dcd4b381
NC
8772005-07-05 Nick Clifton <[email protected]>
878
879 * po/vi.po: New Vietnamese translation.
880 * configure.in (ALL_LINGUAS): Add vi.
881 * configure: Regenerate.
882
8532796c
NC
8832005-07-05 Peter S. Mazinger <[email protected]>
884
885 * elf32-arm.c (elf32_arm_size_dynamic_sections): Fix a typo and
886 touchup logic like i386/ppc.
887
b35d266b
AM
8882005-07-05 Alan Modra <[email protected]>
889
890 * elf.c (special_sections): Move const qualifier.
891 (special_sections_b..special_sections_t): Likewise.
892 * elf32-arm.c (elf32_arm_symbian_get_sec_type_attr): Remove duplicate
893 const.
894 (elf32_arm_symbian_special_sections): Move const qualifier.
895 * elf32-m32r.c: Similarly.
896 * elf32-m68hc11.c: Similarly.
897 * elf32-m68hc12.c: Similarly.
898 * elf32-mcore.c: Similarly.
899 * elf32-ppc.c: Similarly.
900 * elf32-sh64.c: Similarly.
901 * elf32-v850.c: Similarly.
902 * elf32-xtensa.c: Similarly.
903 * elf64-alpha.c: Similarly.
904 * elf64-hppa.c: Similarly.
905 * elf64-ppc.c: Similarly.
906 * elf64-sh64.c: Similarly.
907 * elfxx-ia64.c: Similarly.
908 * elfxx-mips.c: Similarly.
909
80447b21
NC
9102005-07-04 Kazuhiro Inaoka <[email protected]>
911
912 * elf32-m32r.c (m32r_elf_size_dynamic_sections): Use
913 info->executable instead of !info->shared where appropriate.
914
540b09cb
AM
9152005-07-04 Alan Modra <[email protected]>
916
917 PR 1042
918 * elf.c (assign_file_positions_for_segments): Remove excluded
919 sections from the segment map.
920
551b43fd
AM
9212005-07-04 Alan Modra <[email protected]>
922
923 PR 1004
924 * elf-bfd.h (struct elf_backend_data): Add get_sec_type_attr. Delete
925 special_sections.
926 (_bfd_elf_get_special_section): Declare.
927 (bfd_elf_special_section): Update prototype.
928 * elf.c (special_sections): Remove unused outer entries.
929 (get_special_section): Delete.
930 (_bfd_elf_get_special_section): New function.
931 (_bfd_elf_get_sec_type_attr): Replace "name" arg with "sec". Update
932 special_sections indexing.
933 (_bfd_elf_new_section_hook): Call backend get_sec_type_attr.
934 * elf32-arm.c (symbian_special_sections_d): Delete.
935 (symbian_special_sections_g, symbian_special_sections_h): Delete.
936 (symbian_special_sections_i, symbian_special_sections_f): Delete.
937 (symbian_special_sections_p): Delete.
938 (elf32_arm_symbian_special_sections): Merge above to here.
939 (elf32_arm_symbian_get_sec_type_attr): New function.
940 (elf_backend_special_sections): Don't define.
941 (elf_backend_get_sec_type_attr): Define.
942 * elf32-m32r.c: Similarly to elf32-arm.c.
943 * elf32-m68hc11.c: Likewise.
944 * elf32-m68hc12.c: Likewise.
945 * elf32-mcore.c: Likewise.
946 * elf32-sh64.c: Likewise.
947 * elf32-v850.c: Likewise.
948 * elf32-xtensa.c: Likewise.
949 * elf64-alpha.c: Likewise.
950 * elf64-hppa.c: Likewise.
951 * elf64-ppc.c: Likewise.
952 * elf64-sh64.c: Likewise.
953 * elfxx-ia64.c: Likewise.
954 * elfxx-mips.c: Likewise.
955 * elf32-ppc.c: Likewise.
956 (bfd_elf_special_section ppc_alt_plt): New. Use it if .plt loadable.
957 * elfxx-mips.h (_bfd_mips_elf_get_sec_type_attr): Declare.
958 (_bfd_mips_elf_special_sections, elf_backend_special_sections): Delete.
959 (elf_backend_get_sec_type_attr): Define.
960 * elfxx-target.h (elf_backend_get_sec_type_attr): Define.
961 (elf_backend_special_sections): Don't define.
962 (elfNN_bed): Update.
963
47b0e7ad
NC
9642005-07-01 Nick Clifton <[email protected]>
965
966 * cpu-d10v.c: Update to ISO C90 style function declarations and
967 fix formatting.
968 * cpu-d30v.c: Likewsie.
969 * cpu-i370.c: Likewsie.
970 * cpu-xstormy16.c: Likewsie.
971 * elf32-arc.c: Likewsie.
972 * elf32-d10v.c: Likewsie.
973 * elf32-d30v.c: Likewsie.
974 * elf32-dlx.c: Likewsie.
975 * elf32-i370.c: Likewsie.
976 * elf32-i960.c: Likewsie.
977 * elf32-ip2k.c: Likewsie.
978 * elf32-m32r.c: Likewsie.
979 * elf32-mcore.c: Likewsie.
980 * elf32-openrisc.c: Likewsie.
981 * elf32-or32.c: Likewsie.
982 * elf32-pj.c: Likewsie.
983 * elf32-v850.c: Likewsie.
984 * elf32-xstormy16.c: Likewsie.
985
85d162e6
AM
9862005-07-01 Alan Modra <[email protected]>
987
988 * elf64-alpha.c (elf64_alpha_create_got_section): Always create
989 a new .got section.
990 (elf64_alpha_create_dynamic_sections): Always make new sections
991 by using bfd_make_section_anyway_with_flags. Check that .got not
992 already created.
993 (elf64_alpha_check_relocs): Delete "got_created". Use tdata->gotobj
994 instead.
995
b116d4a7
AM
9962005-06-30 Alan Modra <[email protected]>
997
998 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Ignore dynamic
999 _SDA_BASE_ and _SDA2_BASE_ symbols.
1000 * elflink.c (_bfd_elf_provide_symbol): Correct comment. Define
1001 sym if not def_regular.
1002 (_bfd_elf_provide_section_bound_symbols): Similarly.
1003
7f41b278
BE
10042005-06-30 Ben Elliston <[email protected]>
1005
1006 * config.bfd: Mark as obsolete:
1007 m68*-apollo-*
1008 m68*-apple-aux*
1009 m68*-bull-sysv*
1010
39c2f51b
AM
10112005-06-29 Alan Modra <[email protected]>
1012
1013 * elflink.c (_bfd_elf_gc_mark): Mark sections referenced by
1014 .eh_frame specially..
1015 (bfd_elf_gc_sections): ..rather than totally ignoring .eh_frame.
1016 Don't recheck sections we have already marked.
1017 (elf_gc_sweep): Keep non-code sections referenced from .eh_frame.
1018 * section.c (struct bfd_section): Add gc_mark_from_eh.
1019 (STD_SECTION): Adjust.
1020 * ecoff.c (bfd_debug_section): Adjust.
1021 * bfd-in2.h: Regenerate.
1022
e8aaee2a
AM
10232005-06-29 Alan Modra <[email protected]>
1024
1025 * elflink.c (elf_gc_sweep): Do not refcount on sections that have
1026 not been processed by check_relocs.
1027
3b2175db
PB
10282005-06-29 Paul Brook <[email protected]>
1029
1030 * bfd-in.h (_bfd_elf_provide_symbol): Update prototype.
1031 * bfd-in2.h: Regenerate.
1032 * elf32-ppc.c (ppc_elf_set_sdata_syms): Make sdata symbols section
1033 relative.
1034 * elflink.c (bfd_elf_set_symbol): Add section argument.
1035 (_bfd_elf_provide_symbol): Ditto.
1036 (_bfd_elf_provide_section_bound_symbols): Pass NULL section argument.
1037
a63e02c7
DA
10382005-06-27 Carlos O'Donell <[email protected]>
1039
c456f082 1040 * bfd/elf32-hppa.c (struct elf32_hppa_stub_hash_entry):
a63e02c7
DA
1041 Use bh_root, and hh.
1042 (struct elf32_hppa_link_hash_entry): Use eh, and hsh_cache.
1043 (struct elf32_hppa_dyn_reloc_entry): Use hdh_next.
1044 (struct elf32_hppa_link_hash_table): Use etab and bstab.
1045 (stub_hash_newfunc): Use hh.
1046 (hppa_link_hash_newfunc): Use hsh_cache.
1047 (elf32_hppa_link_hash_table_create): Use etab, and bstab.
1048 (elf32_hppa_link_hash_table_free): Use bstab.
1049 (hppa_stub_name): Use eh.
1050 (hppa_get_stub_entry): Use hh, hsh_entry, and hsh_cache.
1051 (hppa_add_stub): Use bstab.
1052 (hppa_type_of_stub): Use eh.
1053 (hppa_build_one_stub): Use hh and bh_root.
1054 (elf32_hppa_copy_indirect_symbol): Use hdh_next.
1055 (elf32_hppa_check_relocs): Use eh, etab, and hdh_next.
1056 (elf32_hppa_gc_sweep_hook): Use hdh_next.
1057 (elf32_hppa_adjust_dynamic_symbol): Use hdh_next, and etab.
1058 (allocate_plt_static): Use etab.
1059 (allocate_dynrelocs): Use etab, and hdh_next.
1060 (readonly_dynrelocs): Use hdh_next.
1061 (elf32_hppa_size_dynamic_sections): Use etab, and hdh_next.
1062 (get_local_syms): Use eh, bstab, and hh.
1063 (elf32_hppa_size_stubs): Use eh, bstab, and hh.
1064 (elf32_hppa_set_gp): Use etab.
1065 (elf32_hppa_build_stubs): Use bstab.
1066 (final_link_relocate): Use eh, bh_root.
1067 (elf32_hppa_relocate_section): Use elf, etab.
1068 (elf32_hppa_finish_dynamic_sections): Use etab.
1069
5f1cb353
L
10702005-06-27 H.J. Lu <[email protected]>
1071
1072 * elfxx-ia64.c (elfNN_hpux_backend_symbol_processing): Remove
1073 the extra `;'.
1074
875c0872
DA
10752005-06-21 Carlos O'Donell <[email protected]>
1076
1077 * bfd/elf32-hppa.c (hppa_elf_hash_entry): Define.
1078 (hppa_stub_hash_entry): Define.
1079 (stub_hash_newfunc): Rename variables.
1080 (hppa_link_hash_newfunc): Likewise.
1081 (elf32_hppa_link_hash_table_free): Likewise.
1082 (hppa_stub_name): Likewise.
1083 (hppa_get_stub_entry): Likewise.
1084 (hppa_add_stub): Likewise.
1085 (hppa_type_of_stub): Likewise.
1086 (hppa_build_one_stub): Likewise.
1087 (hppa_size_one_stub): Likewise.
1088 (elf32_hppa_create_dynamic_sections): Likewise.
1089 (elf32_hppa_copy_indirect_symbol): Likewise.
1090 (elf32_hppa_check_relocs): Likewise.
1091 (elf32_hppa_gc_mark_hook): Likewise.
1092 (elf32_hppa_gc_sweep_hook): Likewise.
1093 (elf32_hppa_grok_psinfo): Likewise.
1094 (elf32_hppa_hide_symbol): Likewise.
1095 (elf32_hppa_adjust_dynamic_symbol): Likewise.
1096 (allocate_dynrelocs): Likewise.
1097 (clobber_millicode_symbols): Likewise.
1098 (readonly_dynrelocs): Likewise.
1099 (elf32_hppa_size_dynamic_sections): Likewise.
1100 (get_local_syms): Likewise.
1101 (elf32_hppa_size_stubs): Likewise.
1102 (hppa_record_segment_addr): Likewise.
1103 (final_link_relocate): Likewise.
1104 (elf32_hppa_relocate_section): Likewise.
1105 (elf32_hppa_finish_dynamic_symbol): Likewise.
1106
973a3492
L
11072005-06-20 H.J. Lu <[email protected]>
1108
1109 PR 1025
1110 * elf-m10300.c (mn10300_elf_check_relocs): Handle indirect
1111 symbol.
1112 * elf32-arm.c (elf32_arm_check_relocs): Likewise.
1113 * elf32-avr.c (elf32_avr_check_relocs): Likewise.
1114 * elf32-cris.c (cris_elf_check_relocs): Likewise.
1115 * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
1116 * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
1117 * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
1118 * elf32-frv.c (elf32_frv_check_relocs): Likewise.
1119 * elf32-i370.c (i370_elf_check_relocs): Likewise.
1120 * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
1121 * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
1122 * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
1123 * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
1124 * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
1125 * elf32-ms1.c (ms1_elf_check_relocs): Likewise.
1126 * elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
1127 * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
1128 * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
1129 * elf32-s390.c (elf_s390_check_relocs): Likewise.
1130 * elf32-sh.c (sh_elf_check_relocs): Likewise.
1131 * elf32-v850.c (v850_elf_check_relocs): Likewise.
1132 * elf32-vax.c (elf_vax_check_relocs): Likewise.
1133 * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
1134 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
1135 * elf64-s390.c (elf_s390_check_relocs): Likewise.
1136 * elf64-sh64.c (sh_elf64_check_relocs): Likewise.
1137 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
1138 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
1139
71cb9464
L
11402005-06-20 H.J. Lu <[email protected]>
1141
f7c5057a
L
1142 PR 1022
1143 * elf32-hppa.c (elf32_hppa_check_relocs): Handle indirect
1144 symbol.
1145
11462005-06-20 H.J. Lu <[email protected]>
1147
1148 PR 1025
71cb9464
L
1149 * elf32-i386.c (elf_i386_check_relocs): Handle indirect symbol.
1150 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
1151
73d147dc
L
11522005-06-18 H.J. Lu <[email protected]>
1153
1154 * reloc.c: Add BFD_RELOC_X86_64_GOTOFF64 and
1155 BFD_RELOC_X86_64_GOTPC32.
1156 * bfd-in2.h: Regenerated.
1157
a50b2160
JJ
11582005-06-17 Jakub Jelinek <[email protected]>
1159
aa2ca951
JJ
1160 * elf.c (bfd_section_from_shdr): Kill bogus warning.
1161
a50b2160
JJ
1162 * elf.c (bfd_section_from_shdr): Fail if sh_entsize is bogus for
1163 symbol, relocation, group or versym sections.
1164
1165 * coffcode.h (coff_slurp_reloc_table): Don't crash if native_relocs
1166 is NULL.
1167 * peXXigen.c (pe_print_idata): Don't crash if dll_name or start_address
1168 doesn't point into the section.
1169
d6ab8113
JB
11702005-06-17 Jan Beulich <[email protected]>
1171
1172 * bfd-in2.h (elf_x86_64_reloc_type): Add BFD_RELOC_X86_64_GOTOFF64
1173 and BFD_RELOC_X86_64_GOTPC32.
1174 * libbfd.h (bfd_reloc_code_real_names): Likewise.
1175 * elf64-x86-64.c (x86_64_elf_howto_table): Add entries for
1176 R_X86_64_PC64, R_X86_64_GOTOFF64, and R_X86_64_GOTPC32.
1177 (x86_64_reloc_map): Add entries for R_X86_64_PC64, R_X86_64_GOTOFF64,
1178 and R_X86_64_GOTPC32.
1179 (elf64_x86_64_info_to_howto): Adjust bounding relocation type.
1180 (elf64_x86_64_check_relocs): Also handle R_X86_64_PC64,
1181 R_X86_64_GOTOFF64, and R_X86_64_GOTPC32.
1182 (elf64_x86_64_relocate_section): Likewise.
1183 (elf64_x86_64_gc_sweep_hook): Also handle R_X86_64_PC64.
1184
b820f1e4
MK
11852005-06-15 Mark Kettenis <[email protected]>
1186
1187 * archive.c: Include "libiberty.h".
1188
46767561
NC
11892005-06-15 Nick Clifton <[email protected]>
1190
1191 * elf32-v850.c (ELF_MACHINE_ALT2): Define so that binaries
1192 produced by the GreenHills toolchain can be assimilated.
1193
580a09db
DA
11942005-06-14 Steve Ellcey <[email protected]>
1195
1196 * som.c (som_find_inliner_info): New.
1197
91134c82
L
11982005-06-14 H.J. Lu <[email protected]>
1199
1200 * elflink.c (_bfd_elf_merge_symbol): Fix a typo in comment.
1201
933d961a
JJ
12022005-06-14 Jakub Jelinek <[email protected]>
1203
1204 * elf.c (bfd_section_from_shdr): Fail if name is NULL.
1205 Prevent endless recursion on broken objects.
1206
1207 * archive.c (do_slurp_coff_armap): Check for overflows.
1208
9a44bbd9
DJ
12092005-06-10 Daniel Jacobowitz <[email protected]>
1210
1211 * elfcode.h (elf_write_relocs): Do nothing if there are no
1212 relocations.
1213
75758e9d
AM
12142005-06-10 Alan Modra <[email protected]>
1215
1216 * dwarf2.c (decode_line_info): Revert last change. Instead set
1217 initial low_pc to -1 to avoid need to test whether loc_pc has
1218 been set.
1219
2ae0844c
CF
12202005-06-09 Christopher Faylor <[email protected]>
1221
1222 * coffcode.h (sec_to_styp_flags): Set appropriate section flags when
1223 either SEC_ALLOC OR SEC_LOAD.
1224
3b137b9a
CF
12252005-06-09 Christopher Faylor <[email protected]>
1226
1227 * coffcode.h (sec_to_styp_flags): Remove read/write flags from noload
1228 section header. Do not add STYP_NOLOAD since it does not appear to be
1229 a valid PE flag.
1230
6bd00c5d
L
12312005-06-09 H.J. Lu <[email protected]>
1232
1233 PR 1000
1234 * dwarf2.c (lookup_address_in_line_info_table): Restore code
1235 handling NULL function info, removed with 2005-04-03 change.
1236
a366f4ff
MM
12372005-06-08 Mark Mitchell <[email protected]>
1238
1239 * opncls.c (bfd_fopen): Mark returned BFD as cacheable if FD == -1.
1240
0e58fcf3
AM
12412005-06-09 Alan Modra <[email protected]>
1242
1243 * elflink.c (elf_mark_used_section): Delete.
1244 (bfd_elf_gc_sections): Call bfd_generic_gc_sections.
1245 * reloc.c (bfd_mark_used_section): New function.
1246 (bfd_generic_gc_sections): Call bfd_mark_used_section.
1247
92a7c1b8
AM
12482005-06-08 Alan Modra <[email protected]>
1249
1250 * opncls.c (bfd_fopen): Don't set bfd_error unconditionally.
d83747fa 1251 (bfd_fdopenr): Same.
92a7c1b8 1252
dfab97d6
MM
12532005-06-07 Mark Mitchell <[email protected]>
1254
1255 * opncls.c (bfd_fdopenr): Add missing break statements.
1256
2d0123b7
MM
12572005-06-07 Mark Mitchell <[email protected]>
1258
1259 * opncls.c (bfd_fopen): New API.
1260 (bfd_openr): Use it.
1261 (bfd_fdopenr): Likewise.
1262 * bfd-in2.h: Regenerated.
1263
de33e640
AH
12642005-06-07 Aldy Hernandez <[email protected]>
1265 Michael Snyder <[email protected]>
1266 Stan Cox <[email protected]>
1267
1268 * Makefile.am (ALL_MACHINES): Add ms1 support.
1269 (ALL_MACHINES_CFILES): Same.
1270 (BFD32_BACKENDS): Same.
1271 (BFD32_BACKENDS_CFILES): Same.
1272
1273 * Makefile.in: Regenerate.
1274
1275 * archures.c (bfd_architecture): Add ms1 entries.
1276 Externalize bfd_ms1_arch.
1277 (bfd_archures_list): Add bfd_ms1_arch.
1278
1279 * bfd-in2.h: Regenerate.
1280
1281 * cpu-ms1.c: New file.
1282
1283 * elf32-ms1.c: New file.
1284
1285 * targets.c: Define extern of bfd_elf32_ms1_vec.
1286 Add bfd_elf32_ms1_vec to _bfd_target_vector.
1287
1288 * configure.in: Add bfd_elf32_ms1_vec case.
1289
1290 * configure: Regenerate.
1291
1292 * config.bfd: Add ms1-*-elf to table.
1293
55cf6793
ZW
12942005-06-07 Zack Weinberg <[email protected]>
1295
1296 * coff-i386.c: Change md_apply_fix3 to md_apply_fix in comment.
1297
4575b1b5
AM
12982005-06-07 Alan Modra <[email protected]>
1299
1300 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Init _bfd_find_line.
1301 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
1302
5420f73d
L
13032005-06-06 H.J. Lu <[email protected]>
1304
1305 PR 990
1306 * bfd.c (bfd_find_line): New.
1307
1308 * dwarf2.c (comp_unit): Add variable_table.
1309 (funcinfo): Add file, line, and sec.
1310 (varinfo): New.
1311 (lookup_symbol_in_function_table): New.
1312 (lookup_symbol_in_variable_table): New.
1313 (scan_unit_for_functions): Renamed to ...
1314 (scan_unit_for_symbols): This. Handle DW_TAG_entry_point and
1315 DW_TAG_variable.
1316 (comp_unit_find_nearest_line): Updated.
1317 (comp_unit_find_line): New.
1318 (_bfd_dwarf2_find_line): New.
1319
1320 * elf-bfd.h (_bfd_elf_find_line): New.
1321 (_bfd_generic_find_line): New. Defined.
1322
1323 * elf.c (_bfd_elf_find_line): New.
1324
1325 * libbfd-in.h (_bfd_dwarf2_find_line): New.
1326 (_bfd_generic_find_line): New.
1327
1328 * bfd-in2.h: Regenerated.
1329 * libbfd.h: Likewise.
1330
1331 * libbfd.c (_bfd_generic_find_line): New.
1332
1333 * targets.c (BFD_JUMP_TABLE_SYMBOLS): Initialize _bfd_find_line
1334 with _bfd_generic_find_line.
1335 (bfd_target): Add _bfd_find_line.
1336
b42f9a05
L
13372005-06-06 H.J. Lu <[email protected]>
1338
1339 * dwarf2.c (decode_line_info): Properly set low_pc.
1340
b4f4e59f
AM
13412005-06-06 Alan Modra <[email protected]>
1342
1343 * elf64-pcc.c (ppc64_elf_gc_mark_hook): For the local sym in .opd
1344 case, include addend when indexing .opd section map.
1345 (ppc64_elf_edit_opd): Add no_opd_opt param. Do nothing besides
1346 clear opd_adjust array if no_opd_opt set. Tidy code.
46de2a7c
AM
1347 Ignore zero size .opd. Check bfd_alloc return value.
1348 (ppc_stub_name): Return immediately on bfd_malloc fail.
b4f4e59f
AM
1349 * elf64-ppc.h (ppc64_elf_edit_opd): Update prototype.
1350
2ae727ad
L
13512005-06-04 H.J. Lu <[email protected]>
1352
1353 * dwarf2.c (comp_unit): Fix a typo in comment.
1354
ce71b576
NC
13552005-06-03 Jan-Benedict Glaw <[email protected]>
1356
1357 * elf32-vax.c (rtype_to_howto): Remove PARAMS.
1358 (reloc_type_lookup): Dito.
1359 (elf_vax_discard_copies): Dito.
1360 (elf_vax_instantiate_got_entries): Dito.
1361 (elf_vax_link_hash_traverse): Dito.
1362 (elf_vax_link_hash_newfunc): Dito.
1363 (elf_vax_link_hash_table_create): Dito.
1364 (elf32_vax_set_private_flags): Dito.
1365 (elf32_vax_merge_private_bfd_data): Dito.
1366 (elf32_vax_print_private_bfd_data): Dito.
1367 (elf_vax_check_relocs): Dito.
1368 (elf_vax_gc_mark_hook): Dito.
1369 (elf_vax_gc_sweep_hook): Dito.
1370 (elf_vax_size_dynamic_sections): Dito.
1371 (elf_vax_discard_copies): Dito.
1372 (elf_vax_instantiate_got_entries): Dito.
1373 (elf_vax_relocate_section): Dito.
1374 (elf_vax_finish_dynamic_symbol): Dito.
1375 (elf_vax_finish_dynamic_sections): Dito.
1376 (elf_vax_hash_table): Break-up of line isn't needed.
1377 (elf_vax_check_relocs): Remove leading whitespace
1378 (elf_vax_relocate_section): Remove redundant whitespace
1379 (elf_vax_link_hash_newfunc): Don't cast NULL.
1380 (elf_vax_link_hash_table_create): Dito.
1381 * cpu-vax.c (bfd_vax_arch) Remove a trailing space.
1382
9635fe29
AM
13832005-06-03 Alan Modra <[email protected]>
1384
e1fffbe6
AM
1385 PR 568
1386 * configure.in: Bump version
1387 * configure: Regenerate.
1388 * elflink.c (elf_link_input_bfd): Use einfo linker callback to print
1389 discarded section sym refs and kill linker output.
1390 * simple.c (simple_dummy_einfo): New function.
1391 (bfd_simple_get_relocated_section_contents): Init callbacks.einfo.
1392
9635fe29
AM
1393 * elf32-i386.c (elf_i386_relocate_section): Handle zero symndx
1394 for all reloc types.
1395
e87d886e
AM
13962005-06-02 Alan Modra <[email protected]>
1397
1398 * elf64-ppc.c (add_symbol_adjust): Set sym visibility to most
1399 restrictive of func code and func descr for undefined syms as well
1400 as defined.
1401
b2b09913
JB
14022005-05-31 Jim Blandy <[email protected]>
1403
1404 * Makefile.am: Regenerate dependencies with 'make dep-am'.
1405 * Makefile.in: Regenerate.
1406
8288a39e
RH
14072005-05-31 Richard Henderson <[email protected]>
1408
1409 * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_JSRDIRECT): New.
1410 (ALPHA_ELF_LINK_HASH_TLS_IE): Renumber to 0x80.
1411 (ALPHA_ELF_LINK_HASH_LU_PLT): Rename from ALPHA_ELF_LINK_HASH_LU_FUNC.
1412 (elf64_alpha_want_plt): Update to match.
1413 (elf64_alpha_check_relocs): Collect JSRDIRECT in gotent_flags.
1414 (elf64_alpha_relax_with_lituse): Likewise. Handle JSRDIRECT.
1415
f1c71a59
ZW
14162005-05-31 Zack Weinberg <[email protected]>
1417
1418 * elf32-arm.c (elf32_arm_reloc_type_lookup)
1419 (elf32_arm_nabi_grok_prstatus, elf32_arm_nabi_grok_psinfo):
1420 Use ISO C90 function declaration style.
1421
653bb2de
JW
14222005-05-31 James E Wilson <[email protected]>
1423
1424 * elfcode.h (NAME(bfd_elf,bfd_from_remote_memory)): Check for program
1425 header PF_R flag on PT_LOAD segments.
1426
f915360b
RH
14272005-05-30 Richard Henderson <[email protected]>
1428
1429 * elf64-alpha.c (elf64_alpha_relocate_section): Use dtp_base for
1430 the zero index relocs produced by elf64_alpha_relax_tls_get_addr.
1431
6ec7057a
RH
14322005-05-29 Richard Henderson <[email protected]>
1433
1434 * configure.in (--enable-secureplt): New.
1435 * elf64-alpha.c (INSN_LDA, INSN_LDAH, INSN_LDQ, INSN_BR): New.
1436 (INSN_SUBQ, INSN_S4SUBQ, INSN_JMP): New.
1437 (INSN_A, INSN_AB, INSN_ABC, INSN_ABO, INSN_AD): New.
1438 (elf64_alpha_use_secureplt): New.
1439 (OLD_PLT_HEADER_SIZE, OLD_PLT_ENTRY_SIZE): New.
1440 (NEW_PLT_HEADER_SIZE, NEW_PLT_ENTRY_SIZE): New.
1441 (PLT_HEADER_SIZE, PLT_ENTRY_SIZE): Conditionalize on secureplt.
1442 (ALPHA_ELF_LINK_HASH_PLT_LOC): Remove.
1443 (struct alpha_elf_link_hash_entry): Add plt_offset.
1444 (PLT_HEADER_WORD1, PLT_HEADER_WORD2, PLT_HEADER_WORD3): Remove.
1445 (PLT_HEADER_WORD4, PLT_ENTRY_WORD1, PLT_ENTRY_WORD2): Remove.
1446 (PLT_ENTRY_WORD3): Remove.
1447 (elf64_alpha_create_dynamic_sections): If secureplt, set SEC_READONLY
1448 on .plt and create .got.plt.
1449 (elf64_alpha_output_extsym): Remove .plt frobbing for symbol values.
1450 (get_got_entry): Initialize plt_offset.
1451 (elf64_alpha_want_plt): New.
1452 (elf64_alpha_check_relocs): Use it.
1453 (elf64_alpha_adjust_dynamic_symbol): Likewise. Don't allocate
1454 plt entries here.
1455 (elf64_alpha_calc_got_offsets_for_symbol): Don't report internal
1456 error as user error.
1457 (elf64_alpha_size_plt_section_1): Allocate one plt entry per
1458 got subsection.
1459 (elf64_alpha_size_plt_section): Size .got.plt section.
1460 (elf64_alpha_size_rela_got_1): Don't allocate relocations if
1461 plt entries used.
1462 (elf64_alpha_size_dynamic_sections): Call elf64_alpha_size_plt_section.
1463 Add PLTRO DYNAMIC entry.
1464 (elf64_alpha_finish_dynamic_symbol): Generate secureplt format.
1465 (elf64_alpha_finish_dynamic_sections): Likewise.
1466
3133ddbf
DJ
14672005-05-28 David Daney <[email protected]>
1468
1469 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Move
1470 calculation of DT_RELSZ to occur after all dynamic relocations
1471 are created.
1472
36527912
AJ
14732005-05-28 Eli Zaretskii <[email protected]>
1474
1475 * configure.in: Add snprintf and vsnprintf to AC_CHECK_DECLS.
1476 * config.in, configure: Regenerate.
1477
1bc8074d 14782005-05-26 Mark Kettenis <[email protected]>
6ec7057a 1479 Maciej W. Rozycki <[email protected]>
1bc8074d
MR
1480
1481 * elfxx-mips.c (_bfd_mips_elf_section_processing): Warn and
1482 stop processing of options if one of invalid size is
1483 encountered.
1484 (_bfd_mips_elf_section_from_shdr): Likewise.
1485 (_bfd_mips_elf_fake_sections): Reset the type of empty special
1486 sections.
1487
75fed80d
RH
14882005-05-26 Richard Henderson <[email protected]>
1489
36527912 1490 * elf64-alpha.c (struct alpha_elf_link_hash_entry): Remove
75fed80d
RH
1491 plt_old_section, plt_old_value.
1492 (elf64_alpha_adjust_dynamic_symbol): Don't set it.
1493 (elf64_alpha_size_plt_section_1): Don't use it.
1494
24639c7d
JJ
14952005-05-26 Jakub Jelinek <[email protected]>
1496
1497 * elfcode.h (elf_object_p): Fail if e_shoff != 0, e_shnum == 0 and
1498 first shdr has sh_size == 0. Fail if e_shnum is large to cause
1499 arithmetic overflow when allocating the i_shdr array.
1500 Sanity check sh_link and sh_info fields. Fix e_shstrndx sanity check.
1501
a7519a3c
RH
15022005-05-25 Richard Henderson <[email protected]>
1503
1504 * elf64-alpha.c: Update all function definitions to ISO C. Remove
1505 all function prototypes; rearrange functions into def-use order.
1506
308da68f
RH
15072005-05-25 Richard Henderson <[email protected]>
1508
1509 * elf64-alpha.c (elf64_alpha_merge_gots): Fix gotent iteration
1510 in the presence of deleting elements.
1511 (elf64_alpha_size_got_sections): Zero dead got section size.
1512
4ab527b0
FF
15132005-05-23 Fred Fish <[email protected]>
1514
1515 * dwarf2.c (struct dwarf2_debug): Add inliner_chain member.
1516 (struct funcinfo): Add caller_func, caller_file, caller_line.
1517 tag, and nesting_level members.
1518 (lookup_address_in_function_table): Change first passed parameter
1519 from "struct funcinfo *" to "struct comp_unit *".
1520 (lookup_address_in_function_table): Dereference unit to find function
1521 table.
1522 (lookup_address_in_function_table): Traverse the function list to
1523 create a chain of inlined functions back to the first non inlined
1524 function.
1525 (scan_unit_for_functions): Remember tag and nesting level. Handle
1526 DW_AT_call_file and DW_AT_call_line.
1527 (comp_unit_find_nearest_line): Adjust lookup_address_in_function_table
1528 call to pass unit pointer instead of function table pointer. For
1529 inlined functions, save pointer to the inliner chain.
1530 (_bfd_dwarf2_find_nearest_line): Initialize inliner_chain to NULL.
1531 (_bfd_dwarf2_find_inliner_info): New function that returns information
1532 from the inliner chain after a call to bfd_find_nearest_line.
1533
1534 * bfd.c (bfd_find_inliner_info): Define using BFD_SEND.
1535 * targets.c (BFD_JUMP_TABLE_SYMBOLS): Add entry for
1536 NAME##_find_inliner_info.
1537 (bfd_target): Add _bfd_find_inliner_info.
1538 * bfd-in2.h: Regenerate.
1539
1540 * libbfd-in.h (_bfd_nosymbols_find_inliner_info): Define as
1541 macro that always returns bfd_false.
1542 (_bfd_dwarf2_find_inliner_info): Declare.
1543 * libbfd.h: Regenerate.
36527912 1544
4ab527b0
FF
1545 * elf32-arm.c (elf32_arm_find_inliner_info): New function
1546 that calls _bfd_dwarf2_find_inliner_info.
1547 (bfd_elf32_find_inliner_info): Define to elf32_arm_find_inliner_info.
1548
1549 * elfxx-mips.c (_bfd_mips_elf_find_inliner_info): New function
1550 that calls _bfd_dwarf2_find_inliner_info.
1551 * elfxx-mips.h (_bfd_mips_elf_find_inliner_info): Declare.
1552 * elfn32-mips.c (bfd_elf32_find_inliner_info): Define to
1553 _bfd_mips_elf_find_inliner_info.
1554 * elf64-mips.c (bfd_elf64_find_inliner_info): Ditto.
1555 * elf32-mips.c (bfd_elf32_find_inliner_info): Ditto.
1556
1557 * elf.c (_bfd_elf_find_inliner_info): New function that calls
1558 _bfd_dwarf2_find_inliner_info.
1559 * elf-bfd.h (_bfd_elf_find_inliner_info): Declare.
1560 * elfxx-target.h (bfd_elfNN_find_inliner_info): Define to
1561 _bfd_elf_find_inliner_info.
1562
1563 * coffgen.c (coff_find_inliner_info): New function that
1564 calls _bfd_dwarf2_find_inliner_info.
1565 * libcoff-in.h (coff_find_inliner_info): Declare.
1566 * libcoff.h: Regenerate.
1567 * coff-rs6000.c (rs6000coff_vec): Add coff_find_inliner_info.
1568 (pmac_xcoff_vec) Ditto.
1569 * coff64-rs6000.c (rs6000coff64_vec): Ditto.
1570 (aix5coff64_vec): Ditto.
36527912 1571
4ab527b0
FF
1572 * aout-target.h (MY_find_inliner_info): Define as
1573 _bfd_nosymbols_find_inliner_info.
1574 * aout-tic30.c (MY_find_inliner_info): Ditto.
1575 * binary.c (binary_find_inliner_info): Ditto.
1576 * i386msdos.c (msdos_find_inliner_info): Ditto.
1577 * ihex.c (ihex_find_inliner_info): Ditto.
1578 * libaout.h (aout_32_find_inliner_info): Ditto.
1579 * libecoff.h (_bfd_ecoff_find_inliner_info): Ditto.
1580 * mach-o.c (bfd_mach_o_find_inliner_info): Ditto.
1581 * mmo.c (mmo_find_inliner_info): Ditto.
1582 * nlm-target.h (nlm_find_inliner_info): Ditto.
1583 * pef.c (bfd_pef_find_inliner_info): Ditto.
1584 * ppcboot.c (ppcboot_find_inliner_info): Ditto.
1585 * srec.c (srec_find_inliner_info): Ditto.
1586 * tekhex.c (tekhex_find_inliner_info): Ditto.
1587 * versados.c (versados_find_inliner_info): Ditto.
1588 * xsym.c (bfd_sym_find_inliner_info): Ditto.
1589
1590 * ieee.c (ieee_find_inliner_info): New function that always
1591 returns FALSE.
1592 * oasys.c (oasys_find_inliner_info): Ditto.
1593 * vms.c (vms_find_inliner_info): Ditto.
1594
9edfd1af
AM
15952005-05-24 Alan Modra <[email protected]>
1596
1597 * elf32-ppc.c (ppc_elf_check_relocs): For old gcc -fPIC code
1598 force old plt layout.
1599
3241278a
RH
16002005-05-22 Richard Henderson <[email protected]>
1601
1602 * elf64-alpha.c (elf64_alpha_relax_section): Ignore non-allocated
1603 sections.
1604 (elf64_alpha_check_relocs): Likewise.
1605 (elf64_alpha_relocate_section): Don't emit dynamic relocations to
1606 non-allocated sections.
1607
d6ad34f6
RH
16082005-05-22 Richard Henderson <[email protected]>
1609
36527912 1610 * elf64-alpha.c (elf64_alpha_relax_with_lituse): Relax jsr to
d6ad34f6
RH
1611 undefweak to use zero register. Call elf64_alpha_relax_got_load
1612 if not all uses removed.
1613 (elf64_alpha_relax_got_load): Relax undefweak to lda zero.
1614 (elf64_alpha_relax_section): Handle undefweak symbols.
1615 (elf64_alpha_calc_dynrel_sizes): Don't add relocs for undefweak.
1616 (elf64_alpha_size_rela_got_1): Likewise.
1617 (elf64_alpha_relocate_section): Likewise.
1618
487c4353
RH
16192005-05-22 Richard Henderson <[email protected]>
1620
1621 * elf64-alpha.c (elf64_alpha_relax_section): Only operate
1622 on SEC_CODE sections.
1623
a96afa0f
DA
16242005-05-22 John David Anglin <[email protected]>
1625
1626 * som.c (try_prev_fixup): Changed type of subspace_reloc_sizep to
1627 unsigned int *.
1628 (som_write_space_strings): Change type of tmp_space and p to char *.
1629 (som_write_symbol_strings): Likewise. Also change type of comp to
1630 char *comp[4].
1631 (som_begin_writing): Change type of strings_size to unsigned int.
1632 (som_finish_writing): Likewise.
1633 (som_slurp_reloc_table): Change type of external_relocs to unsigned
1634 char *.
1635 * som.h (struct som_section_data_struct): Change type of reloc_stream
1636 field to unsigned char *.
1637
643796e3
DJ
16382005-05-20 Daniel Jacobowitz <[email protected]>
1639
1640 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't eliminate
1641 copy relocations for VxWorks.
1642
4dc4a9a5
DJ
16432005-05-20 Daniel Jacobowitz <[email protected]>
1644
1645 * bfd/elf32-ppc.c (struct ppc_elf_link_hash_entry): Add new field
1646 has_sda_refs.
1647 (ppc_elf_copy_indirect_symbol): Copy has_sda_refs.
1648 (ppc_elf_check_relocs): Set has_sda_refs.
1649 (ppc_elf_adjust_dynamic_symbol): Check has_sda_refs before eliminating
1650 copy relocations. Use has_sda_refs to place variables in .sbss.
1651 (ppc_elf_finish_dynamic_symbol): Use has_sda_refs to place variables in
1652 .sbss.
1653
dd1a320b
BW
16542005-05-20 Bob Wilson <[email protected]>
1655
1656 * elf32-xtensa.c (bfd_elf_xtensa_reloc): Make sure that
1657 xtensa_default_isa is initialized.
1658
28e99bb6
AM
16592005-05-20 Alan Modra <[email protected]>
1660
1661 * elf32-ppc.c (allocate_dynrelocs): Correct plt offset assigned
1662 for second and subsequent list entries. Only allocate multiple
1663 glink stubs when shared or pie.
1664 (ppc_elf_finish_dynamic_symbol): Break out early when only one
1665 glink stub is needed.
1666
e3e71e27
ZW
16672005-05-19 Zack Weinberg <[email protected]>
1668
1669 * Makefile.am: Have 'all' depend on 'info'.
1670 * Makefile.in: Regenerate.
1671
a6aa5195
AM
16722005-05-19 Alan Modra <[email protected]>
1673
1674 * elf-bfd.h (struct elf_link_hash_table): Delete init_refcount and
1675 init_offset. Add init_got_refcount, init_plt_refcount,
1676 init_got_offset and init_plt_offset.
1677 * elf.c (_bfd_elf_link_hash_newfunc): Adjust for above change.
1678 (_bfd_elf_link_hash_hide_symbol): Likewise.
1679 (_bfd_elf_link_hash_table_init): Likewise.
1680 * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
1681 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
1682 * elflink.c (_bfd_elf_adjust_dynamic_symbol): Likewise.
1683 (bfd_elf_size_dynamic_sections): Likewise.
1684 * elf32-ppc.c (GLINK_PLTRESOLVE): Now 16 insns.
1685 (LWZU_0_X_12, LWZ_0_4_30, LWZ_0_X_12, LWZ_11_X_11, LWZ_11_X_30,
1686 LWZ_12_4_12, LWZ_12_8_30, LWZ_12_X_12, SUB_11_11_30): Delete.
1687 (ADDIS_12_12, BCL_20_31, LWZU_0_12, LWZ_0_12, LWZ_11_11, LWZ_11_30,
1688 LWZ_12_12, MFLR_0, MFLR_12, MTLR_0, SUB_11_11_12): Define.
1689 (struct plt_entry): New.
1690 (ppc_elf_link_hash_table_create): Set new init_plt fields.
1691 (ppc_elf_copy_indirect_symbol): Handle merge of plt plist. Don't
1692 use _bfd_elf_link_hash_copy_indirect.
1693 (update_plt_info, find_plt_ent): New functions.
1694 (ppc_elf_check_relocs): Handle R_PPC_PLTREL24 with non-zero addend
1695 and adjust for use of plt list rather than refcount.
1696 (ppc_elf_gc_sweep_hook): Likewise.
1697 (ppc_elf_tls_optimize): Likewise.
1698 (ppc_elf_adjust_dynamic_symbol): Likewise.
1699 (allocate_dynrelocs): Likewise.
1700 (ppc_elf_relax_section): Likewise.
1701 (ppc_elf_relocate_section): Likewise. Adjust R_PPC_PLTREL24 addends
1702 when performing a relocatable link.
1703 (ppc_elf_finish_dynamic_symbol): Likewise. Write .glink stubs here..
1704 (ppc_elf_finish_dynamic_sections): ..rather than here. Use new
1705 pic resolver stub.
1706
a49e53ed
AM
17072005-05-19 Alan Modra <[email protected]>
1708
1709 * elf.c (assign_file_positions_for_segments): Use maximum of
1710 maxpagesize and section alignment when adjusting initial
1711 segment offset and section offsets.
1712
cb1afa5c
ZW
17132005-05-18 Zack Weinberg <[email protected]>
1714
1715 * elf32-arm.c: Make all #ifndef OLD_ARM_ABI blocks
1716 unconditional.
1717
13792e9d
L
17182005-05-18 H.J. Lu <[email protected]>
1719
1720 * elf.c (group_signature): Undo the last change. Check if the
1721 symbol table section is correct.
1722
c19d1205
ZW
17232005-05-17 Zack Weinberg <[email protected]>
1724
1725 * elf32-arm.c: Wherever possible, use official reloc names
1726 from AAELF.
1727 (elf32_arm_howto_table, elf32_arm_tls_gd32_howto)
1728 (elf32_arm_tls_ldo32_howto, elf32_arm_tls_ldm32_howto)
1729 (elf32_arm_tls_le32_howto, elf32_arm_tls_ie32_howto)
1730 (elf32_arm_vtinherit_howto, elf32_arm_vtentry_howto)
1731 (elf32_arm_pc11_howto, elf32_arm_thm_pc9_howto, elf32_arm_got_prel)
1732 (elf32_arm_r_howto): Replace with elf32_arm_howto_table_1,
1733 elf32_arm_howto_table_2, and elf32_arm_howto_table_3.
1734 Add many new relocations from AAELF.
1735 (elf32_arm_howto_from_type): Update to match.
1736 (elf32_arm_reloc_map): Add entries for R_ARM_THM_JUMP24,
1737 R_ARM_THM_JUMP11, R_ARM_THM_JUMP19, R_ARM_THM_JUMP8,
1738 R_ARM_THM_JUMP6, R_ARM_GNU_VTINHERIT, and R_ARM_GNU_VTENTRY.
1739 (elf32_arm_reloc_type_lookup): Use elf32_arm_howto_from_type.
1740 (elf32_arm_final_link_relocate): Add support for
1741 R_ARM_THM_JUMP24, R_ARM_THM_JUMP19, R_ARM_THM_JUMP6. Remove
1742 case entries redundant with default.
1743
1744 * reloc.c: Reorganize ARM relocations. Add Thumb
1745 assembler-internal relocations BFD_RELOC_ARM_T32_OFFSET_U8,
1746 BFD_RELOC_ARM_T32_OFFSET_IMM, BFD_RELOC_ARM_T32_IMMEDIATE.
1747 Add visible relocations BFD_RELOC_THUMB_PCREL_BRANCH7,
1748 BFD_RELOC_THUMB_BRANCH20, BFD_RELOC_THUMB_BRANCH25.
1749 Delete unused relocations BFD_RELOC_ARM_GOT12, BFD_RELOC_ARM_COPY.
1750 * bfd-in2.h, libbfd.h: Regenerate.
1751
26ae6d5e
DJ
17522005-05-17 Daniel Jacobowitz <[email protected]>
1753
1754 * elf.c (_bfd_elf_write_object_contents): Check for non-NULL
1755 elf_shstrtab.
1756 * format.c (bfd_check_format_matches): Set output_has_begun
1757 for both_direction.
1758 * section.c (bfd_set_section_contents): Use bfd_write_p. Remove
1759 special case for both_direction.
1760
5982e3c7
NC
17612005-05-17 Nick Clifton <[email protected]>
1762
1763 * elf.c (group_signature): Check for a group section which is
1764 actually a (corrupt) symbol table section in disguise and prevent
1765 an infinite loop from occurring.
1766
fc3ab699
L
17672005-05-17 H.J. Lu <[email protected]>
1768
1769 * elfxx-ia64.c (elfNN_ia64_relax_brl): Undo the change made on
1770 2005-02-16.
1771
5e27d427
L
17722005-05-17 H.J. Lu <[email protected]>
1773
1774 * elfxx-ia64.c (elfNN_ia64_relax_br): Keep the original
1775 predicate on slot 0 only if slot 0 isn't br.
1776
75ff4589
L
17772005-05-17 H.J. Lu <[email protected]>
1778
1779 PR 797
1780 * elf32-i386.c (elf_i386_size_dynamic_sections): Also remove
1781 empty sdynbss section.
1782 * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Likewise.
1783
8e0ed13f
NC
17842005-05-17 Tavis Ormandy <[email protected]>
1785
1786 * elf.c (bfd_section_from_shdr): Add sanity check when parsing
1787 dynamic sections.
1788
7e8aeb9a
AM
17892005-05-17 Alan Modra <[email protected]>
1790
1791 * elf32-ppc.c (LIS_11. LIS_12): Define.
1792 (LWZU_0_X_12, LWZ_0_X_12, LWZ_12_4_12, LWZ_12_X_12): Define.
1793 (ppc_elf_finish_dynamic_sections): Provide non-pic plt call stub
1794 for --data-plt when building non-pie executables.
1795
641bd093
NC
17962005-05-17 Nick Clifton <[email protected]>
1797
10dbd1f3
NC
1798 * elf32-arm.c (elf32_arm_final_link_relocate): Gracefully handle
1799 the situation where a symbols's section is not known but a section
1800 relative R_ARM_RELATIVE reloc has to be generated for the Symbian
1801 OS.
1802
641bd093
NC
1803 * elf32-v850.c (v850_elf_relocate_section): Move code to test for
1804 the presence of a symbol table to just before the symbol table is
1805 actually used.
1806
83b6bd86
L
18072005-05-16 H.J. Lu <[email protected]>
1808
1809 PR 834
1810 * elfxx-ia64.c (elfNN_ia64_relax_br): New.
1811 (elfNN_ia64_relax_section): Use it.
1812
06084812
MK
18132005-05-14 Mark Kettenis <[email protected]>
1814
1815 * elflink.c (bfd_elf_size_dynamic_sections): Use lbasename instead
1816 of basename.
1817
1fe44d79
AM
18182005-05-14 Alan Modra <[email protected]>
1819
1820 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Set DT_PPC_GOT,
1821 not DT_PPC_GLINK.
1822 (ppc_elf_finish_dynamic_sections): Likewise.
1823
2db3311b
FF
18242005-05-13 Fred Fish <[email protected]>
1825
1826 * libbfd-in.h: Fix a comment typo, 'neaderst' -> 'nearest'
1827 * libbfd.h: Rebuilt.
1828
7db48a12
BW
18292005-05-13 Bob Wilson <[email protected]>
1830
1831 * elf32-xtensa.c (xtensa_get_property_section_name): Add missing
1832 periods in linkonce_kind values.
1833
8fe76924
L
18342005-05-12 H.J. Lu <[email protected]>
1835
1836 * elf32-i386.c (elf_i386_relocate_section): Allow R_386_GOTOFF
1837 against protected function when building executable.
1838
86b9da88
AM
18392005-05-12 Alan Modra <[email protected]>
1840
1841 * elf32-ppc.c (LWZU_0_X_11): Delete.
1842 (B, LWZ_11_X_11, LWZ_11_X_30, MTCTR_11): Define.
1843 (ppc_elf_select_plt_layout): Set .got flags too. Formatting.
1844 (ppc_elf_size_dynamic_sections): Allocate space for .glink branch
1845 table.
1846 (ppc_elf_finish_dynamic_symbol): Point .plt entries into the branch
1847 table.
1848 (ppc_elf_finish_dynamic_sections): Adjust DT_PPC_GLINK value.
1849 Generate .glink branch table and updated stubs.
1850
d7128ce4
AM
18512005-05-11 Alan Modra <[email protected]>
1852
1853 * reloc.c (BFD_RELOC_HI16_PCREL): Define.
1854 (BFD_RELOC_HI16_S_PCREL, BFD_RELOC_LO16_PCREL): Define.
1855 * elf32-ppc.c (GLINK_PLTRESOLVE, GLINK_ENTRY_SIZE): Define.
1856 (CROR_151515, CROR_313131): Delete.
1857 (ADDIS_11_11, ADDI_11_11, SUB_11_11_30, ADD_0_11_11, ADD_11_0_11,
1858 LWZ_0_4_30, MTCTR_0, LWZ_12_8_30, BCTR, ADDIS_11_30,
1859 LWZU_0_X_11): Define.
1860 (ppc_elf_howto_raw): Add R_PPC_REL16, R_PPC_REL16_LO, R_PPC_REL16_HI
1861 and R_PPC_REL16_HA entries.
1862 (ppc_elf_reloc_type_lookup): Convert new bfd reloc types.
1863 (ppc_elf_addr16_ha_reloc): Also handle R_PPC_REL16_HA.
1864 (struct ppc_elf_link_hash_table): Add glink, glink_pltresolve,
1865 new_plt, and old_plt.
1866 (ppc_elf_create_dynamic_sections): Create .glink section.
1867 (ppc_elf_check_relocs): Set new_plt and old_plt.
1868 (ppc_elf_select_plt_layout): New function.
1869 (ppc_elf_tls_setup): Set plt output section elf type and flags.
1870 (allocate_got): Handle differences between old and new got layout.
1871 (allocate_dynrelocs): Likewise for plt.
1872 (ppc_elf_size_dynamic_sections): Likewise. Allocate memory for
1873 .glink. Don't allocate memory for old bss .plt. Emit DT_PPC_GLINK.
1874 (ppc_elf_relax_section): Rename ppc_info to htab. Handle .glink
1875 destination of R_PPC_PLTREL24 relocs.
1876 (ppc_elf_relocate_section): Handle new relocs and changed destination
1877 of R_PPC_PLTREL24.
1878 (ppc_elf_finish_dynamic_symbol): Init new style plt and handle
1879 differences in layout.
1880 (ppc_elf_finish_dynamic_sections): Set DT_PPC_GLINK value. Don't
1881 put a blrl in new got. Write glink contents.
1882 * elf32-ppc.h (ppc_elf_select_plt_layout): Declare.
1883 * libbfd.h: Regenerate.
1884 * bfd-in2.h: Regenerate.
1885
4c9b0de6
AS
18862005-05-11 Andreas Schwab <[email protected]>
1887
1888 * elf32-i386.c (elf_i386_finish_dynamic_sections): Fix signedness
1889 warning.
1890
3d2b39cf
L
18912005-05-10 H.J. Lu <[email protected]>
1892
1893 * elf.c (_bfd_elf_make_section_from_shdr): Only check debug
1894 section if SEC_ALLOC isn't set.
1895
2ba49b59
KC
18962005-05-09 Kelley Cook <[email protected]>
1897
1898 * configure.in: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF.
1899 * acinclude.m4: Don't sinclude accross.m4.
1900 * config.in, configure, Makefile.in, doc/Makefile.in: Regenerate.
1901
433817dd
AM
19022005-05-09 Alan Modra <[email protected]>
1903
1904 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_dotsym.
1905 (ppc64_elf_add_symbol_hook): Set has_dotsym.
1906 (ppc64_elf_check_directives): Only process syms when has_dotsym.
1907 (func_desc_adjust): Hide fake function descriptors when function
1908 code entry is defined.
1909 (adjust_opd_syms): Adjust for deleted_section becoming union field.
1910
0560d0f7
AM
19112005-05-09 Alan Modra <[email protected]>
1912
1913 * elfcode.h (elf_object_p): Add more sanity checks on elf header.
1914
74cc7600
DK
19152005-05-08 Dave Korn <[email protected]>
1916
1917 * coff-tic80.c: Undefine _CONST after system headers to prevent
1918 clash with tic80-specific definition in include/coff/tic80.h
1919
cfca085c
L
19202005-05-08 H.J. Lu <[email protected]>
1921
1922 PR 939
1923 * elflink.c (elf_link_output_extsym): Use output_bfd if
1924 h->root.u.def.section is bfd_abs_section_ptr when reporting
1925 error.
1926
7f4d3958
L
19272005-05-07 H.J. Lu <[email protected]>
1928
1929 * elf-bfd.h (elf_backend_data): Update special_sections to
1930 array of pointer to bfd_elf_special_section.
1931 * elf.c (special_sections): Likewise.
1932 * elf32-arm.c (elf32_arm_symbian_special_sections): Likewise.
1933 * elf32-m32r.c (m32r_elf_special_sections): Likewise.
1934 * elf32-m68hc11.c (elf32_m68hc11_special_sections): Likewise.
1935 * elf32-m68hc12.c (elf32_m68hc12_special_sections): Likewise.
1936 * elf32-mcore.c (mcore_elf_special_sections): Likewise.
1937 * elf32-ppc.c (ppc_elf_special_sections): Likewise.
1938 * elf32-sh64.c (sh64_elf_special_sections): Likewise.
1939 * elf32-v850.c (v850_elf_special_sections): Likewise.
1940 * elf32-xtensa.c (elf_xtensa_special_sections): Likewise.
1941 * elf64-alpha.c (elf64_alpha_special_sections): Likewise.
1942 * elf64-hppa.c (elf64_hppa_special_sections): Likewise.
1943 * elf64-ppc.c (ppc64_elf_special_sections): Likewise.
1944 * elf64-sh64.c (sh64_elf64_special_sections): Likewise.
1945 * elfxx-ia64.c (elfNN_ia64_special_sections): Likewise.
1946 * elfxx-mips.c (_bfd_mips_elf_special_sections): Likewise.
1947 * elfxx-mips.h (_bfd_mips_elf_special_sections): Likewise.
1948
1949 * elf.c (get_special_section): Updated.
1950
3b36f7e6
AM
19512005-05-07 Alan Modra <[email protected]>
1952
1953 * elf-bfd.h (struct elf_backend_data): Remove got_symbol_offset.
1954 * elfxx-target.h (elf_backend_got_symbol_offset): Delete.
1955 * elflink.c (_bfd_elf_create_got_section): Use zero in place of
1956 got_symbol_offset.
1957 * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Likewise.
1958 * elf32-frv.c (_frv_create_got_section): Likewise.
1959 * elf32-i370.c (i370_elf_finish_dynamic_sections): Delete ppc code.
1960 (elf_backend_got_symbol_offset): Don't define.
1961 * elf64-ppc.c (elf_backend_got_symbol_offset): Don't define.
1962 * elf32-ppc.c (struct ppc_elf_link_hash_table): Add got_header_size
1963 and got_gap.
1964 (ppc_elf_create_got): Tidy.
1965 (ppc_elf_create_dynamic_sections): Don't set SEC_IN_MEMORY for .plt.
1966 (ppc_elf_check_relocs): Reduce string comparisons by using elf.hgot.
1967 (ppc_elf_gc_sweep_hook): Likewise.
1968 (ppc_elf_relocate_section): Likewise.
1969 (ppc_elf_finish_dynamic_symbol): Likewise.
1970 (allocate_got): New function.
1971 (allocate_dynrelocs): Use allocate_got.
1972 (ppc_elf_size_dynamic_sections): Likewise. Delay tlsld_got allocation
1973 so that local got can refcount it. Set got_header_size.
1974 (ppc_elf_relocate_section): Use value of elf.hgot rather than hard-
1975 coded 4.
1976 (ppc_elf_finish_dynamic_sections): Likewise.
1977 (elf_backend_got_symbol_offset): Don't define.
1978 (elf_backend_got_header_size): Ditto.
1979
2e0fbf77
JW
19802005-05-05 Steve Ellcey <[email protected]>
1981
1982 * configure.in (ACX_HEADER_STRING): New.
1983 * configure: Regenerate.
1984 * config.in: Regenerate.
1985 * sysdep.h (STRING_WITH_STRINGS): Use.
1986
6f140a15
L
19872005-05-05 H.J. Lu <[email protected]>
1988
1989 * elf.c (_bfd_elf_close_and_cleanup): Only call
1990 _bfd_dwarf2_cleanup_debug_info on bfd_object.
1991
01d9ad14
L
19922005-05-05 H.J. Lu <[email protected]>
1993
1994 * elflink.c (_bfd_elf_provide_section_bound_symbols): Use
1995 "__bss_start" instead of "_edata" as fallback.
1996
b36b76cb
L
19972005-05-05 H.J. Lu <[email protected]>
1998
1999 * bfd-in2.h: Regenerated.
2000
eac338cf
PB
20012005-05-05 Paul Brook <[email protected]>
2002
2003 * config.bfd: Use bfd_elf32_i386_vxworks_vec for i?86-*-vxworks.
2004 * configure.in: Add bfd_elf32_i386_vxworks_vec. i386 targets need
2005 elf-vxworks.lo.
2006 * configure: Regenerate.
2007 * Makefile.am (BFD32_BACKENDS): Add elf-vxworks.lo.
2008 (BFD32_BACKENDS_CFILES): Add elf-vxworks.c.
2009 (elf32-i386.lo): Depend on elf-vxworks.h.
2010 (elf-vxworks.lo): New rule.
2011 * Makefile.in: Regenerate.
2012 * elf-bfd.h (elf_backend_data): Update type of
2013 elf_backend_emit_relocs.
2014 (_bfd_elf_link_output_relocs): Update prototype.
2015 * elflink.c (_bfd_elf_link_output_relocs): Always use
2016 bed->elf_backend_emit_relocs when outputting relocations.
2017 * elfxx-target.h (elf_backend_emit_relocs): Default to
2018 _bfd_elf_link_output_relocs.
2019 * targets.c (bfd_elf32_i386_vxworks_vec): Declare.
2020 (_bfd_target_vector): Add bfd_elf32_i386_vxworks_vec.
2021 * elf32-i386.c: Add elf32-i386-vxworks target BFD.
2022 (elf_i386_plt0_entry): Remove padding.
2023 (elf_i386_pic_plt0_entry): Ditto.
2024 (PLTRESOLVE_RELOCS_SHLIB, PLTRESOLVE_RELOCS): Define.
2025 (PLT_NON_JUMP_SLOT_RELOCS): Define.
2026 (elf_i386_link_hash_table): Add srelplt2, hgot, hplt, is_vxworks and
2027 plt0_pad_byte fields.
2028 (elf_i386_link_hash_table_create): Zero them.
2029 (elf_i386_create_dynamic_sections): Create static relocation section.
2030 (allocate_dynrelocs): Allocate space for static PLT relocations.
2031 (elf_i386_size_dynamic_sections): Save shortcuts to PLT and GOT
2032 symbols. Give PLT symbols function type. Don't strip PLT sections
d7128ce4 2033 if we have exported symbols from them.
eac338cf
PB
2034 (elf_i386_finish_dynamic_symbol): Fill in VxWorks PLT static
2035 relocation section. Don't mark _GLOBAL_OFFSET_TABLE_ as absolute on
2036 VxWorks.
2037 (elf_i386_finish_dynamic_sections): Allow different pad bytes.
2038 Add relocation for GOT location. Fill in PLT static relocations.
2039 (elf_i386_vxworks_link_hash_table_create): New function.
2040 (elf_i386_vxworks_link_output_symbol_hook): New function.
2041 * elf-vxworks.h: New file.
2042
3496cb2a
L
20432005-05-05 H.J. Lu <[email protected]>
2044
2045 * section.c (bfd_make_section_anyway_with_flags): New.
2046 (bfd_make_section_anyway): Call bfd_make_section_anyway_with_flags,
2047 (bfd_make_section_with_flags): New.
2048 (bfd_make_section): Call bfd_make_section_with_flags.
2049
2050 * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Call
2051 bfd_make_section_with_flags/bfd_make_section_anyway_with_flags
2052 instead of bfd_make_section/bfd_make_section and don't call
2053 bfd_set_section_flags.
2054 (mn10300_elf_check_relocs): Likewise.
2055 (_bfd_mn10300_elf_create_dynamic_sections): Likewise.
2056 * elf32-arm.c (create_got_section): Likewise.
2057 (bfd_elf32_arm_add_glue_sections_to_bfd): Likewise.
2058 (elf32_arm_check_relocs): Likewise.
2059 * elf32-cris.c (cris_elf_check_relocs): Likewise.
2060 * elf32-frv.c (elf32_frv_add_symbol_hook): Likewise.
2061 (_frv_create_got_section): Likewise.
2062 (elf32_frvfdpic_create_dynamic_sections): Likewise.
2063 * elf32-hppa.c (elf32_hppa_create_dynamic_sections): Likewise.
2064 (elf32_hppa_check_relocs): Likewise.
2065 * elf32-i370.c (i370_elf_create_dynamic_sections): Likewise.
2066 (i370_elf_check_relocs): Likewise.
2067 * elf32-i386.c (create_got_section): Likewise.
2068 (elf_i386_check_relocs): Likewise.
2069 * elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
2070 (create_got_section): Likewise.
2071 (m32r_elf_create_dynamic_sections): Likewise.
2072 (m32r_elf_check_relocs): Likewise.
2073 * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
2074 * elf32-ppc.c (ppc_elf_create_got): Likewise.
2075 (ppc_elf_create_dynamic_sections): Likewise.
2076 (ppc_elf_add_symbol_hook): Likewise.
2077 (ppc_elf_check_relocs): Likewise.
2078 * elf32-s390.c (create_got_section): Likewise.
2079 (elf_s390_check_relocs): Likewise.
2080 * elf32-sh.c (create_got_section): Likewise.
2081 (sh_elf_create_dynamic_sections): Likewise.
2082 (sh_elf_check_relocs): Likewise.
2083 * elf32-vax.c (elf_vax_check_relocs): Likewise.
2084 * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
2085 * elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Likewise.
2086 (add_extra_plt_sections): Likewise.
2087 * elf64-alpha.c (elf64_alpha_add_symbol_hook): Likewise.
2088 (elf64_alpha_create_got_section): Likewise.
2089 (elf64_alpha_create_dynamic_sections): Likewise.
2090 (elf64_alpha_check_relocs): Likewise.
2091 * elf64-hppa.c (get_reloc_section): Likewise.
2092 (get_opd): Likewise.
2093 (get_plt): Likewise.
2094 (get_dlt): Likewise.
2095 (get_stub): Likewise.
2096 (elf64_hppa_create_dynamic_sectionso): Likewise.
2097 * elf64-mmix.c (mmix_elf_check_common_relocs): Likewise.
2098 * elf64-ppc.c (create_linkage_sections): Likewise.
2099 (ppc64_elf_check_relocs): Likewise.
2100 * elf64-s390.c (create_got_section): Likewise.
2101 (elf_s390_check_relocs): Likewise.
2102 * elf64-sh64.c (sh_elf64_check_relocs): Likewise.
2103 (sh64_elf64_create_dynamic_sections): Likewise.
2104 * elf64-x86-64.c (create_got_section): Likewise.
2105 (elf64_x86_64_check_relocs): Likewise.
2106 * elflink.c (_bfd_elf_create_got_section): Likewise.
2107 (_bfd_elf_link_create_dynamic_sections): Likewise.
2108 (elf_link_add_object_symbols): Likewise.
2109 * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Likewise.
2110 (elfNN_ia64_create_dynamic_sections): Likewise.
2111 (get_fptr): Likewise.
2112 (get_pltoff): Likewise.
2113 (get_reloc_section): Likewise.
2114 (elfNN_ia64_object_p): Likewise.
2115 * elfxx-mips.c (mips_elf_rel_dyn_section): Likewise.
2116 (mips_elf_create_compact_rel_section): Likewise.
2117 (mips_elf_create_got_section): Likewise.
2118 (_bfd_mips_elf_create_dynamic_sections): Likewise.
2119 * elfxx-sparc.c (create_got_section): Likewise.
2120 (_bfd_sparc_elf_check_relocs): Likewise.
2121
2122 * elf.c (_bfd_elf_new_section_hook): Call _bfd_elf_get_sec_type_attr
2123 on linker created sections.
2124
59fef9e7
L
21252005-05-05 H.J. Lu <[email protected]>
2126
2127 PR 882
2128 * elflink.c (_bfd_elf_link_assign_sym_version): Allow version
2129 script on executable.
2130
35330cce
NC
21312005-05-05 John Levon <[email protected]>
2132
2133 * dwarf2.c (read_abbrevs): If bfd_realloc fails, free currently
2134 allocated memory before returning.
2135 (decode_line_info): Likewise.
2136 (_bfd_dwarf2_cleanup_debug_info): New function: Frees memory
2137 allocated by functions in this file.
2138 * elf-bfd.h (_bfd_dwarf2_cleanup_debug_info): Prototype.
6f140a15 2139 * elf.c (_bfd_elf_close_and_cleanup): Call
35330cce
NC
2140 _bfd_dwarf2_cleanup_debug_info.
2141
4a2a2686
HPN
21422005-05-05 Hans-Peter Nilsson <[email protected]>
2143
2144 * Makefile.am (INCLUDES): Don't -D_GNU_SOURCE here.
2145 * configure.in: Call AC_GNU_SOURCE here, after AC_PROG_CC.
2146 * configure, config.in, Makefile.in: Regenerate.
2147 * sysdep.h (stpcpy): Revert last change.
2148
0baace35
HPN
21492005-05-05 Hans-Peter Nilsson <[email protected]>
2150
2151 * sysdep.h (stpcpy): Wrap declaration in parentheses.
2152
5a260b66
L
21532005-05-04 H.J. Lu <[email protected]>
2154
2155 * elfxx-ia64.c (ARCH_SIZE): New.
2156 (LOG_SECTION_ALIGN): Likewise.
2157 (elfNN_ia64_create_dynamic_sections): Use LOG_SECTION_ALIGN to
2158 align relocation sections.
2159 (get_fptr): Likewise.
2160 (get_reloc_section): Likewise.
2161 (elfNN_ia64_tprel_base): Likewise.
2162 (elfNN_ia64_check_relocs): Support 32bit relocations.
2163 (allocate_global_fptr_got): Likewise.
2164 (allocate_dynrel_entries): Likewise.
2165 (set_got_entry): Likewise.
2166 (set_pltoff_entry): Likewise.
2167 (elfNN_ia64_relocate_section): Likewise.
2168
21692005-05-04 H.J. Lu <[email protected]>
2170
2171 * configure.in: Add AC_CHECK_DECLS(stpcpy).
2172 * configure: Regenerate.
2173 * config.in: Likewise.
2174
2175 * sysdep.h (stpcpy): New.
2176
3e110533
NC
21772005-05-04 Nick Clifton <[email protected]>
2178
2179 * Update the address and phone number of the FSF organization in
2180 the GPL notices in the following files:
2181 aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c,
2182 aout-cris.c, aout-ns32k.c, aout-sparcle.c, aout-target.h,
2183 aout-tic30.c, aout0.c, aout32.c, aout64.c, aoutf1.h, aoutx.h,
2184 archive.c, archive64.c, archures.c, armnetbsd.c, bfd-in.h,
2185 bfd-in2.h, bfd.c, bfdio.c, bfdwin.c, binary.c, bout.c, cache.c,
2186 cf-i386lynx.c, cf-m68klynx.c, cf-sparclynx.c, cisco-core.c,
2187 coff-a29k.c, coff-alpha.c, coff-apollo.c, coff-arm.c, coff-aux.c,
2188 coff-go32.c, coff-h8300.c, coff-h8500.c, coff-i386.c, coff-i860.c,
2189 coff-i960.c, coff-ia64.c, coff-m68k.c, coff-m88k.c, coff-maxq.c,
2190 coff-mcore.c, coff-mips.c, coff-or32.c, coff-pmac.c, coff-ppc.c,
2191 coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c,
2192 coff-svm68k.c, coff-tic30.c, coff-tic4x.c, coff-tic54x.c,
2193 coff-tic80.c, coff-u68k.c, coff-w65.c, coff-we32k.c, coff-z8k.c,
2194 coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c, coffswap.h,
2195 corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c,
2196 cpu-avr.c, cpu-cr16c.c, cpu-cris.c, cpu-crx.c, cpu-d10v.c,
2197 cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c, cpu-h8300.c,
2198 cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c, cpu-i860.c,
2199 cpu-i960.c, cpu-ia64-opc.c, cpu-ia64.c, cpu-ip2k.c, cpu-iq2000.c,
2200 cpu-m10200.c, cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c,
2201 cpu-m68hc12.c, cpu-m68k.c, cpu-m88k.c, cpu-maxq.c, cpu-mcore.c,
2202 cpu-mips.c, cpu-mmix.c, cpu-msp430.c, cpu-ns32k.c, cpu-openrisc.c,
2203 cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c, cpu-rs6000.c,
2204 cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c, cpu-tic4x.c,
2205 cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c, cpu-w65.c,
2206 cpu-we32k.c, cpu-xstormy16.c, cpu-xtensa.c, cpu-z8k.c, demo64.c,
2207 dwarf1.c, dwarf2.c, ecoff.c, ecofflink.c, ecoffswap.h,
2208 efi-app-ia32.c, efi-app-ia64.c, elf-bfd.h, elf-eh-frame.c,
2209 elf-hppa.h, elf-m10200.c, elf-m10300.c, elf-strtab.c, elf.c,
2210 elf32-am33lin.c, elf32-arc.c, elf32-arm.c, elf32-avr.c,
2211 elf32-cr16c.c, elf32-cris.c, elf32-crx.c, elf32-d10v.c,
2212 elf32-d30v.c, elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-gen.c,
2213 elf32-h8300.c, elf32-hppa.c, elf32-hppa.h, elf32-i370.c,
2214 elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
2215 elf32-iq2000.c, elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c,
2216 elf32-m68hc1x.c, elf32-m68hc1x.h, elf32-m68k.c, elf32-m88k.c,
2217 elf32-mcore.c, elf32-mips.c, elf32-msp430.c, elf32-openrisc.c,
2218 elf32-or32.c, elf32-pj.c, elf32-ppc.c, elf32-ppc.h, elf32-s390.c,
2219 elf32-sh-symbian.c, elf32-sh.c, elf32-sh64-com.c, elf32-sh64.c,
2220 elf32-sh64.h, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
2221 elf32-xstormy16.c, elf32-xtensa.c, elf32.c, elf64-alpha.c,
2222 elf64-gen.c, elf64-hppa.c, elf64-hppa.h, elf64-mips.c,
2223 elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c,
2224 elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elf64.c, elfcode.h,
2225 elfcore.h, elflink.c, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c,
2226 elfxx-mips.h, elfxx-sparc.c, elfxx-sparc.h, elfxx-target.h,
2227 epoc-pe-arm.c, epoc-pei-arm.c, format.c, freebsd.h, gen-aout.c,
2228 genlink.h, hash.c, host-aout.c, hp300bsd.c, hp300hpux.c,
2229 hppabsd-core.c, hpux-core.c, i386aout.c, i386bsd.c, i386dynix.c,
2230 i386freebsd.c, i386linux.c, i386lynx.c, i386mach3.c, i386msdos.c,
2231 i386netbsd.c, i386os9k.c, ieee.c, ihex.c, init.c, irix-core.c,
2232 libaout.h, libbfd-in.h, libbfd.c, libbfd.h, libcoff-in.h,
2233 libcoff.h, libecoff.h, libhppa.h, libieee.h, libnlm.h, liboasys.h,
2234 libpei.h, libxcoff.h, linker.c, lynx-core.c, m68k4knetbsd.c,
2235 m68klinux.c, m68klynx.c, m68knetbsd.c, m88kmach3.c, m88kopenbsd.c,
2236 mach-o-target.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c, mmo.c,
2237 netbsd-core.c, netbsd.h, newsos3.c, nlm-target.h, nlm.c,
2238 nlm32-alpha.c, nlm32-i386.c, nlm32-ppc.c, nlm32-sparc.c, nlm32.c,
2239 nlm64.c, nlmcode.h, nlmswap.h, ns32k.h, ns32knetbsd.c, oasys.c,
2240 opncls.c, osf-core.c, pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c,
2241 pe-mcore.c, pe-mips.c, pe-ppc.c, pe-sh.c, peXXigen.c,
2242 pef-traceback.h, pef.c, pef.h, pei-arm.c, pei-i386.c, pei-mcore.c,
2243 pei-mips.c, pei-ppc.c, pei-sh.c, peicode.h, ppcboot.c,
2244 ptrace-core.c, reloc.c, reloc16.c, riscix.c, rs6000-core.c,
2245 sco5-core.c, section.c, simple.c, som.c, som.h, sparclinux.c,
2246 sparclynx.c, sparcnetbsd.c, srec.c, stab-syms.c, stabs.c, sunos.c,
2247 syms.c, sysdep.h, targets.c, tekhex.c, ticoff.h, trad-core.c,
2248 vax1knetbsd.c, vaxbsd.c, vaxnetbsd.c, versados.c, vms-gsd.c,
2249 vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h, xcoff-target.h,
2250 xcofflink.c, xsym.c, xsym.h, xtensa-isa.c, xtensa-modules.c,
11d02c41 2251 hosts/alphavms.h
3e110533 2252
f652615e
L
22532005-05-04 H.J. Lu <[email protected]>
2254
2255 * bfd-in.h (_bfd_elf_provide_section_bound_symbols): New.
2256 * bfd-in2.h: Regenerated.
2257
2258 * elflink.c (bfd_elf_set_symbol): New.
2259 (_bfd_elf_provide_symbol): Call it.
2260 (_bfd_elf_provide_section_bound_symbols): New.
2261
c5e2cead
L
22622005-05-04 H.J. Lu <[email protected]>
2263
2264 * elflink.c (_bfd_elf_merge_symbol): Only skip weak definitions
2265 at the end, if a strong definition has already been seen.
2266
8423293d
AM
22672005-05-04 Alan Modra <[email protected]>
2268
2269 * section.c (struct bfd_section): Replace link_order_head and
2270 link_order_tail with map_head and map_tail union.
2271 (STD_SECTION): Update.
2272 (_bfd_strip_section_from_output): Delete.
2273 * aoutx.h: Update throughout for above changes.
2274 * coff-ppc.c: Likewise.
2275 * cofflink.c: Likewise.
2276 * ecoff.c: Likewise.
2277 * elf-eh-frame.c: Likewise.
2278 * elf-m10300.c: Likewise.
2279 * elf.c: Likewise.
2280 * elf32-arm.c: Likewise.
2281 * elf32-cris.c: Likewise.
2282 * elf32-hppa.c: Likewise.
2283 * elf32-i386.c: Likewise.
2284 * elf32-m32r.c: Likewise.
2285 * elf32-m68hc1x.c: Likewise.
2286 * elf32-m68k.c: Likewise.
2287 * elf32-ppc.c: Likewise.
2288 * elf32-s390.c: Likewise.
2289 * elf32-sh.c: Likewise.
2290 * elf32-vax.c: Likewise.
2291 * elf32-xtensa.c: Likewise.
2292 * elf64-alpha.c: Likewise.
2293 * elf64-hppa.c: Likewise.
2294 * elf64-ppc.c: Likewise.
2295 * elf64-s390.c: Likewise.
2296 * elf64-sh64.c: Likewise.
2297 * elf64-x86-64.c: Likewise.
2298 * elflink.c: Likewise.
2299 * elfxx-ia64.c: Likewise.
2300 * elfxx-mips.c: Likewise.
2301 * elfxx-sparc.c: Likewise.
2302 * linker.c: Likewise.
2303 * merge.c: Likewise.
2304 * pdp11.c: Likewise.
2305 * xcofflink.c: Likewise.
2306 * elflink.c (bfd_boolean bfd_elf_size_dynsym_hash_dynstr): Split
2307 out from bfd_elf_size_dynamic_sections.
2308 * bfd-in.h (bfd_boolean bfd_elf_size_dynsym_hash_dynstr): Declare.
2309 * bfd-in2.h: Regenerate.
2310
04dd1667
AM
23112005-05-04 Alan Modra <[email protected]>
2312
2313 * section.c (bfd_section_list_remove): Don't clear s->next.
2314 (bfd_section_list_append): Always init s->prev.
2315 (bfd_section_list_prepend): Define.
2316 (bfd_section_list_insert_after): Minor optimization.
2317 (bfd_section_removed_from_list): Rewrite.
2318 * elf.c (assign_section_numbers): Simplify list traversal now that
2319 bfd_section_list_remove doesn't destroy removed section next ptr.
2320 * sunos.c (sunos_add_dynamic_symbols): Likewise.
2321 * elfxx-ia64.c (elfNN_ia64_object_p): Use bfd_section_list_prepend.
2322 * xcofflink.c (_bfd_xcoff_bfd_final_link): Simplify list traversal.
2323 * bfd-in2.h: Regenerate.
2324
5daa8fe7
L
23252005-05-02 H.J. Lu <[email protected]>
2326
2327 * bfd.c (bfd): Remove section_tail and add section_last.
2328 (bfd_preserve): Likewise.
2329 (bfd_preserve_save): Likewise.
2330 (bfd_preserve_restore): Likewise.
2331 * opncls.c (_bfd_new_bfd): Likewise.
2332
2333 * coffcode.h (coff_compute_section_file_positions): Updated.
2334 (coff_compute_section_file_positions): Likewise.
2335 * elf.c (assign_section_numbers): Likewise.
2336 * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
2337 * elf64-mmix.c (mmix_elf_final_link): Likewise.
2338 * elfxx-ia64.c (elfNN_ia64_object_p): Likewise.
2339 * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
2340 * sunos.c (sunos_add_dynamic_symbols): Likewise.
2341 * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
2342
2343 * ecoff.c (bfd_debug_section): Initialize prev.
2344
2345 * section.c (bfd_section): Add prev.
2346 (bfd_section_list_remove): Updated.
2347 (bfd_section_list_append): New.
2348 (bfd_section_list_insert_after): New.
2349 (bfd_section_list_insert_before): New.
2350 (bfd_section_list_insert): Removed.
2351 (bfd_section_removed_from_list): Updated.
2352 (STD_SECTION): Initialize prev.
2353 (bfd_section_init): Updated.
2354 (bfd_section_list_clear): Updated.
2355
2356 * bfd-in2.h: Regenerated.
2357
a31501e9
L
23582005-05-02 H.J. Lu <[email protected]>
2359
2360 * elf.c (_bfd_elf_new_section_hook): Don't call
2361 _bfd_elf_get_sec_type_attr on sections from input files.
2362
d05da6a8
L
23632005-05-02 H.J. Lu <[email protected]>
2364
2365 * merge.c (sec_merge_init): Call bfd_hash_table_init_n with
2366 hash table size 16699 instead of bfd_hash_table_init.
2367
a67b080b
PB
23682005-05-01 Paul Brook <[email protected]>
2369
2370 * elflink.c (_bfd_elf_merge_symbol): Skip weak definitions if a strong
2371 definition has already been seen.
2372
c6596c5e
PB
23732005-05-01 Paul Brook <[email protected]>
2374
2375 * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Treat
2376 R_ARM_PLT32 the same as R_ARM_PC24.
2377 (arm_add_to_rel): Ditto.
2378
9a813b7a
DJ
23792005-04-29 Ralf Corsepius <[email protected]>
2380
2381 * config.bfd: Add h8300*-*-rtemscoff.
2382 Switch h8300*-*-rtems* to elf.
2383
aa7eb06d
DJ
23842005-04-29 Daniel Jacobowitz <[email protected]>
2385
2386 * aclocal.m4, Makefile.in: Regnerated.
2387
fa0d1cab
PB
23882005-04-28 Paul Brook <[email protected]>
2389
2390 Merge changes only applied to Makefile.in.
2391 * Makefile.am (BFD32_BACKENDS): Add elfxx-sparc.lo
2392 (BFD32_BACKENDS_CFILES): Add elfxx-sparc.c
2393 (elfxx-sparc.lo): New rule.
2394 (elf32-sparc.lo): Add elfxx-sparc.h dependency.
2395 (elf64-sparc.lo): Likewise.
2396
0291d291
NC
23972005-04-28 Julian Brown <[email protected]>
2398
2399 * elflink.c (_bfd_elf_provide_symbol): Provide symbol for weak
2400 import.
2401
26c61ae5
L
24022005-04-27 H.J. Lu <[email protected]>
2403
2404 * elf-bfd.h (bfd_elf_sym_name): Also take "asection *".
2405
2406 * elf.c (bfd_elf_sym_name): Updated.
2407 (group_signature): Likewise.
2408 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
2409 * elf64-ppc.c (ppc64_elf_edit_opd): Likewise.
2410 (ppc64_elf_edit_toc): Likewise.
2411 (ppc64_elf_relocate_section): Likewise.
2412 * elfcode.h (elf_slurp_symbol_table): Likewise.
2413 * elflink.c (elf_link_input_bfd): Likewise.
2414
2415 * elfxx-ia64.c (elfNN_ia64_relocate_section): Call
2416 bfd_elf_sym_name to get local symbol name when reporting errors.
2417
8c19749a
NC
24182005-04-27 Nick Clifton <[email protected]>
2419
2420 * elflink.c (elf_link_input_bfd): Handle the case where a badly
2421 formatted input file results in a reloc which has no associated
2422 global symbol.
2423
8e5b6e16
JG
24242005-04-26 Jerome Guitton <[email protected]>
2425
2426 * bfd.m4 (BFD_NEED_DECLARATION): Restore.
2427
e459dc7b
DM
24282005-04-25 David S. Miller <[email protected]>
2429
2430 * elfxx-sparc.c (sparc_elf_append_rela_64): Add BFD64 protection.
2431 (sparc_elf_r_info_64, _bfd_sparc_elf_finish_dynamic_symbol,
2432 sparc64_finish_dyn, _bfd_sparc_elf_finish_dynamic_sections):
2433 Likewise.
2434
6d633fd2
L
24352005-04-25 H.J. Lu <[email protected]>
2436
2437 PR 858
2438 * elflink.c (elf_link_input_bfd): Make non-debugging reference
2439 to discarded section an error.
2440
d34a2b1d
JG
24412005-04-21 Jerome Guitton <[email protected]>
2442
2443 * configure.in: Replace BFD_NEED_DECLARATION checks by the
2444 corresponding AC_CHECK_DECLS.
2445 * sysdep.h: Replace NEED_DECLARATION_* checks by the corresponding
2446 HAVE_DECL_*.
2447 * bfd.m4 (BFD_NEED_DECLARATION): Remove, obsolete.
2448 * configure: Regenerate.
2449 * config.in: Ditto.
2450
ff01938b
AS
24512005-04-21 Andreas Schwab <[email protected]>
2452
c2e70a82
AS
2453 * elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Remove
2454 unsigned from type of dynamic_interpreter.
2455 * elfxx-sparc.c (_bfd_sparc_elf_link_hash_table_create): Remove
2456 casts again.
2457
ff01938b
AS
2458 * elf.c (assign_section_numbers): Fix comment.
2459
0858d3ec
JG
24602005-04-21 Jerome Guitton <[email protected]>
2461
2462 * som.c (som_bfd_print_private_bfd_data): Add explicit cast to long
2463 for struct som_exec_auxhdr fields.
2464
7920ce38
NC
24652005-04-21 Nick Clifton <[email protected]>
2466
2467 * aout-adobe.c: Convert to ISO C and fix formatting.
2468 * aout-arm.c: Convert to ISO C and fix formatting.
2469 * aout-cris.c: Convert to ISO C and fix formatting.
2470 * aout-ns32k.c: Convert to ISO C and fix formatting.
2471 * aout-tic30.c: Convert to ISO C and fix formatting.
2472 * coffcode.h: Convert to ISO C and fix formatting.
2473 * coffswap.h: Convert to ISO C and fix formatting.
2474 * i386aout.c: Convert to ISO C and fix formatting.
2475 * libaout.h: Convert to ISO C and fix formatting.
2476 * libcoff-in.h: Convert to ISO C and fix formatting.
2477 * libcoff.h: Convert to ISO C and fix formatting.
2478 * libecoff.h: Convert to ISO C and fix formatting.
2479 * libnlm.h: Convert to ISO C and fix formatting.
2480 * libpei.h: Convert to ISO C and fix formatting.
2481 * libxcoff.h: Convert to ISO C and fix formatting.
2482 * nlm-target.h: Convert to ISO C and fix formatting.
2483 * nlm.c: Convert to ISO C and fix formatting.
2484 * nlm32-alpha.c: Convert to ISO C and fix formatting.
2485 * nlm32-i386.c: Convert to ISO C and fix formatting.
2486 * nlm32-ppc.c: Convert to ISO C and fix formatting.
2487 * nlm32-sparc.c: Convert to ISO C and fix formatting.
2488 * nlmcode.h: Convert to ISO C and fix formatting.
2489 * nlmswap.h: Convert to ISO C and fix formatting.
2490 * pe-mips.c: Convert to ISO C and fix formatting.
2491 * peXXigen.c: Convert to ISO C and fix formatting.
2492 * peicode.h: Convert to ISO C and fix formatting.
2493 * vms-gsd.c: Convert to ISO C and fix formatting.
2494 * vms-hdr.c: Convert to ISO C and fix formatting.
2495 * vms-misc.c: Convert to ISO C and fix formatting.
2496 * vms-tir.c: Convert to ISO C and fix formatting.
2497 * vms.c: Convert to ISO C and fix formatting.
2498 * vms.h: Convert to ISO C and fix formatting.
2499
2500 * coffgen.c (coff_print_symbol): Restore correct formatting of
2501 output.
2502
e8be8da4
DM
25032005-04-20 David S. Miller <[email protected]>
2504
2505 * elfxx-sparc.c (sparc_elf_r_symndx_64): Fix compiler warning.
2506 (_bfd_sparc_elf_link_hash_table_create): Likewise.
2507 (allocate_dynrelocs): Likewise.
2508
ec7b76fe
JG
25092005-04-20 Jerome Guitton <[email protected]>
2510
2511 * configure.in: Fix the check for basename declaration. Add check
2512 for declarations of ftello, ftello64, fseeko, fseeko64.
2513 * configure: Regenerate.
2514 * config.in: Ditto.
2515 * sysdep.h: If needed, declare ftello, ftello64, fseeko, fseeko64.
2516
22b75d0a
DM
25172005-04-19 David S. Miller <[email protected]>
2518
2519 * elfxx-sparc.c: New file.
2520 * elfxx-sparc.h: New file.
2521 * Makefile.in (BFD32_BACKENDS): Add elfxx-sparc.lo
2522 (BFD32_BACKENDS_CFILES): Add elfxx-sparc.c
2523 (elfxx-sparc.lo): New rule.
2524 (elf32-sparc.lo): Add elfxx-sparc.h dependency.
2525 (elf64-sparc.lo): Likewise.
2526 * configure.in (bfd_elf32_sparc_vec): Add elfxx-sparc.lo
2527 (bfd_elf64_sparc_vec): Likewise.
2528 * configure: Regenerate.
2529 * elf32-sparc.c: Remove common code now in elfxx-sparc.c
2530 * elf64-sparc.c: Likewise, also use elf64_sparc_*() naming
2531 which is more consistent with elf32-sparc.c
2532
a008ac03
DJ
25332005-04-19 Daniel Jacobowitz <[email protected]>
2534
2535 * elfxx-mips.c (struct mips_elf_link_hash_entry): Update comment.
2536 (mips_elf_create_local_got_entry): Check h->root.forced_local.
2537
c87b5a93
AM
25382005-04-19 Alan Modra <[email protected]>
2539
2540 * elf32-ppc.c (ppc_elf_check_relocs): Don't bother with
2541 dynamic relocs in non-SEC_ALLOC sections.
2542 (ppc_elf_gc_sweep_hook): Likewise.
2543 (ppc_elf_relax_section): Likewise.
2544 (ppc_elf_relocate_section): Likewise.
2545
7cefacd3
NC
25462005-04-18 Nick Clifton <[email protected]>
2547
2548 * aix5ppc-core.c (xcoff64_core_p): Fix compile time warning
2549 assigning a value to return_value.
2550
278d8f37
L
25512005-04-17 H.J. Lu <[email protected]>
2552
2553 PR 855
2554 * elf.c (_bfd_elf_copy_private_section_data): Don't copy linker
2555 created group data.
2556
20dbb49d
L
25572005-04-17 H.J. Lu <[email protected]>
2558
2559 PR 855
2560 * elf.c (setup_group): Properly handle zero group count.
2561
6a808a40
MK
25622005-04-17 Mark Kettenis <[email protected]>
2563
2564 * som.c (hppa_som_reloc, som_mkobject, som_is_space)
2565 (som_is_subspace, compare_subspaces, som_compute_checksum)
2566 (som_build_and_write_symbol_table, som_slurp_symbol_table): New
2567 protoypes.
2568 (hppa_som_reloc, compare_syms, compare_subspaces)
2569 (som_print_symbol, som_get_section_contents)
2570 (som_set_section_contents): Remove space after 'void *'.
2571 (som_bfd_print_private_bfd_data): Use %lx to print longs.
2572 (som_bfd_merge_private_bfd_data)
2573 (som_bfd_copy_private_header_data, som_bfd_set_private_flags): New
2574 defines.
2575
33bfe774
JB
25762004-04-15 Julian Brown <[email protected]>
2577
2578 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
2579 * bfd-in2.h: Regenerate.
2580 * elf32-arm.c (elf32_arm_link_hash_table): New field, 'use_blx'.
2581 (elf32_arm_link_hash_table_create): Initialise fix_v4bx, use_blx.
2582 (bfd_elf32_arm_set_target_relocs): Handle use_blx.
2583 (elf32_arm_final_link_relocate): Use Thumb BLX for R_ARM_THM_PC22
2584 relocations if requested to.
2585 (allocate_dynrelocs): Don't count size of omitted Thumb stubs based on
2586 use_blx rather than symbian_p.
2587 (elf32_arm_finish_dynamic_symbol): Don't output Thumb PLT stubs if
2588 use_blx is in effect.
2589 (elf32_arm_symbian_link_hash_table_create): Enable use_blx by default
2590 for SymbianOS.
2591
745c12f8
NC
25922005-04-15 Nick Clifton <[email protected]>
2593
2594 * coffgen.c (coff_print_symbol): Use fprintf_vma to print vma
2595 values.
2596
2e8b3a61
AM
25972005-04-15 Alan Modra <[email protected]>
2598
2599 PR ld/815
2600 * elflink.c (elf_smash_syms): Clear undef.next if it's not being
2601 used as a list pointer.
2602
9e9b66a9
AM
26032005-04-14 Alan Modra <[email protected]>
2604
2605 * Makefile.am (NO_WERROR): Define.
2606 * warning.m4: New file
2607 * acinclude.m4: Include warning.m4.
2608 * configure.in: Invoke AM_BINUTILS_WARNINGS.
2609 * Makefile.in: Regenerate.
2610 * configure: Regenerate.
2611
8699aa54
AM
26122005-04-14 Alan Modra <[email protected]>
2613
92ceba1e
AM
2614 * merge.c (sec_merge_emit): Tidy. Check for bfd_zmalloc errors.
2615 Write trailing padding.
2616
8699aa54
AM
2617 * merge.c (merge_strings): Round up section size for alignment.
2618
40937810
JJ
26192005-04-14 David S. Miller <[email protected]>
2620
2621 Add TLS support for 64-bit Sparc ELF.
2622 * elf64-sparc.c (sparc64_elf_dyn_relocs,
2623 sparc64_elf_link_hash_entry, sparc64_elf_obj_tdata): New structs.
2624 (GOT_UNKNOWN, GOT_NORMAL, GOT_TLD_GD, GOT_TLD_IE,
2625 sparc64_elf_hash_entry, sparc64_elf_tdata,
2626 sparc64_elf_local_got_tls_type): New defines.
2627 (sparc64_elf_mkobject): New function.
2628 (sparc64_elf_link_hash_table): Add members for dynamic linker
2629 sections PLT, RELPLT, DYNBSS, and RELBSS. Add tls_ldm_got
2630 uion to track TLS GOT references. Add sym_sec to cache
2631 mappings from local sym to section.
2632 (link_hash_newfunc): New function.
2633 (sparc64_elf_bfd_link_hash_table_create): Rename to
2634 sparc64_elf_link_hash_table_create for consistency.
2635 Pass link_hash_newfunc to _bfd_elf_link_hash_table_init.
2636 (sparc64_elf_create_dynamic_sections): Initialize new section
2637 members of sparc64_elf_link_hash_table. Only init srelbss
2638 if not-shared.
2639 (sparc64_elf_copy_indirect_symbol, sparc64_elf_tls_transition):
2640 New functions.
2641 (SPARC_NOP): Define.
2642 (sparc64_elf_build_plt, sparc64_elf_plt_entry_offset,
2643 sparc64_elf_plt_ptr_offset): Delete.
2644 (sparc64_plt_entry_build): New function to build PLT entries
2645 gradually instread of all at once at the end of linking.
2646 (sparc64_elf_check_relocs): Delete dynobj, sgot, and srelgot
2647 local vars. Get them from sparc64_elf_hash_table instead.
2648 Check early on if r_symndx is in bounds. Handle TLS transitions.
2649 Account for TLS GOT references and DF_STATIC_TLS, as needed.
2650 For TLS relocs, record the tls_type in either
2651 sparc64_elf_local_got_tls_type or sparc64_elf_hash_entry as
2652 appropriate. For R_SPARC_TLS_{GD,LDM}_CALL, emit a reference
2653 to the __tls_get_addr symbol. For PLT relocs, track references
2654 via h->plt.refcount. When R_SPARC_{PC10,PC22,PC_HH22,PC_HM10,
2655 PC_LM22} and h not-NULL, set h->non_got_ref. For global data
2656 symbol references, count the number of relocations needed for
2657 that symbol. For default switch case, don't error, this lets
2658 the TLS relocs not explicitly handled by this function get
2659 accepted.
2660 (sparc64_elf_gc_mark_hook, sparc64_gc_sweep_hook): New functions.
2661 (sparc64_elf_adjust_dynamic_symbol): Remove dynobj local var, get
2662 it from sparc64_elf_hash_table. Store the real PLT offset
2663 in h->plt.offset, and build PLT entries one at a time. Also
2664 get .dynbss section pointer from htab.
2665 (allocate_dynrelocs, readonly_dynrelocs,
2666 sparc64_omit_section_dynsym): New functions.
2667 (sparc64_elf_omit_section_dynsym): Use these new functions as
2668 helpers.
2669 (dtpoff_base, tpoff): New functions.
2670 (sparc64_elf_relocate_section): Kill dynobj, sgot, and splt
2671 locals, get them from sparc64_elf_hash_table. Handle TLS
2672 relocations and refcounting in main relocation loop.
2673 (sparc64_elf_finish_dynamic_symbol): Use
2674 sparc64_elf_link_hash_table. Build PLT entries as we see
2675 them. Handle TLS GOT relocations.
2676 (sparc64_elf_finish_dynamic_sections): Get sgot and dynobj
2677 from sparc64_elf_hash_table. Initialize only PLT header
2678 not all entries since we not build PLT entries one by one.
2679 (elf_backend_copy_indirect_symbol, bfd_elf64_mkobject,
2680 elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook,
2681 elf_backend_can_gc_sections, elf_backend_can_refcount): Define.
2682
e75a280b
L
26832005-04-13 Daniel Jacobowitz <[email protected]>
2684
2685 * elflink.c (elf_link_input_bfd): Update check for removed
2686 sections.
2687
ceae3e33
AM
26882005-04-12 Alan Modra <[email protected]>
2689
2690 * Makefile.am: Run "make dep-am".
2691 * Makefile.in: Regenerate.
2692 * aclocal.m4: Regenerate.
2693 * libcoff.h: Regenerate.
2694
ab82c5b9
L
26952005-04-11 H.J. Lu <[email protected]>
2696
2697 * linker.c (_bfd_generic_link_output_symbols): Also check if
2698 the output section of an input section has been removed from
2699 the output file.
2700
2701 * section.c (bfd_section_list_remove): Clear the next field
2702 of the removed section.
2703 (bfd_section_removed_from_list): New.
2704 * bfd-in2.h: Regenerated.
2705
bd695bcc
JJ
27062005-04-11 David S. Miller <[email protected]>
2707
2708 * elf32-sparc.c (elf32_sparc_relocate_section,
2709 R_SPARC_TLS_LDO_{HIX22,LOX10}): When not shared, transition to
2710 R_SPARC_TLS_LE_{HIX22,LOX10}.
2711 (elf32_sparc_relocate_section, R_SPARC_TLS_{LDO,LE}_HIX22): Only
2712 xor relocation with 0xffffffff if R_SPARC_TLS_LE_HIX22.
2713 (elf32_sparc_relocate_section, R_SPARC_TLS_{LDO,LE}_LOX10): Only
2714 or 0x1c00 into relocation if R_SPARC_TLS_LE_HIX22.
2715
b5b2699c
L
27162005-04-11 H.J. Lu <[email protected]>
2717
2718 * coffcode.h (STRING_SIZE_SIZE): Updated to match libcoff-in.h.
2719
116c20d2 27202005-04-11 Nick Clifton <[email protected]>
d7128ce4 2721
116c20d2
NC
2722 * aout-target.h: Convert to ISO C.
2723 * aoutf1.h: Convert to ISO C.
2724 * aoutx.h: Convert to ISO C.
2725 * bout.c: Convert to ISO C.
2726 * dwarf1.c: Convert to ISO C.
2727 * ecoffswap.h: Convert to ISO C.
2728 * freebsd.h: Convert to ISO C.
2729 * genlink.h: Convert to ISO C.
2730 * ieee.c: Convert to ISO C.
2731 * ihex.c: Convert to ISO C.
2732 * libcoff-in.h: Convert to ISO C.
2733 * mach-o.c: Convert to ISO C.
2734 * mach-o.h: Convert to ISO C.
2735 * netbsd.h: Convert to ISO C.
2736 * ns32k.h: Convert to ISO C.
2737 * ns32knetbsd.c: Convert to ISO C.
2738 * oasys.c: Convert to ISO C.
2739 * pdp11.c: Convert to ISO C.
2740 * pef-traceback.h: Convert to ISO C.
2741 * pef.c: Convert to ISO C.
2742 * pef.h: Convert to ISO C.
2743 * riscix.c: Convert to ISO C.
2744 * som.c: Convert to ISO C.
2745 * som.h: Convert to ISO C.
2746 * srec.c: Convert to ISO C.
2747 * stabs.c: Convert to ISO C.
2748 * sunos.c: Convert to ISO C.
2749 * tekhex.c: Convert to ISO C.
2750 * versados.c: Convert to ISO C.
2751 * version.h: Convert to ISO C.
2752 * xcoff-target.h: Convert to ISO C.
2753 * xcofflink.c: Convert to ISO C.
2754 * xsym.c: Convert to ISO C.
2755 * xsym.h: Convert to ISO C.
2756
8f6277f5
PB
27572005-04-08 Paul Brook <[email protected]>
2758
2759 * elf32-arm.c (ARM2THUMB_GLUE_SIZE): Rename...
2760 (ARM2THUMB_STATIC_GLUE_SIZE): ... to this.
2761 (ARM2THUMB_PIC_GLUE_SIZE): Define.
2762 (a2t1p_ldr_insn, a2t2p_add_pc_insn, a2t3p_bx_r12_insn): Add.
2763 (elf32_arm_to_thumb_stub): Create PIC stubs.
2764 (record_arm_to_thumb_glue): Use different stub size for relocatable
2765 images.
2766
8c1d1bb8
AM
27672005-04-05 Alan Modra <[email protected]>
2768
2769 * elf64-ppc.c (dec_dynrel_count): New function split out from
2770 ppc64_elf_edit_toc, with additional code from ppc64_elf_edit_opd.
2771 (ppc64_elf_edit_toc, ppc64_elf_edit_opd): Use it.
2772 (ppc64_elf_tls_optimize): Likewise.
2773
8c101720
NC
27742005-04-05 Mark Kettenis <[email protected]>
2775
2776 * netbsd-core.c (SPARC_WCOOKIE_OFFSET): Renamed from
2777 CORE_WCOOKIE_OFFSET.
2778 (SPARC64_WCOOKIE_OFFSET): New.
2779 (netbsd_core_file_p): Provide .wcookie section for OpenBSD/sparc64.
2780
429cc0ae
NC
27812005-04-05 Nick Clifton <[email protected]>
2782
2783 * po/rw.po: New translation: Kinyarwanda
2784 * configure.in (ALL_LINGUAS): Add rw
2785 * configure: Regenerate.
2786
cc2e31b9
RS
27872005-04-05 Richard Sandiford <[email protected]>
2788
2789 * elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME_P): New macro.
2790 (_bfd_mips_elf_section_from_shdr): Use it to check for recognized
2791 SHT_MIPS_OPTIONS names. Allow all sections with unrecognised
2792 section flags.
2793 (_bfd_mips_elf_fake_sections): Use MIPS_ELF_OPTIONS_SECTION_NAME_P
2794 to check for SHT_MIPS_OPTIONS sections.
2795 (_bfd_mips_elf_set_section_contents): Likewise.
2796
8236346f
EC
27972005-04-04 Eric Christopher <[email protected]>
2798
2799 * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents):
2800 Clean up gp handling code.
2801
7e4111ad
L
28022005-04-04 H.J. Lu <[email protected]>
2803
2804 * elf.c (bfd_elf_set_group_contents): Ignore linker created
d7128ce4 2805 group section.
da9f89d4
L
2806 (assign_section_numbers): Accept link_info. Check SHT_GROUP
2807 sections for relocatable files only. Remove the linker created
2808 group sections.
2809 (_bfd_elf_compute_section_file_positions): Pass link_info to
2810 assign_section_numbers.
2811
2812 * elfxx-ia64.c (elfNN_ia64_object_p): New.
2813 (elf_backend_object_p): Defined.
7e4111ad 2814
96982dc9
L
28152005-04-04 H.J. Lu <[email protected]>
2816
2817 * elf-bfd.h (elf_section_data): Use (sec) instead of sec.
2818
a13afe8e
FF
28192005-04-03 Fred Fish <[email protected]>
2820
2821 * dwarf2.c (struct dwarf2_debug): Add dwarf_ranges_buffer and
2822 dwarf_ranges_size members.
2823 (struct comp_unit): Add base_address member.
2824 (struct funcinfo): Replace low/high members with an arange.
2825 (arange_add): Replace incoming "unit" parameter with "abfd" and
2826 "first_arange" pointers. Reorganize/rewrite function body.
2827 (decode_line_info): Change arange_add call to pass bfd and arange
2828 pointers.
2829 (lookup_address_in_line_info_table): Use arange list instead of
2830 individual low/high members. Walk function's arange list to find
2831 lowest PC in list, to test for overlapping functions.
2832 (read_debug_ranges): New function, reads the debug_ranges section.
2833 (lookup_address_in_function_table): Use arange list instead of
2834 individual low/high members. Rewrite to find smallest range that
2835 matches.
2836 (read_rangelist): Read a given rangelist from debug_ranges.
2837 (scan_unit_for_functions): Use arange list instead of individual
2838 low/high members. Handle a DW_AT_ranges attribute.
2839 (parse_comp_unit): Use arange list instead of individual low/high
2840 members. Save comp unit base address. Handle a DW_AT_ranges
2841 attribute.
2842
2796fd96
L
28432005-04-01 H.J. Lu <[email protected]>
2844
2845 * elf.c (assign_section_numbers): Really use the kept section.
2846
01b3c8ab
L
28472005-03-31 H.J. Lu <[email protected]>
2848
2849 * elf-bfd.h (_bfd_elf_check_kept_section): New.
2850
2851 * elf.c (assign_section_numbers): When sh_link points to a
2852 discarded section, call _bfd_elf_check_kept_section to see if
2853 the kept section can be used. Otherwise reject sh_link
2854 pointing to discarded section.
2855
2856 * elflink.c (_bfd_elf_check_kept_section): New.
2857 (elf_link_input_bfd): Use it.
2858
35090471
AM
28592005-04-01 Alan Modra <[email protected]>
2860
2861 * elf64-ppc.c (ppc64_elf_edit_toc): Account for dynamic relocs
2862 that we no longer need.
2863
7356fed5
AM
28642005-04-01 Alan Modra <[email protected]>
2865
2866 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Return -1 on errors
2867 rather than 0.
77623a34 2868 (ppc64_elf_check_relocs): Remove unnecessary SEC_ALLOC check.
7356fed5 2869
28b13744
L
28702005-03-31 H.J. Lu <[email protected]>
2871
2872 * elf.c (assign_section_numbers): Fix a typo.
2873
c93625e2
L
28742005-03-31 H.J. Lu <[email protected]>
2875
2876 * elflink.c (elf_link_input_bfd): Remove the extra `\n' in
2877 error message.
2878 (_bfd_elf_section_already_linked): Likewise.
2879
fddc4048
JG
28802005-03-31 Jerome Guitton <[email protected]>
2881
2882 * config.in: Regenerate.
2883
2e9ebff5
JG
28842005-03-31 Jerome Guitton <[email protected]>
2885
c93625e2
L
2886 * config.in (HAVE_DECL_BASENAME): New configure macro.
2887 * configure.in: Check for basename.
2888 * configure: Regenerate.
2e9ebff5 2889
05ea83ed
JB
28902005-03-30 Julian Brown <[email protected]>
2891
2892 * bfd-in.h (bfd_is_arm_mapping_symbol_name): Rename from
2893 bfd_elf32_is_arm_mapping_symbol_name.
2894 * bfd-in2.h: Regenerate.
2895 * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Rename from
2896 bfd_elf32_is_arm_mapping_symbol_name.
2897 * elf32-arm.c (elf32_arm_is_target_special_symbol): Rename
2898 bfd_elf32_is_arm_mapping_symbol_name to bfd_is_arm_mapping_symbol_name.
2899 (arm_elf_find_function): Likewise.
2900 (elf32_arm_output_symbol_hook): Likewise.
2901
9d2da7ca
JB
29022005-03-30 Julian Brown <[email protected]>
2903
2904 * bfd-in.h (bfd_elf32_is_arm_mapping_symbol_name): Add prototype.
2905 * bfd-in2.h: Regenerate.
2906 * elf32-arm.c (elf32_arm_is_target_special_symbol): Rename call to
2907 bfd_elf32_is_arm_mapping_symbol_name.
2908 (elf32_arm_output_symbol_hook): Likewise.
2909 (arm_elf_find_function): Likewise, and include STT_NOTYPE in test for
2910 mapping symbols.
2911 (is_arm_mapping_symbol_name): Function moved from here...
2912 * cpu-arm.c (bfd_elf32_is_arm_mapping_symbol_name): ...to here, renamed
2913 and made global.
2914
efa9bda4
AL
29152005-03-29 Aaron W. LaFramboise <[email protected]>
2916
2917 * configure.in: Check for ffs decl and alphabetize.
2918 * config.in: Regenerate.
2919 * configure: Regenerate.
d7128ce4 2920 * sysdep.h [NEED_DECLARATION_FFS] (ffs): Prototype and alphabetize.
efa9bda4 2921
09a9d560
FF
29222005-03-29 Fred Fish <[email protected]>
2923
2924 * dwarf2.c (struct comp_unit): Fix typo.
2925 (scan_unit_for_functions): Remove unused local variable "name"
2926 and dead code that set it.
2927
ba93b8ac
DJ
29282005-03-29 Daniel Jacobowitz <[email protected]>
2929 Phil Blundell <[email protected]>
2930
2931 * bfd-in2.h, libbfd.h: Regenerated.
2932 * reloc.c: Add ARM TLS relocations.
2933 * elf32-arm.c (elf32_arm_howto_table): Add dynamic TLS
2934 relocations.
2935 (elf32_arm_tls_gd32_howto, elf32_arm_tls_ldo32_howto)
2936 (elf32_arm_tls_ldm32_howto, elf32_arm_tls_le32_howto)
2937 (elf32_arm_tls_ie32_howto): New.
2938 (elf32_arm_howto_from_type): Support TLS relocations.
2939 (elf32_arm_reloc_map): Likewise.
2940 (elf32_arm_reloc_type_lookup): Likewise.
2941 (TCB_SIZE): Define.
2942 (struct elf32_arm_obj_tdata): New.
2943 (elf32_arm_tdata, elf32_arm_local_got_tls_type): Define.
2944 (elf32_arm_mkobject): New function.
2945 (struct elf32_arm_relocs_copied): Add pc_count.
2946 (elf32_arm_hash_entry, GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD)
2947 (GOT_TLS_IE): Define.
2948 (struct elf32_arm_link_hash_table): Add tls_ldm_got.
2949 (elf32_arm_link_hash_newfunc): Initialize tls_type.
2950 (elf32_arm_copy_indirect_symbol): Copy pc_count and tls_type.
2951 (elf32_arm_link_hash_table_create): Initialize tls_ldm_got.
2952 (dtpoff_base, tpoff): New functions.
2953 (elf32_arm_final_link_relocate): Handle TLS relocations.
2954 (IS_ARM_TLS_RELOC): Define.
2955 (elf32_arm_relocate_section): Warn about TLS mismatches.
2956 (elf32_arm_gc_sweep_hook): Handle TLS relocations and pc_count.
2957 (elf32_arm_check_relocs): Detect invalid symbol indexes. Handle
2958 TLS relocations and pc_count.
2959 (elf32_arm_adjust_dynamic_symbol): Check non_got_ref.
2960 (allocate_dynrelocs): Handle TLS. Bind REL32 relocs to local
2961 calls.
2962 (elf32_arm_size_dynamic_sections): Handle TLS.
2963 (elf32_arm_finish_dynamic_symbol): Likewise.
2964 (bfd_elf32_mkobject): Define.
2965
71a976dd
DJ
29662005-03-29 Daniel Jacobowitz <[email protected]>
2967
2968 * elf32-arm.c (elf32_arm_check_relocs): Increment count for all
2969 relocation types. Don't count relocations which will use a PLT.
2970
7e7353ed
JB
29712005-03-29 Joel Brobecker <[email protected]>
2972
2973 * elf.c (elfcore_grok_nto_status): Print tid as long.
2974 (elfcore_grok_nto_regs): Likewise.
2975
166856d7
JB
29762005-03-29 Joel Brobecker <[email protected]>
2977
40937810 2978 * irix-core.c: Remove some unnecessary prototypes.
166856d7 2979
40f85900
JB
29802005-03-28 Joel Brobecker <[email protected]>
2981
2982 * irix-core.c: Convert to ISO C.
2983
aa2e06ba
JB
29842005-03-28 Joel Brobecker <[email protected]>
2985
2986 * irix-core.c (do_sections): Replace + by | in expression.
2987 (irix_core_core_file_matches_executable_p): Add ATTRIBUTE_UNUSED
2988 to unused parameters to avoid a compiler warning.
2989
832bc186
MK
29902005-03-28 Mark Kettenis <[email protected]>
2991
2992 * netbsd-core.c: Convert to ISO C. Fix formatting.
2993
82f0cfbd
EC
29942005-03-24 Eric Christopher <[email protected]>
2995
2996 * elfxx-mips.c: Revert previous patch.
2997
d7b9976f
NC
29982005-03-24 Nick Clifton <[email protected]>
2999
3000 * targets.c (_bfd_target_vector): Only include the
3001 bfd_elf32_ia64_hpux_big_vec vector when building a 64-bit BFD with
3002 all targets enabled.
3003
074d327a
NC
30042005-03-24 James E Wilson <[email protected]>
3005
3006 * Makefile.am (BFD32_BACKENDS): Delete elf32-ia64.lo.
3007 (BFD64_BACKENDS): Add elf32-ia64.lo.
3008 * Makefile.in: Regenerate.
3009
cc27e1dc
EC
30102005-03-23 Eric Christopher <[email protected]>
3011
3012 * elfxx-mips.c (MIPS_ELF_READONLY_SECTION): New.
3013 (mips_elf_calculate_relocation): Use. Define DF_TEXTREL
3014 after emitting relocation.
3015 (_bfd_mips_elf_adjust_dynamic_symbol): Ditto.
3016 (_bfd_mips_elf_check_relocs): Remove code to set DF_TEXTREL
3017 and readonly_reloc.
3018
ed84e695
NC
30192005-03-23 Mike Frysinger <[email protected]>
3020 Nick Clifton <[email protected]>
3021
3022 * config.bfd: Accept any C library to accompany a GNU Linux
3023 implementation, not just the GNU C library.
3024 * configure.in: Likewise.
3025 * configure: Regenerate.
3026
81e1b023
L
30272005-03-22 H.J. Lu <[email protected]>
3028
3029 * bfd-in.h (_bfd_elf_provide_symbol): New.
3030 * bfd-in2.h: Regenerated.
3031
3032 * elf32-ppc.c (set_linker_sym): Moved to elflink.c.
3033 (ppc_elf_set_sdata_syms): Call _bfd_elf_provide_symbol instead
3034 of set_linker_sym.
3035
3036 * elflink.c (_bfd_elf_provide_symbol): New. Moved and renamed
3037 from elf32-ppc.c.
3038
672c2d7e
HPN
30392005-03-22 Hans-Peter Nilsson <[email protected]>
3040
3041 * hash.c (strtab_hash_newfunc): Fix typo in allocated size.
3042
1fbc7e7a
BW
30432005-03-22 Bob Wilson <[email protected]>
3044
3045 * xtensa-isa.c (xtensa_opcode_lookup, xtensa_state_lookup,
3046 xtensa_sysreg_lookup_name, xtensa_interface_lookup,
3047 xtensa_funcUnit_lookup): Skip bsearch call if count is zero.
3048 (xtensa_opcode_decode): Rearrange code.
3049
c8e7bf0d
NC
30502005-03-22 Nick Clifton <[email protected]>
3051
3052 * binary.c: Convert to ISO C90 formatting.
3053 * coff-arm.c: Convert to ISO C90 formatting.
3054 * coffgen.c: Convert to ISO C90 formatting.
3055 * elf32-gen.c: Convert to ISO C90 formatting.
3056 * elf64-gen.c: Convert to ISO C90 formatting.
3057 * hash.c: Convert to ISO C90 formatting.
3058 * ieee.c: Convert to ISO C90 formatting.
3059
28a094c2
DJ
30602005-03-22 Daniel Jacobowitz <[email protected]>
3061
3062 * elf32-arm.c (elf32_arm_final_link_relocate): Don't fail for
3063 unresolved symbols in R_ARM_NONE relocations.
3064
0945cdfd
DJ
30652005-03-22 Daniel Jacobowitz <[email protected]>
3066
3067 * elf32-arm.c (elf32_arm_final_link_relocate): Add
3068 UNRESOLVED_RELOC_P argument. Set it appropriately.
3069 (elf32_arm_relocate_section): Update call to
3070 elf32_arm_final_link_relocate. Don't clobber RELOCATION; use
3071 unresolved_reloc instead.
3072
11d2f718
AM
30732005-03-23 Alan Modra <[email protected]>
3074
3075 * elflink.c (elf_link_add_object_symbols): Set SEC_EXCLUDE on
3076 .gnu.warning.* sections.
3077
76750a2f
AM
30782005-03-22 Alan Modra <[email protected]>
3079
3080 * elf32-ppc.c (elf_linker_section_pointers_t): Remove
3081 written_address_p.
3082 (ppc_elf_create_linker_section): Don't try to reuse existing section.
3083 (elf_create_pointer_linker_section): Delete info parm. Don't make
3084 h dynamic. Don't set written_address_p.
3085 (ppc_elf_check_relocs): Adjust ppc_elf_create_linker_section calls.
3086 (bfd_put_ptr): Delete.
3087 (elf_finish_pointer_linker_section): Remove output_bfd and info parms.
3088 Always write section contents. Assert global sym is def_regular.
3089 Use offset bottom bit as a written flag.
3090 (ppc_elf_relocate_section): Adjust elf_finish_pointer_linker_section
3091 calls.
3092
f85f57ad
AM
30932005-03-22 Alan Modra <[email protected]>
3094
3095 * elf32-ppc.c (ppc_elf_set_sdata_syms): New function, extracted from..
3096 (ppc_elf_set_sdata_syms): ..here. Expand comment. Set .sbss start
3097 and end syms.
3098
2dc773a0
NC
30992005-03-21 Nick Clifton <[email protected]>
3100
3101 * coff-arm.c (coff_link_hash_entry): Only define for non WINCE
3102 targets.
3103 (t2a1_bx_pc_insn): Likewise.
3104 (t2a2_noop_insn): Likewise.
3105 (t2a3_b_insn): Likewise.
3106 (t2a1_push_insn): Likewise.
3107 (t2a2_ldr_insn): Likewise.
3108 (t2a3_mov_insn): Likewise.
3109 (t2a4_bx_insn): Likewise.
3110 (t2a5_pop_insn): Likewise.
3111 (t2a6_bx_insn): Likewise.
3112 (coff_arm_relocate_section): Only declare the high_address
3113 variable for non WINCE targets.
3114
644285ef
AM
31152005-03-22 Alan Modra <[email protected]>
3116
3117 * elf32-ppc.c (ppc_elf_add_symbol_hook): Make htab->sbss
3118 SEC_LINKER_CREATED. Attach to dynobj.
3119 (ppc_elf_size_dynamic_sections): Strip htab->sbss if zero size.
3120
c9a2f333
AM
31212005-03-21 Alan Modra <[email protected]>
3122
3123 * elf32-ppc.c (struct elf_linker_section): Remove sym_hash and
3124 sym_offset. Add name, bss_name, sym_name, sym_val.
3125 (struct ppc_elf_link_hash_table): Remove sdata and sdata2 pointers.
3126 Add sdata array of elf_linker_section_t.
3127 (ppc_elf_link_hash_table_create): Set name, sym_name, and bss_name.
3128 (enum elf_linker_section_enum): Delete.
3129 (ppc_elf_create_linker_section): Rewrite. Don't create syms here.
3130 (ppc_elf_check_relocs): Delay ppc_elf_create_linker_section until
3131 the special sections are needed. Adjust htab->sdata refs.
3132 Ensure dynobj is set in sreloc code.
3133 (ppc_elf_size_dynamic_sections): Strip sdata sections.
3134 (ppc_elf_set_sdata_syms): New function.
3135 (elf_finish_pointer_linker_section): Use 0x8000 for sym_offset.
3136 (ppc_elf_relocate_section): Adjust references to htab->sdata. Use
3137 sym_val instead of sym_hash.
3138 * elf32-ppc.h (ppc_elf_set_sdata_syms): Declare.
3139
8853c3d3
AM
31402005-03-21 Alan Modra <[email protected]>
3141
3142 * elf32-ppc.c (is_ppc_elf_target): Move to linker part of file.
3143 (ppc_elf_merge_private_bfd_data): Likewise.
3144
2bb04cf2
AM
31452005-03-21 Alan Modra <[email protected]>
3146
3147 * elf32-ppc.c (struct elf_linker_section): Remove rel_section.
3148 (ppc_elf_create_linker_section): Don't create rel_section.
3149 (elf_create_pointer_linker_section): Don't size relocs.
3150 (elf_finish_pointer_linker_section): Remove relative_reloc parm.
3151 Don't generate relocs.
3152 (ppc_elf_relocate_section): Adjust calls to
3153 elf_finish_pointer_linker_section.
3154
d2663f46
AM
31552005-03-21 Alan Modra <[email protected]>
3156
3157 * elf32-ppc.c (is_ppc_elf_target): New function.
3158 (ppc_elf_merge_private_bfd_data): Use it rather than just testing
3159 for bfd_target_elf_flavour. Do this test before endian check.
3160 (ppc_elf_add_symbol_hook): Use is_pcc_elf_target.
3161 (ppc_elf_size_dynamic_sections): Likewise.
3162
6dc132d9
L
31632005-03-20 H.J. Lu <[email protected]>
3164
3165 * elf-bfd.h (elf_backend_data): Add int to
3166 elf_backend_section_from_shdr.
3167 (bfd_elf_section_data): Update comment for this_idx.
3168 (_bfd_elf_make_section_from_shdr): Add int.
3169 * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
3170
3171 * elf.c (_bfd_elf_make_section_from_shdr): Take section index
3172 and use it to set this_idx in bfd_elf_section_data.
3173 (bfd_section_from_shdr): Pass shindex to
3174 _bfd_elf_make_section_from_shdr.
3175 (_bfd_elf_section_from_bfd_section): Use this_idx in
3176 bfd_elf_section_data to find section index.
3177
3178 * elf32-arm.c (elf32_arm_section_from_shdr): Take section
3179 index and pass it to _bfd_elf_make_section_from_shdr.
3180 * elf32-i370.c(i370_elf_section_from_shdr): Likewise.
3181 * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
3182 * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
3183 * elf32-v850.c (v850_elf_section_from_shdr): Likewise.
3184 * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
3185 * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
3186 * elf64-x86-64.c (elf64_x86_64_section_from_shdr): Likewise.
3187 * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
3188 * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
3189
cabd4ccc
DS
31902005-03-19 Danny Smith <[email protected]>
3191 Ross Ridge <[email protected]>
3192
3193 * peicode.h (pe_ILF_build_a_bfd): Strip only one prefix
3194 character in IMPORT_NAME_UNDECORATE and IMPORT_NAME_NOPREFIX
3195 cases. Add comment.
3196
7451fd89
L
31972005-03-18 H.J. Lu <[email protected]>
3198
3199 * elflink.c (elf_mark_used_section): Remove check for special
3200 sections.
3201
b4677f03
AS
32022005-03-18 Andreas Schwab <[email protected]>
3203
3204 * elfxx-ia64.c (elfNN_ia64_install_value): Change type of insn
3205 from bfd_vma to ia64_insn, remove broken cast.
3206
238d258f
NC
32072005-03-18 C Jaiprakash <[email protected]>
3208
8853c3d3 3209 * elf32-m68k.c (elf_cfv4e_plt0_entry): plt entry for coldfire v4e.
238d258f
NC
3210 (elf_m68k_adjust_dynamic_symbol,elf_m68k_finish_dynamic_symbol,
3211 elf_m68k_finish_dynamic_sections): Use it.
3212
b294bdf8
MM
32132005-03-17 Paul Brook <[email protected]>
3214 Dan Jacobowitz <[email protected]>
3215 Mark Mitchell <[email protected]>
3216
3217 * elf32-arm.c (elf32_arm_modify_segment_map): New function.
3218 (elf32_arm_additional_program_headers): Likewise.
3219 (elf_backend_modify_segment_map): Define.
3220 (elf_backend_additional_program_headers): Likewise.
3221 (elf32_arm_symbian_modify_segment_map): Use
3222 elf32_arm_modify_segment_map.
3223
257a4820
L
32242005-03-18 H.J. Lu <[email protected]>
3225
3226 * elflink.c (elf_mark_used_section): Check bfd_is_const_section
3227 for special sections.
3228
554220db
AM
32292005-03-18 Alan Modra <[email protected]>
3230
3231 * elf-bfd.h (_bfd_elf_link_renumber_dynsyms): Delete.
3232 * elflink.c (_bfd_elf_link_renumber_dynsyms): Make static, add
3233 section_sym_count param, and return number of section symbols.
3234 (bfd_elf_size_dynamic_sections): Clear section symbol area of
3235 .dynsym contents. Don't bother calling swap_symbol_out on the
3236 first all-zero dynsym.
3237 (elf_mark_used_section): Formatting. Avoid twiddling flags in
3238 special sections like bfd_abs_section.
3239 (bfd_elf_gc_sections): Spelling fix.
3240
36868d45
NC
32412005-03-16 Fred Fish <[email protected]>
3242
3243 PR binutils/790
3244 * dwarf2.c (read_indirect_string): Fix apparent typo, check
3245 dwarf_str_buffer allocation, not dwarf_abbrev_buffer.
3246
57316bff
L
32472005-03-16 H.J. Lu <[email protected]>
3248
3249 * elflink.c (elf_mark_used_section): New.
3250 (bfd_elf_gc_sections): Call elf_gc_mark_section for
3251 non-relocatable link if we don't do GC.
3252
1ad12f97
NC
32532005-03-16 Nick Clifton <[email protected]>
3254 Ben Elliston <[email protected]>
3255
569acd2c 3256 * configure.in (werror): New switch: Add -Werror to the
1ad12f97 3257 compiler command line. Enabled by default. Disable via
569acd2c 3258 --disable-werror.
1ad12f97
NC
3259 * configure: Regenerate.
3260
3b5d3310
NC
32612005-03-16 Nick Clifton <[email protected]>
3262
3263 * ecoff.c: Convert to ISO C90 formatting.
3264
25dbc73a
AM
32652005-03-16 Alan Modra <[email protected]>
3266
3267 * elf32-ppc.c: Divide file into general and linker specific
3268 functions. Sort linker functions into roughly the order in which
3269 they are called by the ELF linker code.
3270
cb2d1ef2
AM
32712005-03-16 Alan Modra <[email protected]>
3272
3273 * elf32-ppc.c (ppc_elf_create_linker_section): Set SEC_LINKER_CREATED
3274 on section. Correct comment, and add FIXME.
3275 (ppc_elf_additional_program_headers): Don't bump header count for
3276 interp. Test SEC_ALLOC, not SEC_LOAD, and don't test size.
3277 (ppc_elf_size_dynamic_sections): Don't strip sdata and sdata2, but
3278 do allocate memory if they need it.
3279
34723071
NC
32802005-03-15 Mikkel Krautz <[email protected]>
3281
3282 * config.bfd (x86_64-elf): Add target.
3283
729ae8d2
AM
32842005-03-15 Alan Modra <[email protected]>
3285
3286 * po/es.po: Commit new Spanish translation.
3287
f0581930
L
32882005-03-14 H.J. Lu <[email protected]>
3289
3290 * elfxx-ia64.c (elfNN_ia64_relocate_section): Set symbo name
3291 for global symbol when reporting overflow.
3292
390c0e42
JJ
32932005-03-11 Jakub Jelinek <[email protected]>
3294
3295 * libbfd-in.h (_bfd_ar_spacepad): New prototype.
3296 * libbfd.h: Rebuilt.
3297 * archive.c (_bfd_ar_spacepad): New function.
3298 (_bfd_construct_extended_name_table, _bfd_write_archive_contents,
3299 bsd_write_armap, _bfd_archive_bsd_update_armap_timestamp,
3300 coff_write_armap): Use it.
3301 (bfd_ar_hdr_from_filesystem): Likewise. Fix HP-UX large
3302 uid/gid support.
3303 * archive64.c (bfd_elf64_archive_write_armap): Use _bfd_ar_spacepad.
3304
a2633f4e
MK
33052005-03-10 Mark Kettenis <[email protected]>
3306
3307 * archive.c (_bfd_look_for_bfd_in_cache): Move declaration of
3308 has_table to the start of the function.
3309
109f7096
BE
33102005-03-10 Ben Elliston <[email protected]>
3311
3312 * archive.c: Include hashtab.h.
3313 (struct ar_cache): Rename `arelt' to `arbfd' and remove `next'.
3314 (_bfd_look_for_bfd_in_cache): Reimplement using htab_find.
3315 (hash_file_ptr): New function.
3316 (eq_file_ptr): Likewise.
3317 (_bfd_add_bfd_to_archive_cache): Reimplement using a hash table.
3318 * libbfd-in.h: Include hashtab.h.
3319 (struct artdata): Change `cache' member type to htab_t.
3320 * libbfd.h: Rebuild.
3321
664fe1be
DJ
33222005-03-08 Daniel Jacobowitz <[email protected]>
3323
3324 * configure.in: Bump version to 2.16.90.
3325 * configure: Regenerated.
3326
0709bb22
JJ
33272005-03-07 Jakub Jelinek <[email protected]>
3328
3329 * opncls.c (opncls_bread, opncls_bclose): Fix if pread resp.
3330 close is a function like macro in system headers.
3331
b18e2ae5
AM
33322005-03-07 Alan Modra <[email protected]>
3333
3334 PR ld/778
3335 * elf32-hppa.c (elf32_hppa_create_dynamic_sections): Reinstate
3336 _GLOBAL_OFFSET_TABLE_ as a normal dynamic symbol.
3337
1f170678
AM
33382005-03-06 Alan Modra <[email protected]>
3339
3340 * elf.c (elfcore_grok_win32pstatus): Warning fixes.
3341
06647dfd
AM
33422005-03-05 Alan Modra <[email protected]>
3343
3344 * po/bfd.pot: Regenerate.
3345
93f3fa99
AM
33462005-03-05 Alan Modra <[email protected]>
3347
3348 * elf64-ppc.c (update_plt_info): Don't mark new ABI call syms
3349 with is_func.
3350 (func_desc_adjust): Force dot-syms local in executables as well
3351 as shared libs.
3352
bbe506e8
TS
33532005-03-04 David Daney <[email protected]>
3354
3355 * elfxx-mips.c (mips_elf_calculate_relocation): Handle special
3356 '__gnu_local_gp' symbol used by gas -mno-shared.
3357
d27f5fa1
L
33582005-03-03 H.J. Lu <[email protected]>
3359
3360 * elf-bfd.h (elf_backend_data): Add "const char *" to
3361 elf_backend_section_from_phdr.
3362
3363 * elf.c (bfd_section_from_phdr): Pass "proc" to the
3364 elf_backend_section_from_phdr hook.
3365
0f20cc35
DJ
33662005-03-02 Daniel Jacobowitz <[email protected]>
3367 Joseph Myers <[email protected]>
3368
3369 * elfxx-mips.c (struct mips_got_entry): Add tls_type.
3370 (struct mips_got_info): Add tls_gotno, tls_assigned_gotno,
3371 and tls_ldm_offset.
3372 (struct mips_elf_got_per_bfd_arg): Add global_count.
3373 (struct mips_elf_count_tls_arg): New.
3374 (struct mips_elf_hash_sort_data): Update comment for min_got_dynindx.
3375 (struct mips_elf_link_hash_entry): Add tls_type and tls_got_offset.
3376 (GOT_NORMAL, GOT_TLS_GD, GOT_TLS_LDM, GOT_TLS_IE)
3377 (GOT_TLS_OFFSET_DONE, GOT_TLS_DONE): Define.
3378 (TLS_RELOC_P): Define.
3379 (TP_OFFSET, DTP_OFFSET): Define.
3380 (dtprel_base, tprel_base): New functions.
3381 (mips_elf_link_hash_newfunc): Initialize tls_type.
3382 (mips_elf_got_entry_hash, mips_elf_got_entry_eq)
3383 (mips_elf_multi_got_entry_hash, mips_elf_multi_got_entry_eq): Handle
3384 TLS entries.
3385 (mips_tls_got_relocs, mips_elf_count_local_tls_relocs)
3386 (mips_elf_count_global_tls_entries, mips_elf_count_global_tls_relocs)
3387 (mips_elf_output_dynamic_relocation, mips_elf_initialize_tls_slots)
3388 (mips_tls_got_index): New functions.
3389 (mips_elf_local_got_index): Add new R_SYMNDX, H, and R_TYPE
3390 arguments. Pass them to mips_elf_create_local_got_entry. Use
3391 mips_tls_got_index.
3392 (mips_elf_global_got_index): Add new R_TYPE and INFO arguments.
3393 Handle TLS entries.
3394 (mips_elf_got_page, mips_elf_got16_entry): Update calls to
3395 mips_elf_create_local_got_entry.
3396 (mips_elf_create_local_got_entry): Add new R_SYMNDX, H, and R_TYPE
3397 arguments. Handle TLS entries.
3398 (mips_elf_sort_hash_table_f): Add non-TLS assertions.
3399 (mips_elf_record_local_got_symbol): Add new TLS_FLAG argument. Handle
3400 TLS entries.
3401 (mips_elf_record_global_got_symbol): Likewise.
3402 (mips_elf_make_got_per_bfd): Initialize new mips_got_info members.
3403 Count TLS entries.
3404 (mips_elf_merge_gots): Handle TLS entries when merging.
3405 (mips_elf_initialize_tls_index): New function.
3406 (mips_elf_set_global_got_offset): Handle TLS entries.
3407 (mips_elf_adjust_gp): Handle TLS.
3408 (mips_elf_multi_got): Remove redundant call to
3409 mips_elf_resolve_final_got_entries. Initialize global_count.
3410 Correct a comment. Initialize new TLS members of mips_got_info.
3411 Assign TLS GOT indexes for new GOTs.
3412 (mips_elf_create_got_section): Initialize new TLS members of
3413 mips_got_info.
3414 (mips_elf_calculate_relocation): Handle TLS relocs.
3415 (_bfd_mips_elf_check_relocs): Likewise. Update calls to changed
3416 functions.
3417 (_bfd_mips_elf_always_size_sections): Handle TLS.
3418 (_bfd_mips_elf_size_dynamic_sections): Likewise.
3419 (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Update calls to
3420 changed functions.
3421 (_bfd_mips_elf_copy_indirect_symbol): Copy tls_type.
3422 (_bfd_mips_elf_hide_symbol): Handle TLS.
3423 * elfn32-mips.c (elf_mips_howto_table_rel, elf_mips_howto_table_rela)
3424 (mips_reloc_map): Add TLS relocs.
3425 * elf32-mips.c (elf_mips_howto_table_rel, mips_reloc_map): Likewise.
3426 * elf64-mips.c (mips_elf64_howto_table_rel)
3427 (mips_elf64_howto_table_rela, mips_reloc_map): Likewise.
3428 * reloc.c: Define new MIPS TLS relocations.
3429 * libbfd.h, bfd-in2.h: Regenerated.
3430
bb14f524
JB
34312005-03-02 Jan Beulich <[email protected]>
3432
3433 * Makefile.am: Add dependency of cache.o on libiberty.h.
3434 * cache.c: Include libiberty.h.
3435 (bfd_open_file): Use unlink_if_ordinary instead of unlink.
3436
8c1acd09
ZW
34372005-03-01 Zack Weinberg <[email protected]>
3438
3439 * elf.c (bfd_section_from_shdr <default case>): Call
3440 elf_backend_section_from_shdr hook unconditionally, and return
3441 what it returns.
3442 (bfd_section_from_phdr): Similarly, for elf_backend_section_from_phdr.
3443 * elfxx-target.h (elf_backend_section_from_shdr)
3444 (elf_backend_section_from_phdr): Default to
3445 _bfd_elf_make_section_from_shdr and _bfd_elf_make_section_from_phdr
3446 respectively.
3447
70bfecec
AM
34482005-03-01 Alan Modra <[email protected]>
3449
a67a7b8b
AM
3450 * targets.h: Typo fix.
3451 * bfd-in2.h: Regenerate.
3452
70bfecec
AM
3453 * bout.c (b_out_write_object_contents): Don't use sizeof on host
3454 structs to size on-disk structures.
3455 (b_out_set_section_contents): Size the external struct, not the
3456 internal one for on-disk size.
3457 (b_out_sizeof_headers): Likewise.
3458
ceb1f1ef
AM
34592005-03-01 Alan Modra <[email protected]>
3460
3461 * elf64-ppc.c (ppc64_elf_size_stubs): Override defined dot-sym
3462 entry points with the func descriptor as well as undefweak.
3463
f67e617a
NC
34642005-02-28 Ross Ridge <[email protected]>
3465
3466 * peicode.h (pe_ILF_build_a_bfd): Do not assume that an @ will be
3467 present when IMPORT_NAME_UNDOECRATE is used.
3468
af44c138
L
34692005-02-28 H.J. Lu <[email protected]>
3470
3471 PR 757
3472 * elf-bfd.h (_bfd_elf_merge_symbol): Add a pointer to unsigned
3473 int.
3474
3475 * elf32-sh-symbian.c (sh_symbian_relocate_section): Pass NULL
3476 to _bfd_elf_merge_symbol.
3477
3478 * elflink.c (_bfd_elf_merge_symbol): Use the pointer to
3479 unsigned int to return the alignment of the old common symbol
3480 in the dynamic object.
3481 (_bfd_elf_add_default_symbol): Pass NULL to
3482 _bfd_elf_merge_symbol.
3483 (elf_link_add_object_symbols): Pass &old_alignment to
3484 _bfd_elf_merge_symbol. Get the alignment of the new common
3485 symbol in the dynamic object.
3486
10adf131
BE
34872005-02-24 Ben Elliston <[email protected]>
3488
3489 * coffcode.h (coff_sym_filepos): Remove GNU960 conditional code.
3490 * format.c (bfd_check_format_matches): Likewise.
3491 * archive.c (BFD_GNU960_ARMAG): Likewise.
3492 (bfd_generic_archive_p): Likewise.
3493 (_bfd_write_archive_contents): Likewise.
3494
60b779bf
L
34952005-02-24 H.J. Lu <[email protected]>
3496
3497 * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.95.
3498 * configure: Regenerate.
3499
1f02cbd9
JB
35002005-02-24 Julian Brown <[email protected]>
3501
3502 * elflink.c (elf_link_add_object_symbols): Force symbols in discarded
3503 COMDAT group sections to have default visibility.
3504
f60ca5e3
AM
35052005-02-24 Alan Modra <[email protected]>
3506
3507 * coffcode.h (coff_print_aux): Warning fix.
3508 * elf-m10300.c (mn10300_elf_relax_section): Use section->id
3509 instead of section pointer to identify.
3510 * coff-h8300.c (h8300_reloc16_extra_cases): Likewise. Allocate
3511 the correct size buffer for local sym mangling too.
3512 (h8300_bfd_link_add_symbols): Likewise.
3513 * elf32-sh-symbian.c (sh_symbian_process_embedded_commands): Fix
3514 warning.
3515 * elf32-sh64.c (shmedia_prepare_reloc): Use %B and %p in error message
3516 * elf32-xtensa.c (literal_value_hash): Warning fix.
3517 * versados.c (process_otr): Warning fix.
3518 (versados_canonicalize_reloc): Likewise.
3519 * vms-gsd.c (_bfd_vms_slurp_gsd): Warning fix.
3520 * vms.c (fill_section_ptr): Warning fix.
3521
9a5d8e72
L
35222005-02-23 H.J. Lu <[email protected]>
3523
3524 * coff-tic54x.c (SWAP_OUT_RELOC_EXTRA): Defined.
3525 * coff-tic80.c (SWAP_OUT_RELOC_EXTRA): Likewise.
3526
4b6c0f2f
NC
35272005-02-23 Nick Clifton <[email protected]>
3528
abc0f8d0
NC
3529 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Initialise
3530 the relvaddr field of the Elf32_crinfo structure.
3531
9b69b847
NC
3532 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Initialise
3533 variables that are passed by reference to
3534 m68hc11_get_relocation_value in case that function does not
3535 initialise them.
3536
90e868ac
NC
3537 * elf32-cr16c.c (cr16c_elf_final_link_relocate): Remove duplicated
3538 return statements and replace with a single return at the end of
3539 the function. This helps pacify the flow analysis code in gcc 4.0.
3540
4b6c0f2f
NC
3541 * elf.c (_bfd_elf_compute_section_file_positions): Initialise
3542 strtab to avoid compile time warning.
3543
c3e8c140
BE
35442005-02-23 Ben Elliston <[email protected]>
3545
3546 * opncls.c (bfd_zalloc): Document this function.
3547
ebe372c1
L
35482005-02-21 H.J. Lu <[email protected]>
3549
3550 * coffcode.h (sec_to_styp_flags): Replaced SEC_CLINK with
3551 SEC_TIC54X_CLINK. Replace SEC_BLOCK with SEC_TIC54X_BLOCK.
3552 Replace SEC_SHARED with SEC_COFF_SHARED.
3553 (styp_to_sec_flags): Likewise.
3554
3555 * elfxx-target.h (TARGET_BIG_SYM): Remove SEC_ARCH_BIT_0.
3556 (TARGET_LITTLE_SYM): Likewise.
3557
3558 * section.c (SEC_ARCH_BIT_0): Removed.
3559 (SEC_LINK_DUPLICATES_SAME_CONTENTS): Defined with
3560 SEC_LINK_DUPLICATES_ONE_ONLY and SEC_LINK_DUPLICATES_SAME_SIZE.
3561 (SEC_SHARED): Renamed to ...
3562 (SEC_COFF_SHARED): This.
3563 (SEC_BLOCK): Renamed to ...
3564 (SEC_TIC54X_BLOCK): This.
3565 (SEC_CLINK): Renamed to ...
3566 (SEC_TIC54X_CLINK): This.
3567 (SEC_XXX): Rearranged. Move SEC_COFF_SHARED_LIBRARY,
3568 SEC_COFF_SHARED, SEC_TIC54X_BLOCK and SEC_TIC54X_CLINK to the
3569 end.
3570 * bfd-in2.h: Regenerated.
3571
26bf4e33
FF
35722005-02-21 Fred Fish <[email protected]>
3573
3574 * dwarf2.c (find_abstract_instance_name): Call recursively
3575 to handle a DW_AT_specification.
3576
e6daada3
TS
35772005-02-21 Thiemo Seufer <[email protected]>
3578
3579 * elfxx-mips.c (ecoff_swap_rpdr_out, mips_elf_output_extsym,
3580 mips_elf_create_dynamic_relocation,
3581 _bfd_mips_elf_size_dynamic_sections, _bfd_mips_elf_final_link):
3582 Remove #if 0'd code.
3583
d25604af
AM
35842005-02-21 Alan Modra <[email protected]>
3585
3586 * Makefile.am: Run "make dep-am"
3587 * Makefile.in: Regenerate.
3588
fedf8d51
AM
35892005-02-21 Alan Modra <[email protected]>
3590
3591 * coffgen.c (bfd_coff_get_comdat_section): Check that
3592 coff_section_data isn't NULL.
3593
f075ee0c
AM
35942005-02-21 Alan Modra <[email protected]>
3595
3596 * bfd-in.h (bfd_elf_bfd_from_remote_memory): Warning fix.
3597 * coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): Likewise.
3598 * coff-rs6000.c (xcoff_write_armap_big): Warning fixes. Remove
3599 useless assignments.
3600 (xcoff_write_archive_contents_big): Likewise.
3601 (_bfd_xcoff_put_ldsymbol_name): Likewise.
3602 * coff64-rs6000.c (_bfd_xcoff64_put_ldsymbol_name): Likewise.
3603 * coffgen.c (coff_write_symbols): Make "written" a bfd_vma.
3604 * cofflink.c (process_embedded_commands): Warning fixes.
3605 * cpu-arm.c: Delete unnecessary prototypes. Convert to C90.
3606 Warning fixes.
3607 * dwarf2.c: Warning fixes.
3608 * elf-bfd.h: Likewise.
3609 * elf-eh-frame.c: Likewise.
3610 * elf-strtab.c: Likewise.
3611 * elf.c: Likewise.
3612 * elf32-m68k.c: Likewise.
3613 * elf32-ppc.c: Likewise.
3614 * elf32-sh-symbian.c: Likewise.
3615 * elf32-sh.c: Delete unnecessary prototypes. Warning fixes.
3616 * elf64-sh64.c: Likewise.
3617 * peicode.h: Likewise.
3618 * elf64-mmix.c: Warning fixes.
3619 * elfcode.h: Likewise.
3620 * elfxx-mips.c: Likewise.
3621 * libbfd-in.h: Likewise.
3622 * libbfd.c: Likewise.
3623 * mach-o.c: Likewise.
3624 * merge.c: Likewise.
3625 * mmo.c: Likewise.
3626 * opncls.c: Likewise.
3627 * pef.c: Likewise.
3628 * srec.c: Likewise.
3629 * vms-hdr.c: Likewise.
3630 * vms-tir.c: Likewise.
3631 * xtensa-isa.c: Likewise.
3632 * xtensa-modules.c: Likewise.
3633 * xsym.c: Likewise.
3634 (pstrcmp): Use correct choice of string lengths. Fix return value.
3635 (bfd_sym_module_name): Correct string length.
3636 * bfd-in2.h: Regenerate.
3637 * libbfd.h: Regenerate.
3638
68320ddb
AO
36392005-02-17 Alexandre Oliva <[email protected]>
3640
3641 * elf32-frv.c (elf32_frv_relocate_section): Remove warning from
fedf8d51 3642 uninitialized check_segment[1] in TLSMOFF case.
68320ddb
AO
3643 Reported by Alan Modra.
3644 (elf32_frv_relocate_section): Improve errors and warnings.
3645
1808e341
AM
36462005-02-17 Alan Modra <[email protected]>
3647
3648 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Fix warning.
3649
5ff625e9
AM
36502005-02-16 Alan Modra <[email protected]>
3651
3652 * coff-arm.c (coff_arm_is_local_label_name): Warning fix.
3653 * elf32-frv.c (frvfdpic_relocs_info_hash): Likewise.
3654 * pef.c (bfd_pef_scan): Don't ignore return value of
3655 bfd_pef_scan_start_address.
7e3102a7
AM
3656 * mach-o.c (bfd_mach_o_scan): Don't ignore return value of
3657 bfd_mach_o_scan_start_address.
3658 * elfxx-ia64.c (elfNN_ia64_relax_brl): Rewrite for 32-bit bfd_vma.
3659 * elfxx-mips.c: Remove unnecessary prototypes.
3660 (sort_dynamic_relocs_64): Abort if not BFD64.
5ff625e9 3661
92b7a70f
AM
36622005-02-16 Alan Modra <[email protected]>
3663
3664 * elf64-ppc.c (ppc64_elf_edit_toc): Skip toc if size is zero.
3665 Skip toc reloc adjust if reloc_count is zero.
3666
d6f16593 36672005-02-15 Nigel Stephens <[email protected]>
fedf8d51 3668 Maciej W. Rozycki <[email protected]>
d6f16593
MR
3669
3670 * elf32-mips.c (elf_mips16_howto_table_rel): New array for MIPS16
3671 reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16 relocs and
3672 R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
3673 (elf_mips16_jump_howto): Move into elf_mips16_howto_table_rel.
3674 (elf_mips16_gprel_howto): Likewise. Redefine src_mask and
3675 dst_mask.
3676 (mips16_gprel_reloc): Remove bit shuffling; call
3677 _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
3678 and _bfd_mips16_elf_reloc_shuffle() instead.
3679 (mips16_reloc_map): New reloc map for MIPS16 relocs.
3680 (bfd_elf32_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
3681 relocs.
3682 (mips_elf32_rtype_to_howto): Fetch MIPS16 howtos from
3683 elf_mips16_howto_table_rel.
3684 * elf64-mips.c (mips16_elf64_howto_table_rel): New array for
3685 MIPS16 REL reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16
3686 relocs and R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
3687 (elf_mips16_jump_howto): Move into mips16_elf64_howto_table_rel.
3688 (elf_mips16_gprel_howto): Likewise. Redefine src_mask and
3689 dst_mask.
3690 (mips16_elf64_howto_table_rela): New array for MIPS16 RELA
3691 reloc howtos. Add R_MIPS16_26, R_MIPS16_GPREL, R_MIPS16_HI16 and
3692 R_MIPS16_LO16 relocs and R_MIPS16_GOT16 and R_MIPS16_CALL16
3693 placeholders.
3694 (mips16_gprel_reloc): Remove bit shuffling; call
3695 _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
3696 and _bfd_mips16_elf_reloc_shuffle() instead.
3697 (mips16_reloc_map): New reloc map for MIPS16 relocs.
3698 (bfd_elf64_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
3699 relocs.
3700 (mips_elf64_rtype_to_howto): Fetch MIPS16 howtos from
3701 mips16_elf64_howto_table_rela or mips16_elf64_howto_table_rel.
3702 * elfn32-mips.c (elf_mips16_howto_table_rel): New array for MIPS16
3703 REL reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16 relocs and
3704 R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
3705 (elf_mips16_jump_howto): Move into elf_mips16_howto_table_rel.
3706 (elf_mips16_gprel_howto): Likewise. Redefine src_mask and
3707 dst_mask.
3708 (mips16_gprel_reloc): Remove bit shuffling; call
3709 _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
3710 and _bfd_mips16_elf_reloc_shuffle() instead.
3711 (mips16_reloc_map): New reloc map for MIPS16 relocs.
3712 (bfd_elf32_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
3713 relocs.
3714 (mips_elf_n32_rtype_to_howto): Fetch MIPS16 howtos from
3715 elf_mips16_howto_table_rela or elf_mips16_howto_table_rel.
3716 * elfxx-mips.c (_bfd_mips16_elf_reloc_unshuffle): New function to
3717 handle bit shuffling for MIPS16 relocs.
3718 (_bfd_mips16_elf_reloc_shuffle): Likewise.
3719 (_bfd_mips_elf_lo16_reloc): Use _bfd_mips16_elf_reloc_unshuffle()
3720 and _bfd_mips16_elf_reloc_shuffle().
3721 (_bfd_mips_elf_generic_reloc): Likewise.
3722 (mips_elf_calculate_relocation): Likewise. Handle R_MIPS16_HI16
3723 and R_MIPS16_LO16.
3724 (mips_elf_obtain_contents): Remove bit shuffling.
3725 (mips_elf_perform_relocation): Likewise; call
3726 _bfd_mips16_elf_reloc_unshuffle() and _bfd_mips16_elf_reloc_shuffle()
3727 instead.
3728 (_bfd_mips_elf_relocate_section): Likewise. Handle R_MIPS16_HI16
3729 and R_MIPS16_LO16.
3730 * elfxx-mips.h (_bfd_mips16_elf_reloc_unshuffle): Declare.
3731 (_bfd_mips16_elf_reloc_shuffle): Likewise.
3732 * reloc.c (BFD_RELOC_MIPS16_HI16): New reloc.
3733 (BFD_RELOC_MIPS16_HI16_S): Likewise.
3734 (BFD_RELOC_MIPS16_LO16): Likewise.
3735 * bfd-in2.h: Regenerate.
3736 * libbfd.h: Regenerate.
3737
0ca3e455
JB
37382005-02-15 Jan Beulich <[email protected]>
3739
3740 * elfxx-ia64.c (ia64_howto_table): Correct strings for
3741 R_IA64_DTPMOD64[LM]SB.
3742
c5509b92
L
37432005-02-14 H.J. Lu <[email protected]>
3744
3745 * elfxx-ia64.c (elfNN_ia64_relax_section): Allow relax
3746 backward branch in the same section.
3747 (elfNN_ia64_relocate_section): Inform users that the input
3748 section is too big to relax br instruction when overflow
3749 happens to R_IA64_PCREL21B, R_IA64_PCREL21BI, R_IA64_PCREL21M
3750 and R_IA64_PCREL21F.
3751
5cba516c
NC
37522005-02-14 Orjan Friberg <[email protected]>
3753
3754 * elfcore.h (elf_core_file_p): Move the call to
3755 elf_backend_object_p to allow the correct machine to be set before
3756 processing the program headers.
3757
b59a68e1
NC
37582005-02-14 Nick Clifton <[email protected]>
3759
3760 PR binutils/716
3761 * peicode.h (pe_bfd_copy_private_bfd_data): Copy the large address
3762 aware flag from the input bfd to the output bfd.
3763
254f0426
MR
37642005-02-11 Maciej W. Rozycki <[email protected]>
3765
3766 * elf32-mips.c (_bfd_mips_elf32_gprel16_reloc): Reject
3767 R_MIPS_LITERAL relocations for external symbols.
3768 * elf64-mips.c (mips_elf64_literal_reloc): Likewise.
3769 * elfn32-mips.c (mips_elf_literal_reloc): Likewise.
3770
e91cdea7
L
37712005-02-11 H.J. Lu <[email protected]>
3772
3773 * bfd-in2.h: Rebuilt.
3774
67687978
PB
37752005-02-11 Paul Brook <[email protected]>
3776
3777 * elf-bfd.h (struct elf_link_hash_table): Add
3778 is_relocatable_executable.
3779 * elf.c (_bfd_elf_link_hash_table_init): Initialize it.
3780 * elflink.c (bfd_elf_link_record_dynamic_symbol): Create local dynamic
3781 symbols in relocatable executables.
3782 (bfd_elf_record_link_assignment): Create dynamic section symbols in
3783 relocatable executables.
3784 (_bfd_elf_link_renumber_dynsyms): Ditto.
3785 (bfd_elf_final_link): Ditto.
3786 * elf32-arm.c (elf32_arm_final_link_relocate): Copy absolute
3787 relocations into relocatable executables.
3788 (elf32_arm_check_relocs): Crate dynamic sections for relocatable
3789 executables. Also copy absolute relocations.
3790 (elf32_arm_adjust_dynamic_symbol): Don't create copy relocations
3791 in relocatable executables.
3792 (allocate_dynrelocs): Copy relocations for relocatable executables.
3793 Output dynamic symbols for symbols defined in linker scripts.
3794
ca724bf2
NC
37952005-02-11 Nick Clifton <[email protected]>
3796
4b74b983
NC
3797 * libbfd.c (read_signed_leb128): Use an unsigned type for 'shift'
3798 to avoid a compile time warning.
3799
ca724bf2
NC
3800 * coff-alpha.c (alpha_adjust_reloc_in): Remove redundant test from
3801 BFD_ASSERT.
3802
3e25964f
NC
3803 * coff-tic4x.c (coff_rtype_to_howto): Move definition before
3804 inclusion of coffcode.h so that it is actually picked up.
3805
cb7a88a4
NC
3806 * coffcode.h (coff_std_swap_table): Add an unused attribute in
3807 case it is not used.
3808
596c83ec
NC
3809 * elf32-ip2k.c (ip2k_call_opcode, IS_CALL_OPCODE): Remove unused
3810 structure and macro.
3811
6c408f53
NC
3812 * elf32-iq2000.c (iq2000_reloc_map): Remove unused structure and
3813 array.
3814
d5b2f13b
NC
3815 * elf32-m32r.c (m32r_reloc_map_old): Use #ifdef USE_M32R_OLD_RELOC
3816 to protect the declaration of this array.
3817
169a6afd
NC
3818 * xsym.c (bfd_sym_parse_contained_variables_table_entry_v32):
3819 Avoid call to memcpy with a size of 0.
3820
2917689a
AM
38212005-02-12 Alan Modra <[email protected]>
3822
3823 * elf64-ppc.c (toc_adjusting_stub_needed): Return true for
3824 old-style branches to undefined dot-symbols which will be
3825 satisfied by a plt call.
3826
40d16e0b
AM
38272005-02-11 Alan Modra <[email protected]>
3828
3829 * elf64-ppc.c (move_plt_plist): New function, extracted from..
3830 (ppc64_elf_copy_indirect_symbol): ..here.
3831 (func_desc_adjust): Use move_plt_plist.
3832
e37c699c
PB
38332005-02-10 Paul Brook <[email protected]>
3834
3835 * elf32-arm.c (elf32_arm_final_link_relocate): Handle R_ARM_THM_PC9.
3836
6fa3860b
PB
38372005-02-10 Paul Brook <[email protected]>
3838
3839 * elflink.c (bfd_elf_record_link_assignment): Make hidden and internal
3840 symbols local.
3841 (elf_link_renumber_hash_table_dynsyms): Ignore local symbols.
3842 (elf_link_renumber_local_hash_table_dynsyms): New function.
3843 (_bfd_elf_link_renumber_dynsyms): Number local dynamic symbols.
3844
d457dcf6
JJ
38452005-02-10 Jakub Jelinek <[email protected]>
3846
3847 * bfd-in.h (BFD_LINKER_CREATED): Define.
3848 * bfd-in2.h: Rebuilt.
3849 * elflink.c (bfd_elf_size_dynamic_sections): Disregard
3850 BFD_LINKER_CREATED bfds when determining input bfds without
3851 .note.GNU-stack section.
3852
7f05722e
MR
38532005-02-10 Maciej W. Rozycki <[email protected]>
3854
3855 * elf64-mips.c (mips16_gprel_reloc): Update a comment.
3856 * elfn32-mips.c (mips16_gprel_reloc): Keep R_MIPS16_GPREL
3857 relocations against external symbols unchanged.
3858
ccf5f610
PB
38592005-02-08 Paul Brook <[email protected]>
3860
3861 * elflink.c (elf_link_input_bfd): Ignore symbols from null input
3862 sections.
3863
370a0e1b
HPN
38642005-02-08 Hans-Peter Nilsson <[email protected]>
3865
3866 * elflink.c (elf_link_add_object_symbols): Don't add "warning: "
3867 prefix here.
3868
99277196
MR
38692005-02-07 Maciej W. Rozycki <[email protected]>
3870
3871 * elf64-mips.c: Fix formatting throughout.
3872
6422fbef
MR
38732005-02-07 Maciej W. Rozycki <[email protected]>
3874
3875 * elfn32-mips.c (elf_mips_howto_table_rela): Fix a comment typo.
3876
303e4c21
AO
38772005-02-07 Alexandre Oliva <[email protected]>
3878
3879 * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove special handling for
3880 *ABS*/*UND* sections.
3881 (elf32_frv_relocate_section): Move zero-addend-required error...
3882 (_frv_emit_got_relocs_plt_entries): ... here. Report error for
3883 missing needed TLS section.
3884
c3864421
HPN
38852005-02-07 Hans-Peter Nilsson <[email protected]>
3886
3887 * aoutx.h (NAME(aout,find_nearest_line)): Correct case for N_SO
3888 being the last symbol.
9f400ee9
HPN
3889 (aout_link_add_symbols): Just return TRUE if a warning
3890 symbol was last.
c3864421 3891
765f2ef6
MR
38922005-02-07 Maciej W. Rozycki <[email protected]>
3893
3894 * elf32-mips.c (mips_elf_gprel32_reloc): Reject
3895 R_MIPS_GPREL32 relocations against external symbols.
3896 * elf64-mips.c (mips_elf64_gprel32_reloc): Replace an incorrect
3897 comment.
3898
1b3a8575
AM
38992005-02-07 Alan Modra <[email protected]>
3900
3901 * elf-bfd.h (elf_string_from_elf_strtab): Delete macro.
3902 * elf.c (bfd_elf_string_from_elf_section): Expand occurrence of
3903 elf_string_from_elf_strtab.
3904 (_bfd_elf_setup_group_pointers, bfd_section_from_shdr): Likewise.
3905 (bfd_section_from_shdr): For SHT_SYMTAB, load SHT_SYMTAB_SHNDX too
3906 if it exists. Don't do the reverse for SHT_SYMTAB_SHNDX. For
3907 SHT_STRTAB, check whether the strtab is for symtab or dynsymtab by
3908 looking at cached symtab info first, before iterating over headers.
3909 For SHT_REL and SHT_RELA, load dynsymtab if needed.
3910 * elfcode.h (elf_object_p): Don't load section header stringtab
3911 specially.
3912
90f487df
L
39132005-02-06 H.J. Lu <[email protected]>
3914
3915 * elf32-i386.c (elf_i386_relocate_section): Disallow R_386_GOTOFF
3916 against protected function when building shared library.
3917
3918 PR 584
3919 * elf64-x86-64.c (is_32bit_relative_branch): New.
3920 (elf64_x86_64_relocate_section): Alllow R_X86_64_PC32 on a
3921 protected function symbol when building shared library for
3922 32bit relative branch instruction.
3923
c4f68ce3
AM
39242005-02-06 Alan Modra <[email protected]>
3925
3926 * elf64-ppc.c (add_symbol_adjust): Don't create fake descriptor
3927 syms when doing a relocatable link.
3928 (ppc64_elf_gc_mark_hook): Check that syms are defined before looking
3929 at u.def.section.
3930 (ppc64_elf_tls_setup): Likewise.
3931 (ppc64_elf_edit_opd): Don't use an undefined func desc sym.
3932
908b32fc
AM
39332005-02-04 Alan Modra <[email protected]>
3934
3935 * elf64-ppc.c (struct ppc_link_hash_entry): Add "fake".
3936 (link_hash_newfunc): Clear all locals using memset.
3937 (make_fdh): Remove flags param. Always create fake func desc
3938 weak. Link the descriptor with the code entry sym.
3939 (ppc64_elf_archive_symbol_lookup): Don't return fake syms.
3940 (add_symbol_adjust): Adjust make_fdh call.
3941 (func_desc_adjust): Likewise. Twiddle any pre-existing fake
3942 descriptor to strong undefined if code entry is strong.
3943
4ea42fb7
AM
39442005-02-04 Alan Modra <[email protected]>
3945
3946 * elflink.c (bfd_elf_record_link_assignment): Do "provide" symbol
3947 lookup here. Set to new before calling bfd_link_repair_undef_list.
3948 (elf_smash_syms): Check that u.undef.weak isn't the not_needed bfd.
3949
10d86c8a
AM
39502005-02-03 Alan Modra <[email protected]>
3951
3952 * linker.c (_bfd_link_hash_newfunc): Set all local fields.
3953
11f25ea6
AM
39542005-02-03 Alan Modra <[email protected]>
3955
3956 * linker.c (_bfd_generic_link_add_one_symbol): Set u.undef.weak.
3957 * elflink.c (elf_smash_syms): Restore symbols that were undefweak
3958 before the as-needed lib was loaded. Abort on unexpected refs.
3959
4f40114d
AM
39602005-02-02 Alan Modra <[email protected]>
3961
ec13b3bb
AM
3962 * elflink.c (elf_smash_syms): Expand comments.
3963 (elf_link_add_object_symbols): Only call elf_smash_syms for
3964 as-needed dynamic objects.
3965
4f40114d
AM
3966 * elfxx-ia64.c (elfNN_ia64_new_elf_hash_entry): Don't clear
3967 everything, just the field specific to ia64.
336549c1 3968 * elf64-hppa.c (elf64_hppa_new_dyn_hash_entry): Likewise.
4f40114d 3969
bb700d78
AM
39702005-02-01 Alan Modra <[email protected]>
3971
3972 * elf64-ppc.c (func_desc_adjust): Move code creating func desc sym to..
3973 (make_fdh): ..here. New function. Don't set BSF_OBJECT for
3974 undefined syms.
3975 (struct add_symbol_adjust_data): New.
3976 (add_symbol_adjust): Make an undefweak func desc for old ABI
3977 objects to link with --as-needed shared libs. Return fail status.
3978 Don't adjust old ABI func entry sym to weak if func desc syms
3979 isn't defined.
3980 (ppc64_elf_check_directives): Adjust call to add_symbol_adjust,
3981 and return status.
3982
1ffd1c2f
HPN
39832005-02-01 Hans-Peter Nilsson <[email protected]>
3984
3985 * cpu-cris.c (get_compatible): Rearrange disabled code and comment
3986 for clarity.
3987
77cfaee6
AM
39882005-02-01 Alan Modra <[email protected]>
3989
3990 * elf64-ppc.c (ppc64_elf_check_directives): Move undefs list fixup..
3991 * linker.c (bfd_link_repair_undef_list): ..to new function, but don't
3992 remove anything but new and undefweak.
3993 * elflink.c (_bfd_elf_link_create_dynamic_sections): Override any
3994 existing _DYNAMIC.
3995 (_bfd_elf_create_dynamic_sections): Formatting.
3996 (bfd_elf_record_link_assignment): Call bfd_link_repair_undef_list.
3997 (_bfd_elf_merge_symbol): Don't handle as-needed syms here.
3998 (struct elf_smash_data): New.
3999 (elf_smash_syms): New function.
4000 (elf_link_add_object_symbols): Call elf_smash_syms. Don't add
4001 unneeded dynamic objects to loaded list.
4002 (elf_link_output_extsym): Don't handle as-needed here. Strip
4003 bfd_link_hash_new symbols.
4004 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
4005 delref when dynindx is already -1.
4006 * elf64-alpha.c (elf64_alpha_output_extsym): Strip bfd_link_hash_new
4007 symbols.
4008 * elfxx-mips.c (mips_elf_output_extsym): Likewise.
4009
b15c48d1
BE
40102005-02-01 Ben Elliston <[email protected]>
4011
4012 * elfxx-target.h (bfd_elfNN_bfd_discard_group): Redefine.
4013
0983f4eb 40142005-02-01 Ben Elliston <[email protected]>
0e71e495
BE
4015
4016 * aout-arm.c, aout-target.h, aoutx.h, archive.c, armnetbsd.c,
4017 bfd-in.h, bfdio.c, coff-alpha.c, coff-arm.c, coff-h8300.c,
4018 coff-i860.c, coff-mcore.c, coff-or32.c, coff-ppc.c, coff-sh.c,
4019 coff-sparc.c, coffcode.h, coffgen.c, cofflink.c, cpu-cris.c,
4020 cpu-h8500.c, cpu-ns32k.c, ecoff.c, ecofflink.c, elf.c,
4021 elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-hppa.c,
4022 elf32-i860.c, elf32-ip2k.c, elf32-m32r.c, elf32-sh.c,
4023 elf32-v850.c, elf64-mips.c, elf64-sparc.c, elflink.c,
4024 i386aout.c, i386msdos.c, i386os9k.c, ieee.c, mach-o.c,
4025 nlm32-sparc.c, oasys.c, opncls.c, pdp11.c, pe-mips.c, peXXigen.c,
4026 pef.c, peicode.h, reloc.c, riscix.c, section.c, simple.c, som.c,
11d02c41 4027 sparclynx.c, targets.c, vms-misc.c, vms-tir.c, xsym.c,
0e71e495
BE
4028 hosts/delta68.h, hosts/vaxbsd.h: Remove #if 0'd code
4029 throughout. Similarly, collapse #if 1'd code.
4030
40312005-02-01 Ben Elliston <[email protected]>
4032
0983f4eb
BE
4033 * elf-bfd.h (bfd_elf_discard_group): Remove.
4034 * elf.c (bfd_elf_discard_group): Likewise.
4035 * elfxx-target.h (bfd_elfNN_bfd_discard_group): Remove macro.
4036
8c946ed5
RS
40372005-01-31 Richard Sandiford <[email protected]>
4038
4039 * elf-bfd.h (elf_backend_data): Add elf_backend_eh_frame_address_size.
4040 (_bfd_elf_eh_frame_address_size): Declare.
4041 * elfxx-target.h (elf_backend_eh_frame_address_size): Define a default.
4042 (elfNN_bed): Initialize elf_backend_eh_frame_address_size.
4043 * elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Declare.
4044 (elf_backend_eh_frame_address_size): Define.
4045 * elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): New function.
4046 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Get the address
4047 size from the new backend hook.
4048 (_bfd_elf_write_section_eh_frame): Likewise.
4049 (_bfd_elf_eh_frame_address_size): New function.
4050
c46f8c51
AC
40512005-01-31 Andrew Cagney <[email protected]>
4052
4053 * configure: Regenerate to track ../gettext.m4.
4054
5cd3778d
MM
40552005-01-31 Mark Mitchell <[email protected]>
4056
4057 * elf32-arm.c (elf32_arm_symbian_special_sections): Do not set
4058 SHF_WRITE for .init_array, .fini_array, and .preinit_array.
ec13b3bb 4059
d6486796
NC
40602005-01-31 Nick Clifton <[email protected]>
4061
4062 * confg.bfd: Make targets scheduled for obsoletion (m68k-lynxos,
4063 sparc-lynxos, vax-vms) be obsolete.
4064
b1342370
DJ
40652005-01-28 Daniel Jacobowitz <[email protected]>
4066
4067 * elf-bfd.h (struct elf_backend_data): Add minpagesize.
4068 * elf32-arm.c (ELF_MINPAGESIZE): Define.
4069 * elf32-ppc.c (ELF_MINPAGESIZE): Define.
4070 * elfcode.h (elf_object_p): Use minpagesize instead of
4071 maxpagesize.
4072 * elfxx-target.h (ELF_MINPAGESIZE): Default to ELF_MAXPAGESIZE.
4073 (elfNN_bed): Include ELF_MINPAGESIZE.
4074
319850b4
JB
40752005-01-28 Julian Brown <[email protected]>
4076
4077 * bin-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
4078 * bin-in2.h (bfd_elf32_arm_set_target_relocs): Update prototype.
4079 * elf32-arm.c (elf32_arm_link_hash_table): Add fix_v4bx flag.
4080 (bfd_elf32_arm_set_target_relocs): Add formal parameter fix_v4bx for
ec13b3bb 4081 passing flag value from ld. Set flag value in global hash table entry.
319850b4 4082 (elf32_arm_final_link_relocate): Add code to implement R_ARM_V4BX
ec13b3bb 4083 relocation.
319850b4 4084
a53bf506
AC
40852005-01-27 Andrew Cagney <[email protected]>
4086
4087 * configure: Regenerate to track ../gettext.m4 change.
4088
dc4c9c19
MM
40892005-01-25 Mark Mitchell <[email protected]>
4090
4091 * elf32-arm.c (elf_backend_default_use_rela_p): Define to zero for
ec13b3bb 4092 SymbianOS.
dc4c9c19 4093
90219bd0
AO
40942005-01-25 Alexandre Oliva <[email protected]>
4095
4096 2004-12-10 Alexandre Oliva <[email protected]>
4097 * elf32-frv.c (elf32_frv_relocate_section): Force local binding
4098 for TLSMOFF.
4099 * reloc.c: Add R_FRV_TLSMOFF.
4100 * elf32-frv.c (elf32_frv_howto_table): Likewise.
4101 (frv_reloc_map, frv_reloc_type_lookup): Map it.
4102 (elf32_frv_relocate_section): Handle it.
4103 (elf32_frv_check_relocs): Likewise.
4104 * libbfd.h, bfd-in2.h: Rebuilt.
4105 2004-11-26 Alexandre Oliva <[email protected]>
4106 * elf32-frv.c (_frvfdpic_emit_got_relocs_plt_entries): Don't crash
4107 when given an undefweak TLS symbol. Fix constant TLS PLT entries
4108 such that they return the constant in gr9.
4109 (_frvfdpic_relax_tls_entries): Don't crash for undefweak TLS
4110 symbols.
4111 (_frvfdpic_size_got_plt): Set _cooked_size of dynamic sections.
4112 too, such that they shrink on relaxation.
4113 (elf32_frvfdpic_finish_dynamic_sections): Check __ROFIXUP_END__ as
4114 marking the position right past the _GLOBAL_OFFSET_TABLE_ value.
4115 (_frvfdpic_assign_plt_entries): Shrink constant TLS PLT entries
4116 if we can guarantee the use of 16-bit constants.
4117 2004-11-10 Alexandre Oliva <[email protected]>
4118 Introduce TLS support for FR-V FDPIC.
4119 * reloc.c: Add TLS relocations.
4120 * elf32-frv.c (elf32_frv_howto_table): Add TLS relocations.
4121 (elf32_frv_rel_tlsdesc_value_howto): New.
4122 (elf32_frv_rel_tlsoff_howto): New.
4123 (frv_reloc_map): Add new mappings.
4124 (struct frvfdpic_elf_link_hash_table): Add pointer to summary
4125 reloc information.
4126 (frvfdpic_dynamic_got_plt_info): New.
4127 (frvfdpic_plt_tls_ret_offset): New.
4128 (ELF_DYNAMIC_INTERPRETER, DEFAULT_STACK_SIZE): Move earlier.
4129 (struct _frvfdpic_dynamic_got_info): Likewise. Add TLS members.
4130 (struct _frvfdpic_dynamic_got_plt_info): Likewise.
4131 (FRVFDPIC_SYM_LOCAL): Regard symbols defined in the absolute
4132 section as local.
4133 (struct frvfdpic_relocs_info): Add TLS fields.
4134 (frvfdpic_relocs_info_hash): Warning clean up.
4135 (frvfdpic_relocs_info_find): Initialize tlsplt_entry.
4136 (frvfdpic_pic_merge_early_relocs_info): Merge TLS fields.
4137 (FRVFDPIC_TLS_BIAS): Define.
4138 (tls_biased_base): New.
4139 (_frvfdpic_emit_got_relocs_plt_entries): Deal with TLS
4140 relocations.
4141 (frv_reloc_type_lookup): Likewise.
4142 (frvfdpic_info_to_howto_rel): Likewise.
4143 (elf32_frv_relocate_section): Likewise.
4144 (_frv_create_got_section): Create the PLT section here.
4145 (elf32_frvfdpic_create_dynamic_sections): Not here.
4146 (_frvfdpic_count_nontls_entries): Move out of...
4147 (_frvfdpic_count_got_plt_entries): ... here.
4148 (_frvfdpic_count_tls_entries): Likewise. Add TLS support.
4149 (_frvfdpic_count_relocs_fixups): Likewise. Add relaxation
4150 support.
4151 (_frvfdpic_relax_tls_entries): New.
4152 (_frvfdpic_compute_got_alloc_data): Add TLS support.
4153 (_frvfdpic_get_tlsdesc_entry): New.
4154 (_frvfdpic_assign_got_entries): Add TLS support.
4155 (_frvfdpic_assign_plt_entries): Likewise.
4156 (_frvfdpic_reset_got_plt_entries): New.
4157 (_frvfdpic_size_got_plt): Move out of...
4158 (elf32_frvfdpic_size_dynamic_sections): ... here.
4159 (_frvfdpic_relax_got_plt_entries): New.
4160 (elf32_frvfdpic_relax_section): New.
4161 (elf32_frvfdpic_finish_dynamic_sections): Add TLS sanity check.
4162 (elf32_frv_check_relocs): Add TLS support.
4163 (bfd_elf32_bfd_relax_section): Define for FDPIC.
4164 * libbfd.h, bfd-in2.h: Rebuilt.
4165
8615f3f2
AM
41662005-01-25 Alan Modra <[email protected]>
4167
4168 * elf.c (_bfd_elf_get_dynamic_reloc_upper_bound): Only include
4169 loadable reloc sections.
4170 (_bfd_elf_canonicalize_dynamic_reloc): Likewise.
4171 (_bfd_elf_get_synthetic_symtab): Return 0 if no dynamic syms.
4172
7e9f0867
AM
41732005-01-25 Alan Modra <[email protected]>
4174
4175 * elflink.c (elf_link_add_object_symbols): Don't create link dynamic
4176 sections immediately when linking shared libs. Instead, wait until
4177 we know a lib is needed.
4178 (_bfd_elf_link_create_dynstrtab): Extract from..
4179 (_bfd_elf_link_create_dynamic_sections_): ..here.
4180 (elf_add_dt_needed_tag): Call _bfd_elf_link_create_dynstrtab and
4181 _bfd_elf_link_create_dynamic_sections. Add abfd param. Allow
4182 for non-existent .dynamic.
4183 (elf_link_output_extsym): Don't complain about undefined symbols
4184 in as-needed dynamic libs that aren't actually linked.
4185
45181ed1
AC
41862005-01-24 Andrew Cagney <[email protected]>
4187
4188 * configure: Regenerate, ../gettext.m4 was updated.
4189
753e3eb6
BE
41902005-01-21 Ben Elliston <[email protected]>
4191
4192 * aout-encap.c: Remove unused file.
4193
1c16dfa5
L
41942005-01-19 H.J. Lu <[email protected]>
4195
4196 PR 679
4197 * elflink.c (_bfd_elf_dynamic_symbol_p): Only protected
4198 non-function symbols are local.
4199 (_bfd_elf_symbol_refs_local_p): Likewise.
4200
1449d79b
AM
42012005-01-18 Alan Modra <[email protected]>
4202
4203 * bfd.c (bfd_link_just_syms): Add abfd param.
4204 * bfd-in2.h: Regenerate.
4205
dcf507a6
RS
42062005-01-17 Richard Sandiford <[email protected]>
4207
4208 * elf-eh-frame.c (skip_cfa_op, skip_non_nops): New functions.
4209 (_bfd_elf_discard_section_eh_frame): Use them to interpret the CFA
4210 instructions. If the amount of padding is known, reduce the size
4211 of the CIE or FDE by that amount.
4212
2c42be65
RS
42132005-01-17 Richard Sandiford <[email protected]>
4214
4215 * elf-bfd.h (struct cie): Use bfd_vmas for code_align, ra_column and
4216 augmentation_size. Use bfd_signed_vmas for data_align.
4217 * elf-eh-frame.c (read_uleb128, read_sleb128): Delete in favor of...
4218 (read_byte, skip_leb128, read_uleb128, read_sleb128): ...these new
4219 functions. Don't read past the end of the enclosing CIE or FDE.
4220 (skip_bytes): New utility function.
4221 (_bfd_elf_discard_section_eh_frame): Use new functions, adding more
4222 sanity checking.
4223 (_bfd_elf_write_section_eh_frame): Use new functions.
4224
acfe5567
RS
42252005-01-17 Richard Sandiford <[email protected]>
4226
4227 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use an
4228 assert-style REQUIRE() macro to handle sanity checks.
4229
c0c28ab8
L
42302005-01-17 H.J. Lu <[email protected]>
4231
4232 * dwarf2.c (dwarf2_debug): Move info_ptr_unit to ...
4233 (comp_unit): Here.
4234 (read_unsigned_leb128): Removed.
4235 (read_signed_leb128): Removed.
4236 (find_abstract_instance_name): Updated.
4237 (parse_comp_unit): Accept info_ptr_unit.
4238 (_bfd_dwarf2_find_nearest_line): Set info_ptr_unit for each
4239 comp unit and pass it to parse_comp_unit.
4240
4241 * elf-eh-frame.c (read_unsigned_leb128): Moved to ...
4242 (read_signed_leb128): Moved to ...
4243 * libbfd.c: Here.
4244
4245 * libbfd-in.h (read_unsigned_leb128): New prototype.
4246 (read_signed_leb128): Likewise.
4247 * libbfd.h: Regenerated.
4248
e38bc3b5
NC
42492005-01-17 Andrew Stubbs <[email protected]>
4250 Nick Clifton <[email protected]>
4251
4252 * cpu-sh.c (bfd_to_arch_table): Change arch_sh1_up to arch_sh_up,
4253 arch__sh4_nofp_up to arch_sh4_nofpu_up and arch_sh4a_nofp_up to
4254 arch_sh4a_nofpu_up in order to match the external names and make the
4255 testsuite's job easier.
4256 * archuires.c: Rename bfd_mach_sh2a_fake? to more meaningful
4257 names.
4258 * bfd-in2.h: Regenerate.
4259
8fb84ecc
AC
42602005-01-15 Andrew Cagney <[email protected]>
4261
4262 * bfd.m4: New file.
4263 * acinclude.m4: Move BFD_NEED_DECLARATION,
4264 BFD_HAVE_SYS_PROCFS_TYPE and BFD_HAVE_SYS_PROCFS_TYPE_MEMBER to
4265 the new file bfd.m4. Include ../bfd/bfd.m4.
4266 * configure: Re-generate.
8615f3f2 4267
b4a38de6
AM
42682005-01-12 Alan Modra <[email protected]>
4269
4270 * elf32-ppc.c (ppc_elf_howto_raw): Delete RELAX32* entries.
4271 (ppc_elf_relax_section): Use PLT variants of RELAX32 relocs for
4272 reaching PLT.
4273 (ppc_elf_relocate_section): Handle R_PPC_RELAX32_PLT and
4274 R_PPC_RELAX32PC_PLT.
4275
3eb128b2
AM
42762005-01-11 Alan Modra <[email protected]>
4277
4278 * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Follow indirect and warning
4279 symbols.
4280 * elf32-arm.c (elf32_arm_gc_sweep_hook): Likewise.
4281 * elf32-cris.c (cris_elf_gc_sweep_hook): Likewise.
4282 * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Likewise.
4283 * elf32-i386.c (elf_i386_gc_sweep_hook): Likewise.
4284 * elf32-m32r.c (m32r_elf_gc_sweep_hook): Likewise.
4285 * elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise.
4286 * elf32-ppc.c (ppc_elf_gc_sweep_hook): Likewise.
4287 * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
4288 * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
4289 * elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise.
4290 * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
4291 * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Likewise.
4292 * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
4293 * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
4294
264a1fe0
AM
42952005-01-11 Alan Modra <[email protected]>
4296
4297 * elf32-ppc.c (ppc_elf_create_dynamic_sections): Correct
4298 .dynsbss flags.
4299
5c4504f7
NC
43002005-01-10 Inderpreet Singh <[email protected]>
4301
4302 * archures.c: Define bfd_mach_maxq10 and bfd_mach_maxq20.
4303 * bfd-in2.h: Regenerate.
4304 * coffcode.h (coff_set_arch_mach_hook, coff_set_flags): Add code
4305 to support these new machine values.
4306 * cpu-maxq.c (bfd_maxq10_arch): New architecture definition for
4307 the maxq10.
4308 (bfd_maxq_arch): Update values for the maxq20.
4309
669460c7
EB
43102005-01-10 Eric Botcazou <[email protected]>
4311
4312 * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): When linking a
4313 non-shared object, do not reserve space in .plt and .rela.plt for
4314 regular symbols neither defined nor referenced in shared objects.
4315
a51a7930
EB
43162005-01-09 Eric Botcazou <[email protected]>
4317
01aac484
EB
4318 * elf32-sparc.c (elf32_sparc_link_hash_table_create): Use bfd_zmalloc
4319 to zero the structure.
4320 (create_got_section): Use BFD_ASSERT instead of abort.
a51a7930
EB
4321 * elf64-sparc.c (struct sparc64_elf_link_hash_table): New 'sgot' and
4322 'srelgot' fields.
4323 (create_got_section): New function.
4324 (sparc64_elf_create_dynamic_sections): Likewise.
4325 (sparc64_elf_check_relocs): Invoke create_got_section instead of
4326 _bfd_elf_create_got_section. Use the sgot and srelgot shortcuts.
4327 (sparc64_elf_size_dynamic_sections): Use the srelgot shortcut.
4328 (sparc64_elf_relocate_section): Use the sgot and srelgot shortcuts.
4329 (sparc64_elf_finish_dynamic_symbol): Likewise.
4330 (sparc64_elf_finish_dynamic_sections): Use the sgot shortcut.
4331 (elf_backend_create_dynamic_sections): Define to
4332 sparc64_elf_create_dynamic_sections.
4333
151e5294
EB
43342005-01-09 Eric Botcazou <[email protected]>
4335
4336 * elf32-sparc.c (elf32_sparc_omit_section_dynsym): New function.
4337 (elf_backend_omit_section_dynsym): Define to it.
4338 * elf64-sparc.c (sparc64_elf_omit_section_dynsym): New function.
4339 (elf_backend_omit_section_dynsym): Define to it.
4340
6f79b219
JJ
43412005-01-07 Jakub Jelinek <[email protected]>
4342
4343 * bfd/elf.c (INCLUDE_SECTION_IN_SEGMENT): Don't put empty sections into
4344 PT_DYNAMIC segment, unless .dynamic.
4345
4e7fd91e
PB
43462005-01-06 Paul Brook <[email protected]>
4347
4348 * config.bfd: Add entry for arm-*-vxworks and arm-*-windiss.
4349 * configure.in: Add bfd_elf32_{big,little}arm_vxworks_vec.
4350 * configure: Regenerate.
4351 * elf32-arm.c: Add VxWorks target bfd.
4352 (USE_REL): Remove.
4353 (elf32_arm_link_hash_table): Add use_rel.
4354 (elf32_arm_link_hash_table_create, elf32_arm_final_link_relocate,
4355 elf32_arm_relocate_section): Replace USE_REL with runtime check.
4356 Correct offset calculation for RELA case.
4357 (elf_backend_may_use_rel_p, elf_backend_may_use_rela_p,
4358 elf_backend_default_use_rela_p, elf_backend_rela_normal): Define.
4359 (elf32_arm_vxworks_link_hash_table_create): New function.
4360 * targets.c (bfd_elf32_bigarm_vxworks_vec): Add declaration.
4361 (bfd_elf32_littlearm_vxworks_vec): Ditto.
4362 (_bfd_target_vector): Add bfd_elf32_{big,little}arm_vxworks_vec.
4363
4c52953f
AM
43642005-01-06 Alan Modra <[email protected]>
4365
4366 * elf64-ppc.c (struct ppc_link_hash_table): Add no_multi_toc and
4367 multi_toc_needed.
4368 (has_toc_reloc, makes_toc_func_call, call_check_in_progress): Define.
4369 (ppc64_elf_check_relocs): Update references to has_gp_reloc.
4370 (ppc64_elf_setup_section_lists): Add no_multi_toc parm, set htab bit.
4371 (ppc64_elf_next_toc_section): Heed no_multi_toc.
4372 (ppc64_elf_reinit_toc): Set multi_toc_needed.
4373 (toc_adjusting_stub_needed): Rewrite.
4374 (ppc64_elf_next_input_section): Use multi_toc_needed to shortcut
4375 toc tests. Adjust for toc_adjusting_stub_needed changes.
4376 (ppc64_elf_size_stubs): Update references to has_gp_reloc.
4377 * elf64-ppc.h (ppc64_elf_setup_section_lists): Update prototype.
4378 * section.c: Expand comment on backend bits.
4379 * bfd-in2.h: Regenerate.
4380 * libbfd.h: Regenerate.
4381
f03d65b4
AM
43822005-01-06 Alan Modra <[email protected]>
4383
4384 * elf64-ppc.c (ppc64_elf_size_stubs): When determining need for
4385 toc adjusting stub, do not test source section flags.
4386
8af139b3
EB
43872005-01-05 Eric Botcazou <[email protected]>
4388
4389 * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
4390 from STABS debugging sections again.
4391
06f22d7e
FF
43922005-01-05 Fred Fish <[email protected]>
4393
4394 * dwarf2.c (struct dwarf2_debug): Add info_ptr_unit member.
4395 (find_abstract_instance_name): New function.
4396 (scan_unit_for_functions): Handle DW_TAG_inlined_subroutine.
4397 (scan_unit_for_functions): Handle DW_AT_abstract_origin.
4398 (_bfd_dwarf2_find_nearest_line): Initialize info_ptr_unit.
4399
83a358aa
PB
44002004-12-31 Paul Brook <[email protected]>
4401
4402 * elf32-arm.c (elf32_arm_symbian_plt_entry): Fix comment typo.
4403
b996922c
AM
44042004-12-31 Alan Modra <[email protected]>
4405
4406 * reloc.c (BFD_RELOC_AVR_LDI, BFD_RELOC_AVR_6, BFD_RELOC_AVR_6_ADIW):
4407 Commit missing changes from 2004-12-22.
4408 * bfd-in2.h: Regenerate.
4409
17a83432
TL
44102004-12-23 Tomer Levi <[email protected]>
4411
4412 * elf32-crx.c (elf32_crx_relax_section): Support 'bcop' relaxation.
4413
d69f560c
KW
44142004-12-21 Kris Warkentin <[email protected]>
4415
4416 * elf.c (elfcore_grok_nto_gregs): Change name to elfcore_grok_nto_regs.
4417 Add 'base' argument for constructing register sections. Reformat.
4418 (elfcore_grok_nto_note): Call elfcore_grok_nto_regs for both
4419 gp and fp regs. Reformat.
4c52953f 4420
750bce0e
NC
44212004-12-22 Klaus Rudolph <[email protected]>
4422
4423 * reloc.c: Add new relocs R_AVR_LDI, R_AVR_6, R_AVR_6_ADIW.
4424 * bfd-in2.h: Regenerate.
4425 * elf32-avr.c (elf_avr_nowto_table): Add the new relocs.
4426 (avr_reloc_map): Likewise.
4427 (avr_final_link_relocate): Likewise.
4428
a5db907e
AM
44292004-12-22 Alan Modra <[email protected]>
4430
4431 * elflink.c (_bfd_elf_merge_symbol): Treat old definitions from
4432 as-needed dynamic libs as undefined.
4433 (elf_link_add_object_symbols): Remove DYN_AS_NEEDED from as-needed
4434 libs when finding they are needed.
4435
8860955f
AM
44362004-12-20 Alan Modra <[email protected]>
4437
4438 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add opd_relocs.
4439 (opd_entry_value): Use opd_relocs if available.
4440 (ppc64_elf_relocate_section): Don't set reloc_done. Instead
4441 copy .opd relocations to opd_relocs.
4442 (ppc64_elf_edit_toc): Set rel_hdr.sh_size after editing relocs.
4443
1e50d24d
RS
44442004-12-16 Richard Sandiford <[email protected]>
4445
4446 * reloc.c (BFD_RELOC_V850_LO16_SPLIT_OFFSET): New bfd_reloc_code_type.
4447 * elf32-v850.c (v850_elf_howto_table): Add entry for
4448 R_V850_LO16_SPLIT_OFFSET.
4449 (v850_elf_reloc_map): Map it to BFD_RELOC_V850_LO16_SPLIT_OFFSET.
4450 (v850_elf_perform_lo16_relocation): New function, extracted from...
4451 (v850_elf_perform_relocation): ...here. Use it to handle
4452 R_V850_LO16_SPLIT_OFFSET.
4453 (v850_elf_check_relocs, v850_elf_final_link_relocate): Handle
4454 R_V850_LO16_SPLIT_OFFSET.
4455 * libbfd.h, bfd-in2.h: Regenerate.
4456
2fbd2a87
NC
44572004-12-14 P.J. Darcy <[email protected]>
4458
4459 * config.bfd: Add s390x-ibm-tpf support.
4460
06302770
TL
44612004-12-14 Tomer Levi <[email protected]>
4462
8860955f 4463 * elf32-crx.c (elf32_crx_relax_delete_bytes): Add 'struct bfd_link_info *'
06302770
TL
4464 to prototype, to make hash info available.
4465 Prevent wrapped symbols from being adjusted twice.
4466
c314987d
RS
44672004-12-14 Richard Sandiford <[email protected]>
4468
4469 * elfxx-mips.c (mips_elf_calculate_relocation): Don't report an
4470 overflow for calls to undefined weak symbols.
4471
5c799c07
AM
44722004-12-11 Alan Modra <[email protected]>
4473
4474 * elfcode.h (elf_slurp_symbol_table): Use bfd_elf_sym_name so that
4475 canonical sections syms have a name.
4476
645ea6a9
AM
44772004-12-11 Alan Modra <[email protected]>
4478
4479 * elf64-ppc.c (opd_entry_value): Don't use cached relocs if they
4480 have been adjusted for output.
4481 (ppc64_elf_relocate_section): Mark sections with reloc_done.
4482
0e2cfdce
AM
44832004-12-10 Alan Modra <[email protected]>
4484
be8dd2ca
AM
4485 * elf.c (bfd_elf_sym_name): Rename from bfd_elf_local_sym_name and
4486 add symtab_hdr param.
0e2cfdce
AM
4487 (group_signature): Update calls.
4488 * elf-bfd.h (bfd_elf_sym_name): Update.
4489 * elf32-ppc.c (ppc_elf_relocate_section): Update.
8860955f
AM
4490 * elf64-ppc.c (ppc64_elf_edit_opd, ppc64_elf_edit_toc): Update.
4491 (ppc64_elf_relocate_section): Update.
0e2cfdce
AM
4492 * elflink.c (elf_link_input_bfd): Update.
4493
138f35cc
JJ
44942004-12-10 Jakub Jelinek <[email protected]>
4495
4496 * elf.c (bfd_elf_local_sym_name): Avoid crashes with invalid
4497 st_shndx on STT_SECTION sections.
4498
f9cfae62
DJ
44992004-12-09 Daniel Jacobowitz <[email protected]>
4500
4501 * elfcode.h (elf_slurp_reloc_table_from_section): Don't canonicalize
4502 ELF section symbols.
4503
0d2e43ed
ILT
45042004-12-09 Ian Lance Taylor <[email protected]>
4505
1367d393
ILT
4506 * elfxx-mips.c (mips_elf_calculate_relocation): For R_MIPS_JALR,
4507 return a real value, unless it is a PLT symbol.
4508 (mips_elf_perform_relocation): On the RM9000, turn a jal into a
4509 bal if possible.
4510
74f79d8d
ILT
4511 * elfn32-mips.c (elf_mips_howto_table_rela): Change dst_mask of
4512 R_MIPS_JALR entry to 0.
4513
0d2e43ed
ILT
4514 * archures.c: Define bfd_mach_mips9000.
4515 * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_9000.
4516 (mips_set_isa_flags): Handle bfd_mach_mips9000.
4517 * cpu-mips.c (I_mips9000): Define.
4518 (arch_info_struct): Add case for bfd_mach_mips9000.
4519 * aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mips9000.
4520 * bfd-in2.h: Regenerate.
4521
728b2f21
ILT
45222004-12-08 Ian Lance Taylor <[email protected]>
4523
4524 * elfxx-mips.c (mips_elf_calculate_relocation): Test for R_MIPS_26
4525 overflow.
4526
45ab555d
BE
45272004-12-07 Ben Elliston <[email protected]>
4528
4529 * netbsd-core.c (netbsd_core_file_p): Make `i' unsigned.
4530
1511ddaf
DJ
45312004-12-06 Daniel Jacobowitz <[email protected]>
4532
4533 Suggested by Fergal Daly <[email protected]>:
4534 * simple.c (simple_dummy_multiple_definition): New function.
4535 (bfd_simple_get_relocated_section_contents): Use it.
4536
45372004-12-03 Jan Beulich <[email protected]>
57426232
JB
4538
4539 * elf.c (elf_find_function): Don't use the last file symbol ever,
4540 seen, but the last one seen prior to the symbol being reported.
4541 Don't report a filename at all for global symbols when that might
4542 be ambiguous/wrong.
4543
94a3258f
PB
45442004-12-01 Paul Brook <[email protected]>
4545
4546 * elf32-arm.c (elf32_arm_copy_private_bfd_data): Set EI_OSABI.
4547 (elf32_arm_post_process_headers): Set EI_OSABI depending on ABI
4548 version.
4549
529fcb95
PB
45502004-12-01 Paul Brook <[email protected]>
4551
4552 * elflink.c (elf_link_add_object_symbols): Make symbols from discarded
4553 sections undefined.
4554
dea514f5
PB
45552004-11-30 Paul Brook <[email protected]>
4556
4557 * elf32-arm.c (struct elf32_arm_link_hash_table): Remove
4558 no_pipeline_knowledge
4559 (elf32_arm_link_hash_table_create): Ditto.
4560 (bfd_elf32_arm_process_before_allocation): Ditto.
4561 (elf32_arm_final_link_relocate): Ditto. Remove oabi relocation
4562 handling.
4563 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
4564 prototype.
4565 * bfd-in2.h: Regenerate.
4566
edfc032f
AM
45672004-11-30 Randolph Chung <[email protected]>
4568
4569 * elf32-hppa.c (elf32_hppa_grok_prstatus): New function.
4570 (elf32_hppa_grok_psinfo): New function.
4571 (elf_backend_grok_prstatus): Define.
4572 (elf_backend_grok_psinfo): Define.
4573
0be9069d
L
45742004-11-24 H.J. Lu <[email protected]>
4575
4576 PR 574:
4577 * elfcode.h (elf_slurp_symbol_table): Handle STT_TLS.
4578
47cc2cf5
PB
45792004-11-24 Paul Brook <[email protected]>
4580
4581 * elf.c (assign_section_numbers): Number SHT_GROUP sections first.
4582
0beaef2b
PB
45832004-11-24 Paul Brook <[email protected]>
4584
4585 * elf32-arm.c (elf32_arm_swap_symbol_in): New function.
4586 (elf32_arm_swap_symbol_out): New function.
4587 (elf32_arm_size_info): Add.
4588 (elf_backend_size_info): Define.
4589
3dd2fcf0
DA
45902004-11-20 John David Anglin <[email protected]>
4591
4592 * hpux-core.c (hpux_core_core_file_p): Use offsetof macro in calls to
4593 make_bfd_asection.
4594
de52dba4
AM
45952004-11-19 Alan Modra <[email protected]>
4596
4597 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Warning fix.
4598 * elf32-iq2000.c (iq2000_reloc_type_lookup): C90 function decl.
4599 * nlmcode.h (nlm_write_object_contents): Warning fix.
4600
288f74fa
BW
46012004-11-18 Bob Wilson <[email protected]>
4602
4603 * elf32-xtensa.c (ebb_propose_action): Fix argument order.
4604
b7693d02
DJ
46052004-11-17 Daniel Jacobowitz <[email protected]>
4606
4607 * elf32-arm.c (PLT_THUMB_STUB_SIZE): Define.
4608 (elf32_arm_plt_thumb_stub): New.
4609 (struct elf32_arm_link_hash_entry): Add plt_thumb_refcount
4610 and plt_got_offset.
4611 (elf32_arm_link_hash_traverse): Fix typo.
4612 (elf32_arm_link_hash_table): Add obfd.
4613 (elf32_arm_link_hash_newfunc): Initialize new fields.
4614 (elf32_arm_copy_indirect_symbol): Copy plt_thumb_refcount.
4615 (elf32_arm_link_hash_table_create): Initialize obfd.
4616 (record_arm_to_thumb_glue): Mark the glue as a local ARM function.
4617 (record_thumb_to_arm_glue): Mark the glue as a local Thumb function.
4618 (bfd_elf32_arm_get_bfd_for_interworking): Verify that the
4619 interworking BFD is not dynamic.
4620 (bfd_elf32_arm_process_before_allocation): Handle R_ARM_PLT32. Do
4621 not emit glue for PLT references.
4622 (elf32_arm_final_link_relocate): Handle Thumb functions. Do not
4623 emit glue for PLT references. Support the Thumb PLT prefix.
4624 (elf32_arm_gc_sweep_hook): Handle R_ARM_THM_PC22 and
4625 plt_thumb_refcount.
4626 (elf32_arm_check_relocs): Likewise.
4627 (elf32_arm_adjust_dynamic_symbol): Handle Thumb functions and
4628 plt_thumb_refcount.
4629 (allocate_dynrelocs): Handle Thumb PLT references.
4630 (elf32_arm_finish_dynamic_symbol): Likewise.
4631 (elf32_arm_symbol_processing): New function.
4632 (elf_backend_symbol_processing): Define.
4633
353057a5
RS
46342004-11-16 Richard Sandiford <[email protected]>
4635
4636 * elf-bfd.h (eh_cie_fde): Add new fields: add_augmentation_size and
4637 add_fde_encoding. Remove need_relative.
4638 * elf-eh-frame.c (extra_augmentation_string_bytes)
4639 (extra_augmentation_data_bytes, size_of_output_cie_fde): New functions.
4640 (_bfd_elf_discard_section_eh_frame): Consider changing the FDE encoding
4641 in cases where the CIE has no existing 'R' augmentation. Use
4642 size_of_output_cie_fde when assigning offsets. Use the final offset
4643 as the new section size.
4644 (_bfd_elf_eh_frame_section_offset): Remove need_relative handling.
4645 Account for any extra augmentation bytes in the returned offset.
4646 (_bfd_elf_write_section_eh_frame): Rework so that the entries are
4647 moved before being modified. Pad growing entries with DW_CFA_nops.
4648 Add 'z' and 'R' augmentations as directed by add_augmentation_size
4649 and add_fde_encoding.
4650
b32d3aa2
MM
46512004-11-15 Mark Mitchell <[email protected]>
4652
4653 * elf32-arm.c (elf32_arm_relocate_section): Use
4654 arm_real_reloc_type.
4655
5d41f0b6
RS
46562004-11-16 Richard Sandiford <[email protected]>
4657
4658 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Return early
4659 for discard relocations; don't add an R_MIPS_NONE to the main body
4660 of .rel.dyn.
4661
fc0e6df6
PB
46622004-11-04 Paul Brook <[email protected]>
4663
4664 * elf-bfd.h (_bfd_elf_slurp_version_tables): Update prototype.
4665 * elf.c (_bfd_elf_print_private_bfd_data): Pass extra argument.
4666 (_bfd_elf_slurp_version_tables): Add extra argument. Create extra
4667 default version definition for unversioned symbols.
4668 * elfcode.h (elf_slurp_symbol_table): Pass extra argument.
4669 * elflink.c (elf_link_add_object_symbols): Pass extra argument to
4670 _bfd_elf_slurp_version_tables. Set default version for unversioned
4671 imported symbols.
4672
b23e50e2
PB
46732004-11-15 Paul Brook <[email protected]>
4674
4675 * elflink.c (elf_link_add_object_symbols): Don't assume version
4676 indices are consecutive.
4677
f4a6705c
RS
46782004-11-14 Richard Sandiford <[email protected]>
4679
4680 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Deal with
4681 composite relocations against the personality data.
4682
ee06dc07
PB
46832004-11-13 Paul Brook <[email protected]>
4684
4685 * bfd/elf32-arm.c (elf32_arm_final_link_relocate): Resolve
4686 R_ARM_PREL31 relocations to PLT entries.
4687 (elf32_arm_relocate_section, elf32_arm_gc_sweep_hook): Ditto.
4688 (elf32_arm_check_relocs): Ditto.
4689
a1ace8d8
BW
46902004-11-12 Bob Wilson <[email protected]>
4691
4692 * xtensa-isa.c (xtensa_interface_class_id): New.
4693
e4115460
BW
46942004-11-11 Bob Wilson <[email protected]>
4695
4696 * elf32-xtensa.c (property_table_compare): Remove assertion about
4697 entries with the same address and non-zero size.
4698 (xtensa_read_table_entries): Report such entries as errors.
4699
6366ff1e
MM
47002004-11-11 Mark Mitchell <[email protected]>
4701
4702 * elf32-arm.c (elf32_arm_final_link_relocate): Correct logic for
4703 R_ARM_RELATIVE on Symbian OS.
4704
b34af79c
MM
47052004-11-09 Mark Mitchell <[email protected]>
4706
e6dc21b6
MM
4707 * som.c (som_bfd_print_private_bfd_data): New function.
4708 (som_object_setup): Save the auxiliary header. Don't assume that
4709 zero is an invalid entry point for a shared library.
4710 (som_object_p): Allocate the auxiliary header on the heap.
4711
b34af79c
MM
4712 * elf32-arm.c (elf32_arm_begin_write_processing): Do not use a K&R
4713 declaration.
4714 (elf32_arm_symbian_modify_segment_map): Likewise.
4715
08d1f311
DJ
47162004-11-09 Daniel Jacobowitz <[email protected]>
4717
4718 From David Poole <[email protected]>:
4719 * elf32-arm.c (elf32_arm_readonly_dynrelocs): New function.
4720 (elf32_arm_size_dynamic_sections): Call it.
4721
0306b3bf
AM
47222004-11-09 Alan Modra <[email protected]>
4723
4724 * Makefile.am (SOURCE_HFILES): Remove elf32-arm.h.
4725 (ALL_MACHINES_CFILES): Fix typo.
4726 * Makefile.in: Regenerate.
4727 * po/SRC-POTFILES.in: Regenerate.
4728
a16385dc
MM
47292004-11-08 Mark Mitchell <[email protected]>
4730
4731 * elf32-arm.c (elf32_arm_final_link_relocate): When generating an
4732 R_ARM_RELATIVE relocation for Symbian OS, mention the section
4733 symbol in the relocation.
4734
0306b3bf
AM
47352004-11-08 Inderpreet Singh <[email protected]>
4736 Vineet Sharma <[email protected]>
7499d566
NC
4737
4738 * coff-maxq.c: New File.
0306b3bf
AM
4739 * cpu-maxq.c: New File.
4740 * coffcode.h: Likewise.
4741 * config.bfd: Likewise.
4742 * configure.in (maxqcoff_vec): New target vector.
7499d566
NC
4743 * Makefile.am: Add support for maxq target.
4744 * configure.in: Likewise.
0306b3bf
AM
4745 * archures.c:. Likewise.
4746 * targets.c: Likewise.
4747 * bfd_in2.h : Regenerated.
7499d566
NC
4748 * Makefile.in: Regenerated.
4749 * configure: Regenerated.
4750 * doc/Makefile.in: Regenerated.
4751
977cdf5a
NC
47522004-11-08 Aaron W. LaFramboise <[email protected]>
4753
4754 * coff-i386.c (coff_i386_reloc): Fix weak symbols.
4755 * cofflink.c (_bfd_coff_link_input_bfd): Don't process
4756 C_NT_WEAK aux entries.
4757 (_bfd_coff_generic_relocate_section): Handle undefined
4758 aliases.
4759
9dfe8738
AS
47602004-11-07 Andreas Schwab <[email protected]>
4761
4762 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Use
4763 SYMBOL_CALLS_LOCAL and check for undefweak symbols with
4764 non-default visibility.
4765
c3c76620
MM
47662004-11-01 Mark Mitchell <[email protected]>
4767
4768 * elf32-arm.c (elf32_arm_symbian_begin_write_processing): Clear
0306b3bf 4769 D_PAGED.
c3c76620
MM
4770 (elf32_arm_symbian_modify_segment_map): Don't
4771 reset includes_filehdr and includes_phdrs here.
4772
7f266840
DJ
47732004-11-04 Daniel Jacobowitz <[email protected]>
4774
4775 * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Replace
4776 elfarm-nabi with elf32-arm. Remove elfarm-oabi.
4777 (elf32-arm.lo): Replace elfarm-nabi.lo rule. Remove elf32-arm.h
4778 dependency.
4779 * config.bfd: Move arm-*-oabi* and thumb-*-oabi* from obsolete list
4780 to a new removed list. Remove normal configuration stanzas.
4781 * configure.in: (bfd_elf32_bigarm_vec, bfd_elf32_bigarm_symbian_vec)
4782 (bfd_elf32_littlearm_symbian_vec, bfd_elf32_littlearm_vec): Replace
4783 elfarm-nabi.lo with elf32-arm.lo.
4784 (bfd_elf32_bigarm_oabi_vec, bfd_elf32_littlearm_oabi_vec): Remove.
4785 * elf32-arm.c: Renamed from elfarm-nabi.c. Inline elf32-arm.h.
4786 * elf32-arm.h: Remove.
4787 * elfarm-oabi.c: Remove.
4788 * targets.c (_bfd_target_vector): Remove bfd_elf32_bigarm_oabi_vec
4789 and bfd_elf32_littlearm_oabi_vec.
4790 * aclocal.m4, Makefile.in, configure, doc/Makefile.in: Regenerated.
4791
bac23f82
HPN
47922004-11-04 Hans-Peter Nilsson <[email protected]>
4793
4794 * config.bfd: Support crisv32-*-* like cris-*-*.
4795 * archures.c (bfd_mach_cris_v0_v10, bfd_mach_cris_v32)
4796 (bfd_mach_cris_v10_v32): New macros.
4797 * cpu-cris.c: Tweak formatting.
4798 (get_compatible): New function.
4799 (N): New macro.
4800 (bfd_cris_arch_compat_v10_v32, bfd_cris_arch_v32): New
4801 bfd_arch_info_type:s.
4802 (bfd_cris_arch): Use bfd_mach_cris_v0_v10 for member mach,
4803 get_compatible for member compatible and link bfd_cris_arch_v32 as
4804 next.
4805 * elf32-cris.c (cris_elf_pcrel_reloc)
4806 (cris_elf_set_mach_from_flags): New functions.
4807 (cris_elf_howto_table) <R_CRIS_8_PCREL, R_CRIS_16_PCREL>
4808 <R_CRIS_32_PCREL>: Use cris_elf_pcrel_reloc.
4809 (cris_elf_grok_prstatus, cris_elf_grok_psinfo): Give correct
4810 numbers for bfd_mach_cris_v32.
4811 (PLT_ENTRY_SIZE_V32): New macro.
4812 (elf_cris_plt0_entry): Drop last comma in initializer.
4813 (elf_cris_plt0_entry_v32, elf_cris_plt_entry_v32)
4814 (elf_cris_pic_plt0_entry_v32, elf_cris_pic_plt_entry_v32): New
4815 PLT initializers.
4816 (cris_elf_relocate_section): Change all "%B(%A)" messages to
4817 "%B, section %A".
4818 (elf_cris_finish_dynamic_symbol): Do V32-specific PLT entries.
4819 (elf_cris_finish_dynamic_sections): Similar.
4820 (elf_cris_adjust_dynamic_symbol): Similar.
4821 (cris_elf_check_relocs): Change all "%B(%A)" messages to "%B,
4822 section %A".
4823 <switch with PIC relocs>: Emit error and return FALSE for
4824 bfd_mach_cris_v10_v32.
4825 <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
4826 Emit warning when generating textrel reloc.
4827 (cris_elf_object_p): Call cris_elf_set_mach_from_flags.
4828 (cris_elf_final_write_processing): Set flags according to mach.
4829 (cris_elf_print_private_bfd_data): Display
4830 EF_CRIS_VARIANT_COMMON_V10_V32 and EF_CRIS_VARIANT_V32.
4831 (cris_elf_merge_private_bfd_data): Drop variables old_flags,
4832 new_flags. Don't call cris_elf_final_write_processing. Don't
4833 look at the actual elf header flags at all; use
4834 bfd_get_symbol_leading_char to check ibfd, obfd. Trap difference
4835 in bfd_get_mach for ibfd and obfd and handle merging of compatible
4836 objects.
4837 (bfd_elf32_bfd_copy_private_bfd_data): Define.
4838 * reloc.c (BFD_RELOC_CRIS_SIGNED_8, BFD_RELOC_CRIS_UNSIGNED_8)
4839 (BFD_RELOC_CRIS_SIGNED_16, BFD_RELOC_CRIS_UNSIGNED_16)
4840 (BFD_RELOC_CRIS_LAPCQ_OFFSET): New relocs.
4841 * bfd-in2.h, libbfd.h: Regenerate.
4842
c5614fa4
AM
48432004-11-04 Alan Modra <[email protected]>
4844
4845 * elf64-ppc.h (ppc64_elf_edit_toc): Declare.
4846 * elf64-ppc.c (struct ppc_link_hash_entry <adjust_done>): Update
4847 comment.
4848 (struct adjust_toc_info): New.
4849 (adjust_toc_syms, ppc64_elf_edit_toc): New functions.
4850
0ebdbb83
BW
48512004-11-03 Bob Wilson <[email protected]>
4852
4853 * elf.c (assign_file_positions_for_segments): Set next_file_pos even
4854 if there are no segments.
4855
675b2ace
DJ
48562004-11-02 Daniel Jacobowitz <[email protected]>
4857
4858 * config.bfd: Mark arm-*-oabi and thumb-*-oabi as obsolete.
4859
58852c27
NC
48602004-11-02 Nick Clifton <[email protected]>
4861
4862 * elf32-iq2000.c: Convert to ISO C90 formatting.
4863
e6857c0c
HPN
48642004-11-02 Hans-Peter Nilsson <[email protected]>
4865
20288ed6 4866 * elflink.c (_bfd_elf_create_got_section): Hide _GLOBAL_OFFSET_TABLE_.
e6857c0c 4867
bf718458
L
48682004-10-28 H.J. Lu <[email protected]>
4869
4870 * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle weak
4871 undefined symbols for R_IA64_SECREL32MSB, R_IA64_SECREL32LSB,
4872 R_IA64_SECREL64MSB and R_IA64_SECREL64LSB.
4873
044ad7e3
KK
48742004-10-28 Kaz Kojima <[email protected]>
4875
4876 * elf32-sh.c (tpoff): Take alignment into account.
4877
d5cb4bb8
NC
48782004-10-28 Nick Clifton <[email protected]>
4879
4880 * elf32-iq2000.c (iq2000_elf_relocate_section): Do nothing when
0d48eab6 4881 performing a relocatable link.
d5cb4bb8
NC
4882 (iq2000_elf_object_p): Do not set elf_bad_symtab. This is only
4883 for MIPS ports under Irix.
4884
5b5bb741
PB
48852004-10-27 Richard Earnshaw <[email protected]>
4886
4887 * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Handle
4888 R_ARM_CALL and R_ARM_JUMP24 as aliases of R_ARM_PC24.
4889 (elf32_arm_final_link_relocate): Ditto.
4890 (arm_add_to_rel, elf32_arm_relocate_section): Ditto.
4891 (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto
4892 (elf32_arm_adjust_dynamic_symbol): Ditto.
4893 * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_CALL and
4894 R_ARM_JUMP32. Move R_ARM_R{REL32,ABS32,PC24,BASE}...
4895 (elf32_arm_r_howto): ... To here.
4896 (elf32_arm_howto_from_type): Use elf32_arm_r_howto.
4897
97ecf322
L
48982004-10-26 H.J. Lu <[email protected]>
4899
4900 PR 475
4901 * elfxx-ia64.c (elfNN_ia64_relocate_section): Correct
4902 R_IA64_SECREL32MSB, R_IA64_SECREL32LSB, R_IA64_SECREL64MSB
4903 and R_IA64_SECREL64LSB.
4904
3e3b46e5
PB
49052004-10-26 Paul Brook <[email protected]>
4906
4907 * elflink.c (elf_finalize_dynstr): Skip shared aux structure.
4908 (bfd_elf_size_dynamic_sections): Create default version definition.
4909 (elf_link_output_extsym): Adjust for default symbol version.
4910
aa69fe43
HPN
49112004-10-24 Hans-Peter Nilsson <[email protected]>
4912
278b4623
HPN
4913 * mmo.c: Adjust to ISO C.
4914
aa69fe43
HPN
4915 * mmo.c (mmo_write_section_description): New function broken out
4916 of mmo_internal_write_section.
4917 (mmo_internal_write_section): For each of .text and .data, call
4918 mmo_write_section_description before outputting contents if it has
4919 nontrivially deducible vma or contents.
4920 (mmo_has_leading_or_trailing_zero_tetra_p): New function.
4921 (mmo_canonicalize_symtab): Adjust absolute symbols to .data
4922 symbols if found within the .data address range.
4923
ed040321
DJ
49242004-10-24 Daniel Jacobowitz <[email protected]>
4925
4926 * opncls.c (bfd_close): Return TRUE for BFD_IN_MEMORY.
4927
830866af
HPN
49282004-10-24 Hans-Peter Nilsson <[email protected]>
4929
4930 * mmo.c (File Layout): Correct place of misplaced blurb about
4931 special data.
4932
5f417ca3
MK
49332004-10-22 Mark Kettenis <[email protected]>
4934
4935 * config.bfd: Add mips64*-*-openbsd.
4936
823fc61f
BW
49372004-10-21 Bob Wilson <[email protected]>
4938
4939 * elf32-xtensa.c (ebb_propose_action): Put declarations before
4940 statements.
4941
8697aafb
L
49422004-10-21 H.J. Lu <[email protected]>
4943
4944 * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.94.
4945 * configure: Regenerate.
4946
dfeffb9f
L
49472004-10-21 H.J. Lu <[email protected]>
4948
4949 PR 463
4950 * aoutx.h (aout_link_input_section_std): Pass proper hash entry
4951 to linker reloc_overflow callback.
4952 (aout_link_input_section_ext): Likewise.
4953 (aout_link_reloc_link_order): Likewise.
4954 * coff-a29k.c (coff_a29k_relocate_section): Likewise.
4955 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
4956 Likewise.
4957 (alpha_relocate_section): Likewise.
4958 * coff-arm.c (coff_arm_relocate_section): Likewise.
4959 * coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
4960 * coff-h8500.c (extra_case): Likewise.
4961 * coff-i960.c (coff_i960_relocate_section): Likewise.
4962 * coff-mcore.c (coff_mcore_relocate_section): Likewise.
4963 * coff-mips.c (mips_relocate_section): Likewise.
4964 * coff-or32.c (coff_or32_relocate_section): Likewise.
4965 * coff-ppc.c (coff_ppc_relocate_section): Likewise.
4966 * coff-rs6000.c (xcoff_ppc_relocate_section): Likewise.
4967 * coff-sh.c (sh_relocate_section): Likewise.
4968 * coff-tic80.c (coff_tic80_relocate_section): Likewise.
4969 * coff-w65.c (w65_reloc16_extra_cases): Likewise.
4970 * coff-z8k.c (extra_case): Likewise.
4971 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
4972 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
4973 (_bfd_coff_generic_relocate_section): Likewise.
4974 * ecoff.c (ecoff_reloc_link_order): Likewise.
4975 * elf-hppa.h (elf_hppa_relocate_section): Likewise.
4976 * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
4977 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
4978 * elf32-arm.h (elf32_arm_relocate_section): Likewise.
4979 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
4980 * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
4981 * elf32-cris.c (cris_elf_relocate_section): Likewise.
4982 * elf32-crx.c (elf32_crx_relocate_section): Likewise.
4983 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
4984 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
4985 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
4986 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
4987 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
4988 * elf32-i370.c (i370_elf_relocate_section): Likewise.
4989 * elf32-i386.c (elf_i386_relocate_section): Likewise.
4990 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
4991 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
4992 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
4993 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
4994 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
4995 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
4996 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
4997 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
4998 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
4999 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
5000 * elf32-s390.c (elf_s390_relocate_section): Likewise.
5001 * elf32-sh.c (sh_elf_relocate_section): Likewise.
5002 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
5003 * elf32-v850.c (v850_elf_relocate_section): Likewise.
5004 * elf32-vax.c (elf_vax_relocate_section): Likewise.
5005 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
5006 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
5007 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
5008 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
5009 * elf64-s390.c (elf_s390_relocate_section): Likewise.
5010 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
5011 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
5012 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
5013 * elflink.c (elf_reloc_link_order): Likewise.
5014 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
5015 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
5016 (_bfd_elf_mips_get_relocated_section_contents): Likewise.
5017 * linker.c (_bfd_generic_reloc_link_order): Likewise.
5018 * pdp11.c (pdp11_aout_link_input_section): Likewise.
5019 (aout_link_reloc_link_order): Likewise.
5020 * reloc.c (bfd_generic_get_relocated_section_contents):
5021 Likewise.
5022 * xcofflink.c (xcoff_reloc_link_order): Likewise.
5023 * simple.c (simple_dummy_reloc_overflow): Updated.
5024
1715e0e3
AS
50252004-10-20 Andreas Schwab <[email protected]>
5026
5027 * elf32-m68k.c (elf_m68k_plt_sym_val): New function.
5028 (elf_backend_plt_sym_val): Define.
5029
db3d41a8
DS
50302004-10-19 Danny Smith <[email protected]>
5031
5032 * config.bfd: Set targ_underscore=yes for PE COFF targets
5033
4b85d634
AM
50342004-10-19 Alan Modra <[email protected]>
5035
5036 * elf64-ppc.c (opd_entry_value): Handle --just-symbols objects.
5037 (ppc64_elf_edit_opd): Likewise.
5038
6df4d94c
MM
50392004-10-18 Mark Mitchell <[email protected]>
5040
5041 * elfarm-nabi.c (ELF_DYNAMIC_SEC_FLAGS): Add comment.
5042 * elflink.c (_bfd_elf_create_dynamic_sections): For a loaded PLT,
5043 set SEC_ALLOC and SEC_LOAD.
5044
00d962d1
NC
50452004-10-18 Nick Clifton <[email protected]>
5046
5047 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Compute
5048 'name' for relocs against both local and global symbols.
5049
b58f81ae
DJ
50502004-10-16 Daniel Jacobowitz <[email protected]>
5051
5052 * bfd-in2.h: Regenerate.
5053 * bfd.c (struct bfd): Add no_export.
5054 * elflink.c (elf_link_add_object_symbols): Handle no_export.
5055
7d3f158f
AM
50562004-10-15 Alan Modra <[email protected]>
5057
5058 * config.bfd: Whitespace cleanup.
5059 * Makefile.am: Run "make dep-am"
5060 * Makefile.in: Regenerate.
5061
6d2cd210
JJ
50622004-10-15 Jakub Jelinek <[email protected]>
5063
5064 * elflink.c (struct already_linked_section): Removed.
5065 (try_match_symbols_in_sections, already_linked): Removed.
5066 (_bfd_elf_section_already_linked): Skip ^\.gnu\.linkonce\.[^.]*\.
5067 prefix of section names when finding already_linked_table
5068 chain. Compare section names. Instead of calling already_linked,
5069 do it inline and only for sections in the same already_linked_list.
5070
92e4ec35
AM
50712004-10-15 Alan Modra <[email protected]>
5072
5073 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Add "info"
5074 parameter. If called after _bfd_elf_write_section_eh_frame,
5075 don't allow a -2 return unless need_* bit is already set, and
5076 handle offsets adjusted for output_offset.
5077 * elf-bfd.h (_bfd_elf_eh_frame_section_offset): Update prototype.
5078 * elf.c (_bfd_elf_section_offset): Update call.
5079
7bf6dede
L
50802004-10-13 H.J. Lu <[email protected]>
5081
5082 PR 440
5083 * coffcode.h (coff_compute_section_file_positions): Cast to
5084 bfd_vma when computing page alignment.
5085
c0042f5d
MM
50862004-10-13 Mark Mitchell <[email protected]>
5087
5088 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
5089 offsets, not VMAs, for DT_VERSYM, DT_VERDEF, DT_VERNEED.
5090
2a1b9a48
MM
50912004-10-12 Mark Mitchell <[email protected]>
5092
5093 * elf32-arm.h (elf32_arm_finish_dynamic_symbol): Make .rel.plt
5094 relocations use a virtual address, not a section offset.
5095
b08b5071
BW
50962004-10-12 Bob Wilson <[email protected]>
5097
5098 * elf32-xtensa.c (elf_xtensa_get_private_bfd_flags): Delete.
5099 (narrow_instruction, widen_instruction): Remove unnecessary calls to
5100 xtensa_format_encode.
5101 (ebb_propose_action): Inline call to ebb_add_proposed_action.
5102 (ebb_add_proposed_action): Delete.
5103
7fa3d080
BW
51042004-10-12 Bob Wilson <[email protected]>
5105
5106 * elf32-xtensa.c: Use ISO C90 formatting.
5107
3656d5e3
PB
51082004-10-12 Paul Brook <[email protected]>
5109
5110 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Rephrase error
5111 message.
5112
8cb51566
PB
51132004-10-12 Paul Brook <[email protected]>
5114
5115 * elf32-arm.h: Support EABI version 4 objects.
5116
1abc8597
AM
51172004-10-12 Alan Modra <[email protected]>
5118
5119 PR 325
5120 * cpu-i386.c (bfd_x86_64_arch_intel_syntax): Place last in chain.
5121 Don't mark as default.
5122 (bfd_x86_64_arch): Don't mark as default.
5123
9e66c942
AM
51242004-10-12 Alan Modra <[email protected]>
5125
5126 * elflink.c (enum action_discarded): New.
5127 (elf_section_complain_discarded): Delete.
5128 (elf_action_discarded): New function subsuming the above and also
5129 controlling reloc behaviour.
1abc8597 5130 (elf_link_input_bfd): Use it.
9e66c942 5131
7f1204bb
JJ
51322004-10-11 Jakub Jelinek <[email protected]>
5133
5134 * elf.c (bfd_section_from_shdr): Handle SHT_GNU_LIBLIST.
5135 (special_sections): Add .gnu.liblist and .gnu.conflict.
5136 (assign_section_numbers): Handle SHT_GNU_LIBLIST.
5137
87e5235d
AM
51382004-10-11 Alan Modra <[email protected]>
5139
5140 PR 233
5141 * elflink.c (elf_link_input_bfd): Try harder to support
5142 relocations against symbols in removed linkonce sections.
5143
2ad770c3
AM
51442004-10-11 Alan Modra <[email protected]>
5145
029446c4
AM
5146 * elflink.c (elf_link_input_bfd): Revert PR 354 change.
5147
2ad770c3
AM
5148 PR 354
5149 * elflink.c (elf_link_input_bfd): Check that relocs in SEC_ALLOC
5150 sections do not reference symbols in non-SEC_ALLOC sections.
5151
1da212d6
AM
51522004-10-11 Alan Modra <[email protected]>
5153
5154 PR 437
5155 * elflink.c (elf_link_sort_relocs): Don't bomb on unusual sections.
5156 (_bfd_elf_link_omit_section_dynsym): Formatting.
5157
f12123c0
AM
51582004-10-10 Alan Modra <[email protected]>
5159
5160 * libbfd-in.h (BFD_ASSERT, BFD_FAIL): Wrap macro body in do while.
5161 * libbfd.h: Regnerate.
5162 * elf32-cris.c: Add missing semicolon to BFD_ASSERTs.
5163 * elf32-frv.c: Likewise.
5164 * elf32-m32r.c: Likewise.
5165 * elf32-ppc.c: Likewise.
5166 * elf64-hppa.c: Likewise.
5167 * elfxx-ia64.c: Likewise.
5168 * opncls.c: Likewise.
5169
fda3ecf2
AM
51702004-10-10 Alan Modra <[email protected]>
5171
3472e2e9
AM
5172 * elf-bfd.h (struct eh_frame_hdr_info): Add offsets_adjusted.
5173 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust
5174 offsets stored in struct eh_cie_fde entries before doing other
5175 work.
5176
fda3ecf2
AM
5177 * elf-bfd.h (struct eh_cie_fde): Add cie_inf, remove sec.
5178 (struct eh_frame_hdr_info): Add last_cie_inf, remove last_cie_offset.
5179 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete code
5180 setting offsets for removed CIEs. Don't set "sec", instead set
5181 cie_inf for FDEs. Keep a pointer to last struct eh_cie_fde for a
5182 CIE in hdr_info. Only set make_relative and make_lsda_relative
5183 for CIEs. Use pointers rather than array indices.
5184 (_bfd_elf_eh_frame_section_offset): Test/set make_relative,
5185 make_lsda_relative, need_* on cie_inf for FDEs.
5186 (_bfd_elf_write_section_eh_frame): Adjust offset and new_offset for
5187 section output_offset. Delete cie_offset, instead use cie_inf
5188 pointer to CIE entry. Use need_relative and need_lsda_relative on
5189 CIE entry for FDEs. Use pointers rather than array indices.
5190
7db6994f
AM
51912004-10-09 Alan Modra <[email protected]>
5192
5193 * coff-rs6000.c (rs6000coff_vec): Add initializer for
5194 bfd_is_target_special_symbol.
5195 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
5196 * som.c (som_bfd_is_target_special_symbol): Define.
5197
3c9458e9
NC
51982004-10-08 Nick Clifton <[email protected]>
5199
5200 * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.93.
5201 * configure: Regenerate.
5202 * bfd-in2.h: Regenerate.
5203 * syms.c (bfd_is_target_special_symbol): New interface function.
5204 Returns true when a symbol should be considered to be special.
7db6994f 5205 * targets.c (bfd_target): Include bfd_is_target_special_symbol in
3c9458e9
NC
5206 the symbol jump table.
5207 * elf32-arm.h (elf32_arm_is_target_special_symbol): New function.
5208 Return true iff the symbol is a mapping symbol.
5209 (bfd_elf32_bfd_is_target_special_symbol): Define.
5210 * elfxx-target.h: Provide a default definition for
5211 bfd_is_target_special_symbol.
5212 * aout-target.h: Likewise.
5213 * aout-tic30.c: Likewise.
873d03ee 5214 * binary.c: Likewise.
3c9458e9
NC
5215 * coffcode.h: Likewise.
5216 * i386msdos.c: Likewise.
5217 * ieee.c: Likewise.
873d03ee 5218 * ihex.c: Likewise.
3c9458e9
NC
5219 * libaout.h: Likewise.
5220 * libbfd-in.h: Likewise
5221 * libecoff.h: Likewise.
5222 * mach-o.c: Likewise.
5223 * mmo.c: Likewise.
5224 * nlm-target.h: Likewise.
5225 * oasys.c: Likewise.
5226 * pef.c: Likewise.
5227 * ppcboot.c: Likewise.
5228 * srec.c: Likewise.
5229 * tekhex.c: Likewise.
5230 * versados.c: Likewise.
5231 * vms.c: Likewise.
5232 * xcoff-target.h: Likewise.
5233 * xsym.c: Likewise.
5234 * libbfd.h: Regenerate.
5235
d2b2c203
DJ
52362004-10-08 Daniel Jacobowitz <[email protected]>
5237
5238 * config.bfd: Include 64-bit support for i[3-7]86-*-solaris2*.
5239 * elf64-x86-64.c (elf64_x86_64_section_from_shdr): New function.
5240 (elf_backend_section_from_shdr): Define.
5241
864274b0
AM
52422004-10-08 Alan Modra <[email protected]>
5243
5244 * syms.c (bfd_is_local_label): Return false for file symbols.
5245
43cd72b9 52462004-10-07 Bob Wilson <[email protected]>
85a5ac80 5247 David Heine <[email protected]>
43cd72b9
BW
5248
5249 * elf32-xtensa.c (elf32xtensa_size_opt): New global variable.
5250 (xtensa_default_isa): Global variable moved here from xtensa-isa.c.
5251 (elf32xtensa_no_literal_movement): New global variable.
5252 (elf_howto_table): Add entries for new relocations.
5253 (elf_xtensa_reloc_type_lookup): Handle new relocations.
5254 (property_table_compare): When addresses are equal, compare sizes and
5255 various property flags.
5256 (property_table_matches): New.
5257 (xtensa_read_table_entries): Extend to read new property tables. Add
5258 output_addr parameter to indicate that output addresses should be used.
5259 Use bfd_get_section_limit.
5260 (elf_xtensa_find_property_entry): New.
5261 (elf_xtensa_in_literal_pool): Use elf_xtensa_find_property_entry.
5262 (elf_xtensa_check_relocs): Handle new relocations.
5263 (elf_xtensa_do_reloc): Use bfd_get_section_limit. Handle new
5264 relocations. Use new xtensa-isa.h functions.
5265 (build_encoding_error_message): Remove encode_result parameter. Add
5266 new target_address parameter used to detect alignment errors.
5267 (elf_xtensa_relocate_section): Use bfd_get_section_limit. Clean up
5268 error handling. Use new is_operand_relocation function.
5269 (elf_xtensa_combine_prop_entries, elf_xtensa_merge_private_bfd_data):
5270 Use underbar macro for error messages. Formatting.
5271 (get_const16_opcode): New.
5272 (get_l32r_opcode): Add a separate flag for initialization.
5273 (get_relocation_opnd): Operand number is no longer explicit in the
5274 relocation. Change to decode the opcode and analyze its operands.
5275 (get_relocation_slot): New.
5276 (get_relocation_opcode): Add bfd parameter. Use bfd_get_section_limit.
5277 Use new xtensa-isa.h functions to handle multislot instructions.
5278 (is_l32r_relocation): Add bfd parameter. Use is_operand_relocation.
5279 (get_asm_simplify_size, is_alt_relocation, is_operand_relocation,
5280 insn_decode_len, insn_decode_opcode, check_branch_target_aligned,
5281 check_loop_aligned, check_branch_target_aligned_address, narrowable,
5282 widenable, narrow_instruction, widen_instruction, op_single_fmt_table,
5283 get_single_format, init_op_single_format_table): New.
5284 (elf_xtensa_do_asm_simplify): Add error_message parameter and use it
5285 instead of calling _bfd_error_handler. Use new xtensa-isa.h functions.
5286 (contract_asm_expansion): Add error_message parameter and pass it to
5287 elf_xtensa_do_asm_simplify. Replace use of R_XTENSA_OP0 relocation
5288 with R_XTENSA_SLOT0_OP.
5289 (get_expanded_call_opcode): Extend to handle either L32R or CONST16
5290 instructions. Use new xtensa-isa.h functions.
5291 (r_reloc struct): Add new virtual_offset field.
5292 (r_reloc_init): Add contents and content_length parameters. Set
5293 virtual_offset field to zero. Add contents to target_offset field for
5294 partial_inplace relocations.
5295 (r_reloc_is_defined): Check for null.
5296 (print_r_reloc): New debug function.
5297 (source_reloc struct): Replace xtensa_operand field with pair of the
5298 opcode and the operand position. Add is_abs_literal field.
5299 (init_source_reloc): Specify operand by opcode/position pair. Set
5300 is_abs_literal field.
5301 (source_reloc_compare): When target_offsets are equal, compare other
5302 fields to make sorting predictable.
5303 (literal_value struct): Add is_abs_literal field.
5304 (value_map_hash_table struct): Add has_last_loc and last_loc fields.
5305 (init_literal_value): New.
5306 (is_same_value): Replace with ...
5307 (literal_value_equal): ... this function. Add comparisons of
5308 virtual_offset and is_abs_literal fields.
5309 (value_map_hash_table_init): Use bfd_zmalloc. Check for allocation
5310 failure. Initialize has_last_loc field.
5311 (value_map_hash_table_delete): New.
5312 (hash_literal_value): Rename to ...
5313 (literal_value_hash): ... this. Include is_abs_literal flag and
5314 virtual_offset field in the hash value.
5315 (get_cached_value): Rename to ...
5316 (value_map_get_cached_value): ... this. Update calls to
5317 literal_value_hash and literal_value_equal.
5318 (add_value_map): Check for allocation failure. Update calls to
5319 value_map_get_cached_value and literal_value_hash.
5320 (text_action, text_action_list, text_action_t): New types.
5321 (find_fill_action, compute_removed_action_diff, adjust_fill_action,
5322 text_action_add, text_action_add_literal, offset_with_removed_text,
5323 offset_with_removed_text_before_fill, find_insn_action,
5324 print_action_list, print_removed_literals): New.
5325 (offset_with_removed_literals): Delete.
5326 (xtensa_relax_info struct): Add is_relaxable_asm_section, action_list,
5327 fix_array, fix_array_count, allocated_relocs, relocs_count, and
5328 allocated_relocs_count fields.
5329 (init_xtensa_relax_info): Initialize new fields.
5330 (reloc_bfd_fix struct): Add new translated field.
5331 (reloc_bfd_fix_init): Add translated parameter and use it to set the
5332 translated field.
5333 (fix_compare, cache_fix_array): New.
5334 (get_bfd_fix): Remove fix_list parameter and get all relax_info for the
5335 section via get_xtensa_relax_info. Use cache_fix_array to set up
5336 sorted fix_array and use bsearch instead of linear search.
5337 (section_cache_t): New struct.
5338 (init_section_cache, section_cache_section, clear_section_cache): New.
5339 (ebb_t, ebb_target_enum, proposed_action, ebb_constraint): New types.
5340 (init_ebb_constraint, free_ebb_constraint, init_ebb, extend_ebb_bounds,
5341 extend_ebb_bounds_forward, extend_ebb_bounds_backward,
5342 insn_block_decodable_len, ebb_propose_action, ebb_add_proposed_action):
5343 New.
5344 (retrieve_contents): Use bfd_get_section_limit.
5345 (elf_xtensa_relax_section): Add relocations_analyzed flag. Update call
5346 to compute_removed_literals. Free value_map_hash_table when no longer
5347 needed.
5348 (analyze_relocations): Check is_relaxable_asm_section flag. Call
5349 compute_text_actions for all sections.
5350 (find_relaxable_sections): Mark sections as relaxable if they contain
5351 ASM_EXPAND relocations that can be optimized. Adjust r_reloc_init
5352 call. Increment relax_info src_count field only for appropriate
5353 relocation types. Remove is_literal_section check.
5354 (collect_source_relocs): Use bfd_get_section_limit. Adjust calls to
5355 r_reloc_init and find_associated_l32r_irel. Check
5356 is_relaxable_asm_section flag. Handle L32R instructions with absolute
5357 literals. Pass is_abs_literal flag to init_source_reloc.
5358 (is_resolvable_asm_expansion): Use bfd_get_section_limit. Check for
5359 CONST16 instructions. Adjust calls to r_reloc_init and
fda3ecf2 5360 pcrel_reloc_fits. Handle weak symbols conservatively.
43cd72b9
BW
5361 (find_associated_l32r_irel): Add bfd parameter and pass it to
5362 is_l32r_relocation.
5363 (compute_text_actions, compute_ebb_proposed_actions,
5364 compute_ebb_actions, check_section_ebb_pcrels_fit,
5365 check_section_ebb_reduces, text_action_add_proposed,
5366 compute_fill_extra_space): New.
5367 (remove_literals): Replace with ...
5368 (compute_removed_literals): ... this function. Call
5369 init_section_cache. Use bfd_get_section_limit. Sort internal_relocs.
5370 Call xtensa_read_table_entries to get the property table. Skip
5371 relocations other than R_XTENSA_32 and R_XTENSA_PLT. Use new
5372 is_removable_literal, remove_dead_literal, and
fda3ecf2 5373 identify_literal_placement functions.
43cd72b9
BW
5374 (get_irel_at_offset): Rewrite to use bsearch on sorted relocations
5375 instead of linear search.
5376 (is_removable_literal, remove_dead_literal,
5377 identify_literal_placement): New.
5378 (relocations_reach): Update check for literal not referenced by any
5379 PC-relative relocations. Adjust call to pcrel_reloc_fits.
5380 (coalesce_shared_literal, move_shared_literal): New.
5381 (relax_section): Use bfd_get_section_limit. Call
5382 translate_section_fixes. Update calls to r_reloc_init and
5383 offset_with_removed_text. Check new is_relaxable_asm_section flag.
5384 Add call to pin_internal_relocs. Add special handling for
5385 R_XTENSA_ASM_SIMPLIFY and R_XTENSA_DIFF* relocs. Use virtual_offset
5386 info to calculate new addend_displacement variable. Replace code for
5387 deleting literals with more general code to perform the actions
5388 determined by the action_list for the section.
5389 (translate_section_fixes, translate_reloc_bfd_fix): New.
5390 (translate_reloc): Check new is_relaxable_asm_section flag. Call
5391 find_removed_literal only if is_operand_relocation. Update call to
5392 offset_with_removed_text. Use new target_offset and removed_bytes
5393 variables.
5394 (move_literal): New.
5395 (relax_property_section): Use bfd_get_section_limit. Set new
5396 is_full_prop_section flag and handle new property tables. Update calls
5397 to r_reloc_init and offset_with_removed_text. Check
5398 is_relaxable_asm_section flag. Handle expansion of zero-sized
5399 unreachable entries, with use of offset_with_removed_text_before_fill.
5400 For relocatable links, combine entries only for literal tables.
5401 (relax_section_symbols): Check is_relaxable_asm_section flag. Update
5402 calls to offset_with_removed_text. Translate st_size field for
5403 function symbols.
5404 (do_fix_for_relocatable_link): Change to return bfd_boolean to indicate
5405 failure. Add contents parameter. Update call to get_bfd_fix. Update
5406 call to r_reloc_init. Call _bfd_error_handler and return FALSE for
5407 R_XTENSA_ASM_EXPAND relocs.
5408 (do_fix_for_final_link): Add input_bfd and contents parameters. Update
5409 call to get_bfd_fix. Include offset from contents for partial_inplace
5410 relocations.
5411 (is_reloc_sym_weak): New.
5412 (pcrel_reloc_fits): Use new xtensa-isa.h functions.
5413 (prop_sec_len): New.
5414 (xtensa_is_property_section): Handle new property sections.
5415 (is_literal_section): Delete.
5416 (internal_reloc_compare): When r_offset matches, compare r_info and
5417 r_addend to make sorting predictable.
5418 (internal_reloc_matches): New.
5419 (xtensa_get_property_section_name): Handle new property sections.
5420 (xtensa_get_property_predef_flags): New.
5421 (xtensa_callback_required_dependence): Use bfd_get_section_limit.
5422 Update calls to xtensa_isa_init, is_l32r_relocation, and r_reloc_init.
5423 * xtensa-isa.c (xtensa_default_isa): Moved to elf32-xtensa.c.
5424 (xtisa_errno, xtisa_error_msg): New variables.
5425 (xtensa_isa_errno, xtensa_isa_error_msg): New.
5426 (xtensa_insnbuf_alloc): Add error handling.
5427 (xtensa_insnbuf_to_chars): Add num_chars parameter. Update to
5428 use xtensa_format_decode. Add error handling.
5429 (xtensa_insnbuf_from_chars): Add num_chars parameter. Decode the
5430 instruction length to find the number of bytes to copy.
5431 (xtensa_isa_init): Add error handling. Replace calls to
5432 xtensa_load_isa and xtensa_extend_isa with code to initialize lookup
5433 tables in the xtensa_modules structure.
5434 (xtensa_check_isa_config, xtensa_add_isa, xtensa_load_isa,
5435 xtensa_extend_isa): Delete.
5436 (xtensa_isa_free): Change to only free lookup tables.
5437 (opname_lookup_compare): Replace with ...
5438 (xtensa_isa_name_compare): ... this function. Use strcasecmp.
5439 (xtensa_insn_maxlength): Rename to ...
5440 (xtensa_isa_maxlength): ... this.
5441 (xtensa_insn_length): Delete.
5442 (xtensa_insn_length_from_first_byte): Replace with ...
5443 (xtensa_isa_length_from_chars): ... this function.
5444 (xtensa_num_opcodes): Rename to ...
5445 (xtensa_isa_num_opcodes): ... this.
5446 (xtensa_isa_num_pipe_stages, xtensa_isa_num_formats,
5447 xtensa_isa_num_regfiles, xtensa_isa_num_stages,
5448 xtensa_isa_num_sysregs, xtensa_isa_num_interfaces,
5449 xtensa_isa_num_funcUnits, xtensa_format_name, xtensa_format_lookup,
5450 xtensa_format_decode, xtensa_format_encode, xtensa_format_length,
5451 xtensa_format_num_slots, xtensa_format_slot_nop_opcode,
5452 xtensa_format_get_slot, xtensa_format_set_slot): New functions.
5453 (xtensa_opcode_lookup): Add error handling.
5454 (xtensa_decode_insn): Replace with ...
5455 (xtensa_opcode_decode): ... this function, with new format and
5456 slot parameters. Add error handling.
5457 (xtensa_encode_insn): Replace with ...
5458 (xtensa_opcode_encode): ... this function, which does the encoding via
5459 one of the entries in the "encode_fns" array. Add error handling.
5460 (xtensa_opcode_name): Add error handling.
5461 (xtensa_opcode_is_branch, xtensa_opcode_is_jump, xtensa_opcode_is_loop,
5462 xtensa_opcode_is_call): New.
5463 (xtensa_num_operands): Replace with ...
5464 (xtensa_opcode_num_operands): ... this function. Add error handling.
5465 (xtensa_opcode_num_stateOperands,
5466 xtensa_opcode_num_interfaceOperands, xtensa_opcode_num_funcUnit_uses,
5467 xtensa_opcode_funcUnit_use, xtensa_operand_name,
5468 xtensa_operand_is_visible): New.
5469 (xtensa_get_operand, xtensa_operand_kind): Delete.
5470 (xtensa_operand_inout): Add error handling and special-case for
5471 "sout" operands.
5472 (xtensa_operand_get_field, xtensa_operand_set_field): Rewritten to
5473 operate on one slot of an instruction. Added error handling.
5474 (xtensa_operand_encode): Handle default operands with no encoding
5475 functions. Check for success by comparing against decoded value.
5476 Add error handling.
5477 (xtensa_operand_decode): Handle default operands. Return decoded value
5478 through argument pointer. Add error handling.
5479 (xtensa_operand_is_register, xtensa_operand_regfile,
5480 xtensa_operand_num_regs, xtensa_operand_is_known_reg): New.
5481 (xtensa_operand_isPCRelative): Rename to ...
5482 (xtensa_operand_is_PCrelative): ... this. Add error handling.
5483 (xtensa_operand_do_reloc, xtensa_operand_undo_reloc): Return value
5484 through argument pointer. Add error handling.
5485 (xtensa_stateOperand_state, xtensa_stateOperand_inout,
5486 xtensa_interfaceOperand_interface, xtensa_regfile_lookup,
5487 xtensa_regfile_lookup_shortname, xtensa_regfile_name,
5488 xtensa_regfile_shortname, xtensa_regfile_view_parent,
5489 xtensa_regfile_num_bits, xtensa_regfile_num_entries,
5490 xtensa_state_lookup, xtensa_state_name, xtensa_state_num_bits,
5491 xtensa_state_is_exported, xtensa_sysreg_lookup,
5492 xtensa_sysreg_lookup_name, xtensa_sysreg_name, xtensa_sysreg_number,
5493 xtensa_sysreg_is_user, xtensa_interface_lookup, xtensa_interface_name,
5494 xtensa_interface_num_bits, xtensa_interface_inout,
5495 xtensa_interface_has_side_effect, xtensa_funcUnit_lookup,
5496 xtensa_funcUnit_name, xtensa_funcUnit_num_copies): New.
5497 * xtensa-modules.c: Rewrite to use new data structures.
5498 * reloc.c (BFD_RELOC_XTENSA_DIFF8, BFD_RELOC_XTENSA_DIFF16,
5499 BFD_RELOC_XTENSA_DIFF32, BFD_RELOC_XTENSA_SLOT0_OP,
5500 BFD_RELOC_XTENSA_SLOT1_OP, BFD_RELOC_XTENSA_SLOT2_OP,
5501 BFD_RELOC_XTENSA_SLOT3_OP, BFD_RELOC_XTENSA_SLOT4_OP,
5502 BFD_RELOC_XTENSA_SLOT5_OP, BFD_RELOC_XTENSA_SLOT6_OP,
5503 BFD_RELOC_XTENSA_SLOT7_OP, BFD_RELOC_XTENSA_SLOT8_OP,
5504 BFD_RELOC_XTENSA_SLOT9_OP, BFD_RELOC_XTENSA_SLOT10_OP,
5505 BFD_RELOC_XTENSA_SLOT11_OP, BFD_RELOC_XTENSA_SLOT12_OP,
5506 BFD_RELOC_XTENSA_SLOT13_OP, BFD_RELOC_XTENSA_SLOT14_OP,
5507 BFD_RELOC_XTENSA_SLOT0_ALT, BFD_RELOC_XTENSA_SLOT1_ALT,
5508 BFD_RELOC_XTENSA_SLOT2_ALT, BFD_RELOC_XTENSA_SLOT3_ALT,
5509 BFD_RELOC_XTENSA_SLOT4_ALT, BFD_RELOC_XTENSA_SLOT5_ALT,
5510 BFD_RELOC_XTENSA_SLOT6_ALT, BFD_RELOC_XTENSA_SLOT7_ALT,
5511 BFD_RELOC_XTENSA_SLOT8_ALT, BFD_RELOC_XTENSA_SLOT9_ALT,
5512 BFD_RELOC_XTENSA_SLOT10_ALT, BFD_RELOC_XTENSA_SLOT11_ALT,
5513 BFD_RELOC_XTENSA_SLOT12_ALT, BFD_RELOC_XTENSA_SLOT13_ALT,
5514 BFD_RELOC_XTENSA_SLOT14_ALT): Add new relocations.
5515 * Makefile.am (xtensa-isa.lo, xtensa-modules.lo): Update dependencies.
5516 * Makefile.in: Regenerate.
5517 * bfd-in2.h: Likewise.
5518 * libbfd.h: Likewise.
5519
99022dfb
RS
55202004-10-07 Richard Sandiford <[email protected]>
5521
5522 * elf64-mips.c (mips_elf64_write_rel): Use STN_UNDEF for relocs
5523 against the absolute section.
5524 (mips_elf64_write_rela): Likewise.
5525
b67ae299
NC
55262004-10-07 Jan Beulich <[email protected]>
5527
5528 * elf.c (elf_find_function): Don't generally check for matching
5529 section, just for non-file symbols. Remove redunant comparison
5530 for the latter.
5531 * elf32-arm.h (arm_elf_find_function): Likewise.
5532
8fdd7217
NC
55332004-10-07 Jeff Baker <[email protected]>
5534
5535 * elflink.c (_bfd_elf_add_dynamic_entry): Add code to warn if
5536 adding a DT_TEXTREL to a shared object and --warn-shared-textrel
5537 was specified.
5538
073a2dc3
RM
55392004-10-04 Roland McGrath <[email protected]>
5540
5541 * hash.c (bfd_hash_set_default_size): Use const for table.
5542 Use size_t instead of int for variable compared to sizeof results.
5543
7785be14
AM
55442004-10-05 Alan Modra <[email protected]>
5545
5546 PR 425
5547 * syms.c (_bfd_stab_section_find_nearest_line): Ignore R_*_NONE relocs.
5548
40a18ebd
NC
55492004-10-01 Paul Brook <[email protected]>
5550
5551 * elf32-arm.h (elf32_arm_fake_sections,
5552 is_arm_elf_unwind_section_name, elf32_arm_section_from_shdr): New
5553 functions.
5554 (elf_backend_fake_sections, elf_backend_section_from_shdr): Define.
5555
8935b81f
AM
55562004-10-01 Alan Modra <[email protected]>
5557
5558 * elf-bfd.h (struct eh_cie_fde): Add need_relative and
5559 need_lsda_relative.
5560 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Set
5561 need_relative or need_lsda_relative if we are processing an
5562 offset for a reloc on a FDE initial loc or LSDA field
5563 respectively.
5564 (_bfd_elf_write_section_eh_frame): Test need_relative and
5565 need_lsda_relative in place of corresponding make_* field
5566 when deciding to use pc-relative encodings.
5567
eeac373a
PB
55682004-09-30 Paul Brook <[email protected]>
5569
5570 * elf32-arm.h (bfd_elf32_arm_set_target_relocs): Handle "abs"
5571 target2 relocation type.
5572
7479dfd4
L
55732004-09-30 H.J. Lu <[email protected]>
5574
5575 PR 414
5576 * elflink.c (_bfd_elf_merge_symbol): Check TLS symbol.
5577
0dd132b6
NC
55782004-09-30 Paul Brook <[email protected]>
5579
5580 * reloc.c: Add BFD_RELOC_ARM_SMI.
5581 * bfd-in2.h: Regenerate.
5582 * libbfd.h: Ditto.
5583
1ba54ee0
AM
55842004-09-24 Alan Modra <[email protected]>
5585
5586 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Add output section
5587 vma and output offset to address.
5588 * simple.c (simple_save_output_info): Only set output section
5589 and offset for debug sections, or those not already set up by
5590 the linker.
5591 (bfd_simple_get_relocated_section_contents): Update comment.
5592
5efb6261
AM
55932004-09-24 Alan Modra <[email protected]>
5594
5595 * elf.c (IS_LOADED): Delete.
5596 (assign_file_positions_for_segments): Just test SEC_LOAD instead.
5597 Restore SEC_HAS_CONTENTS test to the one place it was used prior
5598 to 2004-09-22.
5599
fca870e4
AM
56002004-09-23 Alan Modra <[email protected]>
5601
5602 PR gas/396
5603 * elf32-sparc.c (elf32_sparc_final_write_processing): Handle
5604 bfd_mach_sparc_sparclet and bfd_mach_sparc_sparclite. Remove
5605 redundant assignment of EM_SPARC.
5606
c86696a3
BF
56072004-09-22 Brian Ford <[email protected]>
5608
5609 * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
5610 alignment for .rdata sections so sse[2] code works with gcc >= 3.3.3
5611 constants.
5612 * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
5613
73adb214
AM
56142004-09-22 Alan Modra <[email protected]>
5615
5616 * elf32-ppc.c (ppc_elf_modify_segment_map): Delete.
5617 (elf_backend_modify_segment_map): Don't define.
5618
b301b248
AM
56192004-09-22 Alan Modra <[email protected]>
5620
5621 * elf.c (IS_LOADED): Define.
5622 (assign_file_positions_for_segments): Don't round up file offset of
5623 PT_LOAD segments containing no SEC_LOAD sections, instead round down.
5624 Delete code handling link script adjustment of lma. Do the adjust
5625 in later code handling similar ajustments. Remove dead code error
5626 check. Warn if section lma would require a negative offset
5627 adjustment. Tweak lma adjustment to use p_filesz rather than p_memsz.
5628 Use p_vaddr + p_memsz inside section loop in place of voff. Don't
5629 update voff in section loop. Change voff in segment loop to be an
5630 adjustment on top of "off". Set sec->filepos and update "off" later.
5631 Test for loadable sections consistently using IS_LOADED. Similarly,
073a2dc3 5632 test for alloc-only sections other than .tbss consistently.
b301b248
AM
5633 Don't bother checking SEC_ALLOC in PT_LOAD segments. Remove FIXME.
5634 Tidy PT_NOTE handling. Use %B and %A in error messages.
5635 (assign_file_positions_except_relocs): Use %B in error message.
5636
3f85e526
L
56372004-09-17 H.J. Lu <[email protected]>
5638
5639 * Makefile.am (AUTOMAKE_OPTIONS): Require 1.9.
5640 (CONFIG_STATUS_DEPENDENCIES): New.
5641 (Makefile): Removed.
5642 (config.status): Likewise.
5643 * Makefile.in: Regenerated.
5644
eb043451
PB
56452004-09-17 Paul Brook <[email protected]>
5646
5647 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add prototype.
5648 (bfd_elf32_arm_process_before_allocation): Update prototype.
5649 * bfd-in2.h: Regenerate.
5650 * bfd/elf32-arm.h (elf32_arm_link_hash_table): Add target2_reloc.
5651 (elf32_arm_link_hash_table_create): Set it.
5652 (bfd_elf32_arm_process_before_allocation): Remove target1_is_rel.
5653 (bfd_elf32_arm_set_target_relocs): New function.
5654 (arm_real_reloc_type): New function.
5655 (elf32_arm_final_link_relocate): Use it. Handle R_ARM_PREL31 and
5656 R_ARM_GOT_PREL. Remove R_ARM_TARGET1.
5657 (elf32_arm_gc_sweep_hook): Ditto.
5658 (elf32_arm_check_relocs): Ditto.
5659 (elf32_arm_relocate_section): Handle R_ARM_GOT_PREL.
5660 * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_PREL31 and
5661 R_ARM_GOT_TARGET2.
5662 (elf32_arm_got_prel): New variable.
5663 (elf32_arm_howto_from_type): New function.
5664 (elf32_arm_info_to_howto): Use it.
5665 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_PREL31 and
5666 BFD_RELOC_ARM_TARGET2.
5667 * libbfd.h: Regenerate.
5668 * reloc.c: Add BFD_RELOC_ARM_TARGET2 and BFD_RELOC_ARM_PREL31.
5669
f6e332e6
AM
56702004-09-17 Alan Modra <[email protected]>
5671
5672 * ecoff.c: Update u.undef.next refs.
5673 * elf64-ppc.c: Likewise.
5674 * elflink.c: Likewise.
5675 * linker.c: Likewise.
5676 * xcofflink.c: Likewise.
5677
5678 * elf-bfd.h (struct elf_link_hash_entry): Rearrange. Add FIXME to
5679 dynamic_def. Combine weakdef and elf_hash_value. Move vtable
5680 fields to indirect struct.
5681 * elf-m10300.c: Update u.weakdef refs.
5682 * elf32-arm.h: Likewise.
5683 * elf32-cris.c: Likewise.
5684 * elf32-frv.c: Likewise.
5685 * elf32-hppa.c: Likewise.
5686 * elf32-i370.c: Likewise.
5687 * elf32-i386.c: Likewise.
5688 * elf32-m32r.c: Likewise.
5689 * elf32-m68k.c: Likewise.
5690 * elf32-ppc.c: Likewise.
5691 * elf32-s390.c: Likewise.
5692 * elf32-sh.c: Likewise.
5693 * elf32-sparc.c: Likewise.
5694 * elf32-vax.c: Likewise.
5695 * elf32-xtensa.c: Likewise.
5696 * elf64-alpha.c: Likewise.
5697 * elf64-hppa.c: Likewise.
5698 * elf64-ppc.c: Likewise.
5699 * elf64-s390.c: Likewise.
5700 * elf64-sh64.c: Likewise.
5701 * elf64-sparc.c: Likewise.
5702 * elf64-x86-64.c: Likewise.
5703 * elfxx-ia64.c: Likewise.
5704 * elfxx-mips.c: Likewise.
5705 * elflink.c: Likewise. Also u.elf_hash_value.
5706 (elf_gc_propagate_vtable_entries_used): Update for h->vtable
5707 indirection.
5708 (elf_gc_smash_unused_vtentry_relocs): Likewise.
5709 (bfd_elf_gc_record_vtinherit): Alloc vtable.
5710 (bfd_elf_gc_record_vtentry): Likewise.
5711 * elf.c (_bfd_elf_link_hash_newfunc): Use memset.
5712
90c0a373
AM
57132004-09-17 Alan Modra <[email protected]>
5714
5715 * Makefile.am: Run "make dep-am".
5716 * Makefile.in: Regenerate.
5717 * bfd-in2.h: Regenerate.
5718 * po/SRC-POTFILES.in: Regenerate.
5719 * po/bfd.pot: Regenerate.
5720
f5385ebf
AM
57212004-09-16 Alan Modra <[email protected]>
5722
5723 * elf-bfd.h (struct elf_link_hash_entry): Replace elf_link_hash_flags
5724 with bitfields. Make "type" and "other" bitfields too.
5725 (ELF_LINK_HASH_REF_REGULAR, ELF_LINK_HASH_DEF_REGULAR,
5726 ELF_LINK_HASH_REF_DYNAMIC, ELF_LINK_HASH_DEF_DYNAMIC,
5727 ELF_LINK_HASH_REF_REGULAR_NONWEAK, ELF_LINK_HASH_DYNAMIC_ADJUSTED,
5728 ELF_LINK_HASH_NEEDS_COPY, ELF_LINK_HASH_NEEDS_PLT, ELF_LINK_NON_ELF,
5729 ELF_LINK_HIDDEN, ELF_LINK_FORCED_LOCAL, ELF_LINK_HASH_MARK,
5730 ELF_LINK_NON_GOT_REF, ELF_LINK_DYNAMIC_DEF, ELF_LINK_DYNAMIC_WEAK,
5731 ELF_LINK_POINTER_EQUALITY_NEEDED): Delete.
5732 (ELF_COMMON_DEF_P, WILL_CALL_FINISH_DYNAMIC_SYMBOL): Update.
5733 * elf-hppa.h: Update all uses of elf_link_hash_flags.
5734 * elf-m10300.c: Likewise.
5735 * elf.c: Likewise.
5736 * elf32-arm.h: Likewise.
5737 * elf32-cris.c: Likewise.
5738 * elf32-frv.c: Likewise.
5739 * elf32-hppa.c: Likewise.
5740 * elf32-i370.c: Likewise.
5741 * elf32-i386.c: Likewise.
5742 * elf32-m32r.c: Likewise.
5743 * elf32-m68k.c: Likewise.
5744 * elf32-ppc.c: Likewise.
5745 * elf32-s390.c: Likewise.
5746 * elf32-sh-symbian.c: Likewise.
5747 * elf32-sh.c: Likewise.
5748 * elf32-sh64.c: Likewise.
5749 * elf32-sparc.c: Likewise.
5750 * elf32-vax.c: Likewise.
5751 * elf32-xtensa.c: Likewise.
5752 * elf64-alpha.c: Likewise.
5753 * elf64-hppa.c: Likewise.
5754 * elf64-ppc.c: Likewise.
5755 * elf64-s390.c: Likewise.
5756 * elf64-sh64.c: Likewise.
5757 * elf64-sparc.c: Likewise.
5758 * elf64-x86-64.c: Likewise.
5759 * elflink.c: Likewise.
5760 * elfxx-ia64.c: Likewise.
5761 * elfxx-mips.c: Likewise.
5762 * configure.in (AM_INIT_AUTOMAKE): Set version to 2.15.92.
5763 * configure: Regenerate.
5764 * aclocal.m4: Regenerate.
5765
b6ee372a
AM
57662004-09-16 Alan Modra <[email protected]>
5767
5768 * elf32-arm.h (elf32_arm_gc_sweep_hook): Add #ifndef OLD_ARM_ABI
5769 around uses of R_ARM_TARGET1.
5770 (elf32_arm_check_relocs): Likewise.
5771
9c504268
PB
57722004-09-13 Paul Brook <[email protected]>
5773
5774 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
5775 prototype.
5776 * bfd-in2.h: Regenerate.
5777 * libbfd.h: Regenerate.
5778 * elf32-arm.h (elf32_arm_link_hash_table): Add target1_is_rel.
5779 (elf32_arm_link_hash_table_create): Set target1_is_rel.
5780 (bfd_elf32_arm_process_before_allocation): Ditto.
5781 (elf32_arm_final_link_relocate): Handle R_ARM_TARGET1.
5782 (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto.
5783 * elfarm-nabi.c (elf32_arm_howto_table): Rename RELABS to TARGET1.
5784 * reloc.c: Ditto.
5785
94ea025a
JB
57862004-09-10 Joel Brobecker <[email protected]>
5787
5788 * hpux-core.c (thread_section_p): New function.
5789 (hpux_core_core_file_p): Fix computation of offset in call
5790 to bfd_seek. Create a ".reg" section from an arbitrary
5791 ".reg/<id>" section if none was created after having read
5792 all sections.
5793
24443139
AS
57942004-09-11 Andreas Schwab <[email protected]>
5795
5796 * acinclude.m4: Fix spelling of ACX_NONCANONICAL_*.
5797 * aclocal.m4: Rebuild.
5798 * configure: Rebuild.
5799
f4eae89c
JB
58002004-09-10 Joel Brobecker <[email protected]>
5801
5802 * section.c (bfd_sections_find_if): Fix parameter name in
5803 comment to match code.
5804
e0638f70
AM
58052004-09-10 Alan Modra <[email protected]>
5806
5807 * elf.c (assign_file_positions_except_relocs): Assign relocs
5808 stored in a bfd section.
5809
5e0f5ae3
HPN
58102004-09-08 Hans-Peter Nilsson <[email protected]>
5811
5812 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Reset
5813 h->gotplt_refcount to 0, not -1.
5814
ada1953e
HPN
58152004-09-07 Hans-Peter Nilsson <[email protected]>
5816
5817 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
5818 case R_CRIS_32_GOTPLT>: For internal error message, handle NULL
5819 symname.
5820 (cris_elf_check_relocs) <case R_CRIS_32_PLT_PCREL>: Don't try to
5821 handle symbol visibility here.
5822
ee75fd95
AM
58232004-09-07 Alan Modra <[email protected]>
5824
5825 * elf64-ppc.c (struct ppc_link_hash_table): Add stub_globals.
5826 (is_ppc64_elf_target): Rename from is_ppc64_target. Update all
5827 callers.
5828 (ppc_stub_name): Remove trailing "+0" on stub name.
5829 (create_linkage_sections): Create relocations for
5830 branch lookup table when --emit-relocs as well as when --shared.
5831 (ppc_build_one_stub): Emit relocs for long branch stubs. Adjust
5832 relbrlt test. For --emit-stub-syms, always output a sym even when
5833 one already exists on a plt call stub. Put stub type in the stub
5834 symbol name.
5835 (ppc_size_one_stub): Size long branch stub relocs. Adjust relbrlt
5836 test.
5837 (ppc64_elf_size_stubs): Count global sym stubs added. Zero
5838 reloc_count in stub sections. Adjust relbrlt test.
5839 (ppc64_elf_build_stubs): Adjust relbrlt test. Tweak stats output.
5840 * elflink.c (bfd_elf_size_dynamic_sections): Fix comment typo.
5841 (elf_link_input_bfd): Ignore symbol index zero relocs when checking
5842 for relocs against discarded symbols. Fix comments.
5843
229fcec5
MM
58442004-09-06 Mark Mitchell <[email protected]>
5845
5846 * elf-bfd.h (_bfd_elf_make_dynamic_segment): Declare it.
5847 * elf.c (_bfd_elf_make_dynamic_segment): New function, split out
5848 from ...
5849 (map_sections_to_segments): ... here. Use it. Assign a file
5850 position to the .dynamic section if it is not loadable, but part
5851 of the PT_DYNAMIC segment.
5852 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
5853 offsets, not VMAs, for the BPABI. Do not fill in the header in
5854 the .got.plt section for the BPABI.
5855 * elfarm-nabi.c (elf32_arm_symbian_modify_segment_map): Add a
5856 PT_DYNAMIC segment.
5857 (elf_backend_want_got_plt): Define to zero for Symbian OS.
073a2dc3 5858
9a0789ec
NC
58592004-09-06 Nick Clifton <[email protected]>
5860
5861 * elflink.c (elf_link_add_object_symbols): Set the error code to
5862 bfd_error_wrong_format when the input format does not match the
5863 output format.
5864
7b53ace3
AM
58652004-09-06 Alan Modra <[email protected]>
5866
5867 * elf64-ppc.c (is_ppc64_target): New function, extracted from..
5868 (ppc64_elf_check_directives): ..here.
5869 (ppc64_elf_size_dynamic_sections): Use it here to check bfd type
5870 before accessing ppc64_elf_tdata.
5871 (ppc64_elf_finish_dynamic_sections): And here too.
5872
3e540f25
AM
58732004-09-04 Alan Modra <[email protected]>
5874
5875 * bfd.c (_bfd_default_error_handler): Correct loop exit.
5876
e5a52504
MM
58772004-09-03 Mark Mitchell <[email protected]>
5878
5879 * config.bfd (arm*-*-symbianelf*): Use OS-specific target vectors.
5880 * configure.in (bfd_elf32_bigarm_symbian_vec): Add it.
5881 (bfd_elf32_littlearm_symbian_vec): Likewise.
5882 * configure: Regenerated.
5883 * elf-bfd.h (elf_backend_data): Add dynamic_sec_flags.
5884 * elf32-arm.h (PLT_HEADER_SIZE): Do not define.
5885 (PLT_ENTRY_SIZE): Likewise.
5886 (bfd_vma_elf32_arm_symbian_plt_entry): New
5887 variable.
5888 (elf32_arm_link_hash_table): Add plt_header_size, plt_entry_size,
5889 and symbian_p.
5890 (create_got_section): Don't create sections when generating BPABI
5891 objects.
5892 (elf32_arm_create_dynamic_sections): Tidy.
5893 (elf32_arm_link_hash_table_create): Set plt_header_size,
5894 plt_entry_size, and symbian_p.
5895 (elf32_arm_check_relocs): Do not mark .rel.dyn as loadable when
5896 generating BPABI objects.
5897 (allocate_dynrelocs): Use htab->plt_header_size, not
5898 PLT_HEADER_SIZE. Do not add to .got.plt when
5899 generating BPABI objects.
5900 (elf32_arm_finish_dynamic_symbol): Generate Symbian OS PLTs.
5901 * elfarm-nabi.c: Add SymbianOS target vectors.
5902 * elflink.c (_bfd_elf_create_got_section): Use dynamic_sec_flags.
5903 (_bfd_elf_link_create_dynamic_sections): Likewise.
5904 * elfxx-target.h (ELF_DYNAMIC_SEC_FLAGS): New macro.
5905 (elfNN_bed): Use it.
5906 * targets.c (bfd_elf32_bigarm_symbian_vec): New variable.
5907 (bfd_elf32_littlearm_symbian_vec): Likewise.
5908 (_bfd_target_vector): Add them.
5909
6e3b6835
NC
59102004-09-03 Nick Clifton <[email protected]>
5911
5912 PR 360
5913 * coffcode.h (handle_COMDAT): Replace abort with an warning
5914 message and allow the scan to continue.
5915
595da8c5
AM
59162004-09-02 Alan Modra <[email protected]>
5917
5918 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Use static_syms passed
5919 in when reading relocs, not our sorted syms. Remove unnecessary
5920 var.
5921
6723a9f4
EB
59222004-08-31 Eric Botcazou <[email protected]>
5923
5924 * elf.c (special_sections): Add .gnu.linkonce.b modelled on .bss.
5925
5464f5a1
NN
59262004-08-30 Nathanael Nerode <[email protected]>
5927
5928 * acinclude.m4: Require AC_CANONICAL_TARGET, not AC_CANONICAL_SYSTEM.
5929 Include ../config/acx.m4 and use ACX_NONCANONICAL_* where appropriate;
5930 replace uses of *_alias with *_noncanonical.
5931 * aclocal.m4: Rebuild with aclocal 1.4p6.
5932 * Makefile.in: Rebuild with automake 1.4p6.
5933 * doc/Makefile.in: Rebuild with automake 1.4p6.
5934 * configure.in: Autoupdate with autoupdate 2.59.
5935 * config.in: Regenerate with autoheader 2.59.
5936 * configure: Regnerate with autoconf 2.59.
5937
a7535cf3
AM
59382004-08-28 Alan Modra <[email protected]>
5939
5940 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Copy input
5941 symbol pointer arrays before modifying.
5942
c9727e01
AM
59432004-08-28 Alan Modra <[email protected]>
5944
b91e2ae2 5945 * bfd.c (bfd_get_synthetic_symtab): Pass counts and both symbol tables.
c9727e01
AM
5946 * elf-bfd.h (_bfd_elf_get_synthetic_symtab): Adjust.
5947 * elf.c (_bfd_elf_get_synthetic_symtab): Adjust.
5948 * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Adjust.
b91e2ae2
AM
5949 * targets.c (struct bfd_target <_bfd_get_synthetic_symtab>): Adjust.
5950 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't read symbols.
5951 Use both symbol tables on non-relocatable objects. Use a common
5952 error exit. Fix "mid" warning.
c9727e01
AM
5953 * libbfd.h: Regenerate.
5954 * bfd-in2.h: Regenerate.
5955
699733f6
AM
59562004-08-28 Alan Modra <[email protected]>
5957
5958 * elf64-ppc.c (ppc64_elf_branch_reloc): Check .opd is in a regular
5959 object file.
5960 (struct sfpr_def_parms): Save some space.
5961 (sfpr_define): Here too.
5962
5963 * elf64-ppc.c (compare_symbols): Put section syms first.
5964 (sym_exists_at): New function.
5965 (ppc64_elf_get_synthetic_symtab): Use relocs to find code entry
5966 points only for relocatable files. Use .opd section contents
5967 otherwise. Generally clean up the code.
5968
deb0e272
AM
59692004-08-27 Alan Modra <[email protected]>
5970
5971 * elf64-ppc.c (STD_R0_0R1, STD_R0_0R12, LD_R0_0R1, LD_R0_0R12,
5972 LI_R12_0, STVX_VR0_R12_R0, LVX_VR0_R12_R0, MTLR_R0, SFPR_MAX): Define.
5973 (struct sfpr_def_parms): New.
5974 (sfpr_define): New function.
5975 (savegpr0, savegpr0_tail, restgpr0, restgpr0_tail): New functions.
5976 (savegpr1, savegpr1_tail, restgpr1, restgpr1_tail): New functions.
5977 (savefpr, savefpr0_tail, restfpr, restfpr0_tail): New functions.
5978 (savefpr1_tail, restfpr1_tail): New functions.
5979 (savevr, savevr_tail, restvr, restvr_tail): New functions.
5980 (MIN_SAVE_FPR, MAX_SAVE_FPR): Don't define.
5981 (ppc64_elf_func_desc_adjust): Use sfpr_define in place of existing
5982 code. Define all ABI mandated _save and _rest functions.
5983
85a84e7a
PB
59842004-08-26 Paul Brook <[email protected]>
5985
deb0e272 5986 * elf32-arm.h (INTERWORK_FLAG): Return true for EABIv3 objects.
85a84e7a 5987
688c58f3
AM
59882004-08-26 Alan Modra <[email protected]>
5989
5990 * elf32-m32r.c (m32r_elf_relocate_section): Don't compare with
5991 TRUE or FALSE.
5992
3e95eabc
AM
59932004-08-26 Alan Modra <[email protected]>
5994
5995 * elf32-i386.c (elf_i386_relocate_section): Tweak last change so
5996 that pcrel correction is applied for R_386_PC32.
5997
f855931b
AM
59982004-08-25 Alan Modra <[email protected]>
5999
6000 * elf32-i386.c (elf_i386_relocate_section): Zero section contents
6001 for R_386_32 and R_386_PC32 relocs against symbols defined in
6002 discarded sections.
6003
b18c562e
NC
60042004-08-25 Dmitry Diky <[email protected]>
6005
6006 * reloc.c (BFD_RELOC_MSP430_2X_PCREL,BFD_RELOC_MSP430_RL_PCREL):
6007 Add new relocations.
6008 * bfd-in2.h: Regenerate.
f855931b 6009 * libbfd.h: Regenerate.
b18c562e
NC
6010 * elf32-msp430.c: Clean-up code.
6011 (elf_msp430_howto_table): Add new relocation entries.
6012 (bfd_elf32_bfd_reloc_type_lookup): New relocation handlers.
6013 (msp430_elf_relax_section): New function.
6014 (msp430_elf_relax_delete_bytes): New function.
6015 (msp430_elf_symbol_address_p): New function.
6016
af705ba8
NC
60172004-08-24 Kazuhiro Inaoka <[email protected]>
6018
6019 * elf32-m32r.c (m32r_elf_relocate_section): Handle
6020 R_M32R_SDA16_RELA in the same way as R_M32R_SDA16.
6021
ea5158d8
DJ
60222004-08-20 Daniel Jacobowitz <[email protected]>
6023
6024 * elflink.c (_bfd_elf_section_already_linked): Handle
6025 SEC_LINK_DUPLICATES_SAME_CONTENTS.
6026
49d934f1
MM
60272004-08-19 Mark Mitchell <[email protected]>
6028
6029 * config.bfd (arm*-*-symbianelf*): New target.
6030 (arm*-*-eabi*): Likewise.
6031
039b3fef
AM
60322004-08-19 Alan Modra <[email protected]>
6033
6034 * elf64-ppc.c (ppc_get_stub_entry): Change third param to a
6035 "struct ppc_link_hash_entry *".
6036 (ppc64_elf_relocate_section): Ditto for type of h. Introduce h_elf
6037 to satisfy RELOC_FOR_GLOBAL_SYMBOL.
6038
3f764659
JJ
60392004-08-19 Jakub Jelinek <[email protected]>
6040
6041 * elf64-ppc.c (ppc64_elf_edit_opd): Support 16 byte long .opd
6042 entries (where fd_aux overlaps next entry's fd_func).
6043 Add non_overlapping argument, use it.
6044 (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, adjust_opd_syms,
6045 ppc64_elf_size_stubs, ppc64_elf_relocate_section,
6046 ppc64_elf_output_symbol_hook): Use address / 8 instead of address / 24
6047 as indexes into opd_sym_map/opd_adjust array.
6048 * elf64-ppc.h (ppc64_elf_edit_opd): Adjust prototype.
6049
c09bdfe5
AM
60502004-08-18 Alan Modra <[email protected]>
6051
6052 * elf64-ppc.c (func_desc_adjust): Give undefined dot-symbols a value
6053 if we can look up their function descriptor in a regular file.
6054
271d0fc3
NC
60552004-08-18 Nick Clifton <[email protected]>
6056
6057 PR 324
6058 * cofflink.c (coff_link_add_symbols): Check that the comdat
6059 pointer in the coff_section_data structure has been initialised
6060 before using it.
6061
a010d60f
AM
60622004-08-18 Alan Modra <[email protected]>
6063
6064 PR 338
6065 * elflink.c (bfd_elf_record_link_assignment): Add comment about
6066 changing bfd_link_hash_undefined to bfd_link_hash_new.
6067
90e3cdf2
JJ
60682004-08-17 Jakub Jelinek <[email protected]>
6069
6070 * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Only define
6071 if not yet defined.
6072 * elf64-ppc.c (bfd_elf64_get_synthetic_symtab): Define.
6073 (synthetic_opd, synthetic_relocatable): New variables.
6074 (compare_symbols, compare_relocs): New helper routines.
6075 (ppc64_elf_get_synthetic_symtab): New function.
6076 * bfd.c (bfd_get_synthetic_symtab): Rename dynsyms argument
6077 to relsyms.
6078 * bfd-in2.h: Regenerated.
6079 * elf.c (_bfd_elf_get_synthetic_symtab): Rename dynsyms argument
6080 to relsyms. Return 0 if abfd is relocatable.
6081
7c2c8505
AM
60822004-08-17 Alan Modra <[email protected]>
6083
6084 * elflink.h (elf_gc_sweep): Keep non-alloc, non-load sections.
6085
0367ecfb
NC
60862004-08-17 Nick Clifton <[email protected]>
6087
6088 * (is_arm_mapping_symbol_name): New function - return true
6089 when a symbol name matches the requirements for an ARM mapping
6090 symbol name.
6091 (arm_elf_find_function): New function based on
6092 elf_find_function in elf.c but skipping ARM mapping symbols
6093 and including thumb function symbols.
6094 (elf32_arm_find_nearest_line): Use arm_elf_find_function.
6095 (elf32_arm_output_symbol_hook): Use is_arm_mapping_symbol_name.
6096
2441e016
AM
60972004-08-17 Alan Modra <[email protected]>
6098
6099 * elf64-ppc.c (ppc64_elf_branch_reloc): New function.
6100 (ppc64_elf_howto_raw): Use ppc64_elf_branch_reloc.
6101 (ppc64_elf_brtaken_reloc): Here too.
6102
35b0ce59
AM
61032004-08-17 Alan Modra <[email protected]>
6104
6105 * elf64-ppc.c (add_symbol_adjust): Correct mismatched function
6106 symbol visibility.
6107 (ppc64_elf_check_directives): Check that we have the right hash
6108 table before proceeding.
6109
81688140
AM
61102004-08-17 Alan Modra <[email protected]>
6111
6112 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add "deleted_section".
6113 (adjust_opd_syms): Attach opd syms for deleted entries to one of
6114 the sections that will be discarded.
6115
327c1315
AM
61162004-08-16 Alan Modra <[email protected]>
6117
6118 * elflink.c (elf_section_complain_discarded): Ignore .fixup.
6119
45fc9e4a
AM
61202004-08-16 Alan Modra <[email protected]>
6121
6122 * bfd.c (_bfd_default_error_handler): Account for doubled '%' in
6123 free space available.
6124
9dadfa79
AM
61252004-08-16 Alan Modra <[email protected]>
6126
6127 * pdp11.c (struct pdp11_aout_reloc_external): Delete. Replace
f89c4dec 6128 occurrences with bfd_byte * thoughout file.
9dadfa79
AM
6129
6130 * coff-rs6000.c (do_shared_object_padding): Warning fix.
6131 (xcoff_write_armap_big): Likewise.
6132 (xcoff_write_archive_contents_old): Likewise.
6133 (xcoff_write_archive_contents_big): Likewise.
6134
6135 * elf64-mmix.c (mmix_elf_get_section_contents): Delete declaration.
6136
57e8b36a
NC
61372004-08-13 Nick Clifton <[email protected]>
6138
6139 * elf32-arm.h: Convert to ISO C90.
6140
a005f94e
AM
61412004-08-13 Alan Modra <[email protected]>
6142
6143 PR 293
6144 * elf32-hppa.c (elf32_hppa_hide_symbol): Use init_refcount to
6145 zero the plt field.
6146
d003868e
AM
61472004-08-13 Alan Modra <[email protected]>
6148
6149 * bfd.c (_bfd_default_error_handler): Handle %A and %B.
6150 (bfd_archive_filename, bfd_get_section_ident): Delete.
6151 * ecofflink.c (bfd_ecoff_debug_accumulate_other): Don't call
6152 bfd_archive_filename.
6153 * elflink.c (elf_link_input_bfd): Don't use callbacks->error_handler
6154 to warn about symbols in discarded sections. Use _bfd_error_handler.
6155 * aout-adobe.c (aout_adobe_callback): See below.
6156 * aout-cris.c (swap_ext_reloc_in): ..
6157 * coff-arm.c (find_thumb_glue, find_arm_glue,
6158 coff_arm_relocate_section, bfd_arm_process_before_allocation,
6159 coff_arm_merge_private_bfd_data, _bfd_coff_arm_set_private_flags,
6160 coff_arm_copy_private_bfd_data): ..
6161 * coff-i860.c (i860_reloc_processing): ..
6162 * coff-mcore.c (mcore_coff_unsupported_reloc,
6163 coff_mcore_relocate_section): ..
6164 * coff-ppc.c (coff_ppc_relocate_section): ..
6165 * coff-rs6000.c (xcoff_create_csect_from_smclas
6166 * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
6167 sh_swap_insns, sh_relocate_section): ..
6168 * coff-tic54x.c (tic54x_reloc_processing): ..
6169 * coff-tic80.c (coff_tic80_relocate_section): ..
6170 * coff64-rs6000.c (xcoff64_create_csect_from_smclas): ..
6171 * coffcode.h (styp_to_sec_flags, coff_slurp_line_table,
6172 coff_slurp_symbol_table, coff_classify_symbol,
6173 coff_slurp_reloc_table): ..
6174 * coffgen.c (_bfd_coff_read_string_table): ..
6175 * cofflink.c (coff_link_add_symbols, _bfd_coff_link_input_bfd,
6176 _bfd_coff_generic_relocate_section): ..
6177 * cpu-arm.c (bfd_arm_merge_machines): ..
6178 * cpu-sh.c (sh_merge_bfd_arch): ..
6179 * elf-hppa.h (elf_hppa_relocate_section): ..
6180 * elf.c (bfd_elf_string_from_elf_section, setup_group,
6181 _bfd_elf_setup_group_pointers, bfd_section_from_shdr,
6182 assign_section_numbers, _bfd_elf_symbol_from_bfd_symbol,
6183 copy_private_bfd_data, _bfd_elf_validate_reloc): ..
6184 * elf32-arm.h (find_thumb_glue, find_arm_glue,
6185 bfd_elf32_arm_process_before_allocation, elf32_thumb_to_arm_stub,
6186 elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate,
6187 elf32_arm_relocate_section, elf32_arm_set_private_flags,
6188 elf32_arm_copy_private_bfd_data, elf32_arm_merge_private_bfd_data): ..
6189 * elf32-cris.c (cris_elf_relocate_section, cris_elf_check_relocs,
6190 cris_elf_merge_private_bfd_data
6191 * elf32-frv.c (elf32_frv_relocate_section, elf32_frv_check_relocs): ..
6192 * elf32-gen.c (elf32_generic_link_add_symbols): ..
6193 * elf32-hppa.c (hppa_add_stub, hppa_build_one_stub,
6194 elf32_hppa_check_relocs, get_local_syms, final_link_relocate,
6195 elf32_hppa_relocate_section): ..
6196 * elf32-i370.c (i370_elf_merge_private_bfd_data,
6197 i370_elf_check_relocs, i370_elf_relocate_section): ..
6198 * elf32-i386.c (elf_i386_info_to_howto_rel, elf_i386_check_relocs,
6199 elf_i386_relocate_section): ..
6200 * elf32-m32r.c (m32r_elf_relocate_section,
6201 m32r_elf_merge_private_bfd_data): ..
6202 * elf32-m68hc1x.c (m68hc12_add_stub,
6203 _bfd_m68hc11_elf_merge_private_bfd_data): ..
6204 * elf32-m68k.c (elf_m68k_relocate_section): ..
6205 * elf32-mcore.c (mcore_elf_unsupported_reloc,
6206 mcore_elf_relocate_section): ..
6207 * elf32-ppc.c (ppc_elf_merge_private_bfd_data, bad_shared_reloc,
6208 ppc_elf_check_relocs, ppc_elf_relocate_section,
6209 ppc_elf_begin_write_processing): ..
6210 * elf32-s390.c (elf_s390_check_relocs, invalid_tls_insn,
6211 elf_s390_relocate_section): ..
6212 * elf32-sh-symbian.c (sh_symbian_import_as,
6213 sh_symbian_process_embedded_commands,
6214 sh_symbian_relocate_section): ..
6215 * elf32-sh.c (sh_elf_relax_section, sh_elf_relax_delete_bytes,
6216 sh_elf_swap_insns, sh_elf_relocate_section, sh_elf_check_relocs,
6217 sh_elf_merge_private_data): ..
6218 * elf32-sparc.c (elf32_sparc_check_relocs,
6219 elf32_sparc_relocate_section,
6220 elf32_sparc_merge_private_bfd_data): ..
6221 * elf32-v850.c (v850_elf_check_relocs,
6222 v850_elf_merge_private_bfd_data): ..
6223 * elf32-xtensa.c (elf_xtensa_check_relocs,
6224 elf_xtensa_relocate_section, elf_xtensa_merge_private_bfd_data): ..
6225 * elf64-alpha.c (elf64_alpha_relax_with_lituse,
6226 elf64_alpha_relax_got_load, elf64_alpha_size_got_sections,
6227 elf64_alpha_relocate_section_r, elf64_alpha_relocate_section): ..
6228 * elf64-gen.c (elf64_generic_link_add_symbols): ..
6229 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data, ppc_add_stub,
6230 ppc64_elf_check_relocs, ppc64_elf_edit_opd,
6231 ppc64_elf_relocate_section): ..
6232 * elf64-s390.c (elf_s390_check_relocs, invalid_tls_insn,
6233 elf_s390_relocate_section): ..
6234 * elf64-sh64.c (sh_elf64_relocate_section): ..
6235 * elf64-sparc.c (sparc64_elf_check_relocs,
6236 sparc64_elf_add_symbol_hook, sparc64_elf_relocate_section,
6237 sparc64_elf_merge_private_bfd_data): ..
6238 * elf64-x86-64.c (elf64_x86_64_check_relocs,
6239 elf64_x86_64_relocate_section): ..
6240 * elflink.c (_bfd_elf_add_default_symbol,
6241 _bfd_elf_link_assign_sym_version, elf_link_read_relocs_from_section,
6242 _bfd_elf_link_output_relocs, elf_link_add_object_symbols,
6243 bfd_elf_size_dynamic_sections, elf_link_output_extsym,
6244 elf_get_linked_section_vma, elf_fixup_link_order,
6245 bfd_elf_final_link, bfd_elf_gc_record_vtinherit,
6246 bfd_elf_gc_record_vtinherit, _bfd_elf_section_already_linked): ..
6247 * elfxx-ia64.c (elfNN_ia64_relax_section,
6248 elfNN_ia64_relocate_section, elfNN_ia64_merge_private_bfd_data): ..
6249 * elfxx-mips.c (mips_elf_perform_relocation,
6250 _bfd_mips_elf_check_relocs,
6251 _bfd_mips_elf_merge_private_bfd_data): ..
6252 * ieee.c (ieee_slurp_external_symbols): ..
6253 * ihex.c (ihex_bad_byte, ihex_scan, ihex_read_section): ..
6254 * libbfd.c (_bfd_generic_verify_endian_match): ..
6255 * linker.c (_bfd_generic_link_add_one_symbol,
6256 _bfd_generic_section_already_linked): ..
6257 * pdp11.c (translate_to_native_sym_flags): ..
6258 * pe-mips.c (coff_pe_mips_relocate_section): ..
6259 * peicode.h (pe_ILF_build_a_bfd): ..
6260 * srec.c (srec_bad_byte): ..
6261 * stabs.c (_bfd_link_section_stabs): ..
6262 * xcofflink.c (xcoff_link_add_symbols, xcoff_link_input_bfd): ..
6263 Replace all uses of bfd_archive_filename and bfd_get_section_ident
6264 with corresponding %B and %A in _bfd_error_handler format string.
6265 Replace occurrences of "fprintf (stderr," with _bfd_error_handler
6266 calls to use %A and %B. Fix "against symbol .. from section" and
6267 similar error messages. Combine multiple _bfd_error_handler calls
6268 where they were separated due to bfd_archive_filename deficiencies.
6269 * bfd-in2.h: Regenerate.
6270
6ba842b6
L
62712004-08-12 H.J. Lu <[email protected]>
6272
6273 * elf32-i386.c (elf_i386_relocate_section): Report unrecognized
6274 relocation.
6275
99877b66
AM
62762004-08-10 Alan Modra <[email protected]>
6277
6278 * elf64-ppc.c (struct ppc_link_hash_entry): Add was_undefined.
6279 (struct ppc_link_hash_table): Remove no_multi_toc, multi_toc_needed.
6280 Make emit_stub_syms, stub_error and has_14bit_branch bit-fields.
6281 Add twiddled_syms.
6282 (link_hash_newfunc): Init was_undefined.
6283 (add_symbol_adjust): Don't set undefined dot symbols to defweak;
6284 Use undefweak instead.
6285 (ppc64_elf_check_directives): Fix undefs chain.
6286 (ppc64_elf_next_toc_section): Remove no_multi_toc and multi_toc_needed
6287 references.
6288 (ppc64_elf_size_stubs): Adjust for add_symbol_adjust change.
6289 (undo_symbol_twiddle, ppc64_elf_restore_symbols): New functions.
6290 * elf64-ppc.h (ppc64_elf_restore_symbols): Declare.
6291
ba3bee0b
JJ
62922004-08-09 Jakub Jelinek <[email protected]>
6293
6294 * elf64-x86-64.c (elf64_x86_64_relocate_section): For -fno-pic
6295 error, test input_section flags rather than sec.
6296
8387904d
AM
62972004-08-09 Alan Modra <[email protected]>
6298
6299 * elf-bfd.h (struct elf_backend_data): Add
6300 elf_backend_archive_symbol_lookup.
6301 (_bfd_elf_archive_symbol_lookup): Declare.
6302 * elflink.c (_bfd_elf_archive_symbol_lookup): New function..
6303 (elf_link_add_archive_symbols): ..extracted from here. Call the
6304 backend version.
6305 * elfxx-target.h (elf_backend_archive_symbol_lookup): Provide default.
6306 (elfNN_bed): Init new field.
6307 * elf64-ppc.c (elf_backend_check_directives): Define.
6308 (elf_backend_archive_symbol_lookup): Define.
6309 (struct ppc_link_hash_table): Add tls_get_add_fd. Make tls_get_add
6310 a ppc_link_hash_entry pointer.
6311 (get_fdh): Move.
6312 (ppc64_elf_archive_symbol_lookup, opd_entry_value): New functions.
6313 (add_symbol_adjust, ppc64_elf_check_directives): New functions.
6314 (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, func_desc_adjust,
6315 ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup,
6316 ppc64_elf_tls_optimize, allocate_dynrelocs, ppc_type_of_stub,
6317 ppc_build_one_stub, ppc64_elf_size_stubs, ppc64_elf_relocate_section,
6318 ppc64_elf_finish_dynamic_symbol): Handle branch relocs to function
6319 descriptor symbols.
6320
b25116a9
AM
63212004-08-09 Alan Modra <[email protected]>
6322
8843416a
AM
6323 * elf64-ppc.c (struct ppc_link_hash_entry): Expand adjust_done comment.
6324 (ppc64_elf_add_symbol_hook): Test for NULL section.
6325 (get_sym_h): Formatting.
6326 (ppc64_elf_size_stubs): Include reloc addend in value stored as
6327 stub target_value.
6328
b25116a9
AM
6329 * elf64-ppc.c (ppc64_elf_relocate_section): Combine handling of
6330 long branch stubs with code handling plt and r2off branch stubs.
6331
ccfa59ea
AM
63322004-08-09 Alan Modra <[email protected]>
6333
6334 * elf-bfd.h (_bfd_elf_gc_mark): Declare.
6335 * elflink.c (elf_link_input_bfd): Formatting.
6336 (_bfd_elf_gc_mark): Rename from elf_gc_mark and make global. Adjust
6337 all callers.
6338 * elf64-ppc.c (struct ppc_link_hash_entry): Remove is_entry.
6339 (link_hash_newfunc): Don't set it.
6340 (ppc64_elf_copy_indirect_symbol): Nor copy it.
6341 (ppc64_elf_mark_entry_syms): Delete.
6342 (ppc64_elf_gc_mark_hook): Mark entry syms here. Also mark opd
6343 sections. Use get_opd_info.
6344 * elf64-ppc.h (ppc64_elf_mark_entry_syms): Delete.
6345
4025353c
AM
63462004-08-09 Alan Modra <[email protected]>
6347
4f800a42
AM
6348 * elf64-ppc.c (adjust_opd_syms): Fix merge error.
6349
06da1e8e
AM
6350 * elf64-ppc.c (struct ppc_link_hash_table): Remove have_undefweak.
6351 (func_desc_adjust): Don't set have_undefweak.
6352 (ppc64_elf_func_desc_adjust): Don't add an extr nop to sfpr.
6353 (ppc64_elf_relocate_section): NOP out calls to undefweak functions.
6354
34814b9f
AM
6355 * elf64-ppc.c (struct ppc_link_hash_entry): Make "oh" a
6356 "struct ppc_link_hash_entry *". Adjust all references.
6357 (ppc64_elf_hide_symbol): Correct a comment.
6358
4025353c
AM
6359 * elf64-ppc.c (get_opd_info): New function.
6360 (adjust_opd_syms): Use get_opd_info. Define removed symbols as zero.
6361 (ppc64_elf_edit_opd): Use get_opd_info. Check that sym has a dot
6362 before calling get_fdh. Test fdh rather than h before dereferencing
6363 fdh. Mark removed symbols in opd_adjust.
6364 (ppc64_elf_tls_optimize): Don't bother with opd adjustment here.
6365 (ppc64_elf_relocate_section): Use get_opd_info, and handle removed
6366 opd symbols.
6367 (ppc64_elf_output_symbol_hook): Likewise.
6368
db6579d4
PB
63692004-08-06 Paul Brook <[email protected]>
6370
6371 * elfarm-nabi.c (elf32_arm_howto_table): Add new EABI relocations.
6372 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_RELABS32,
6373 BFD_RELOC_ARM_ROSEGREL32 and BFD_RELOC_ARM_SBREL32.
6374 * reloc.c: Add BFD_RELOC_ARM_RELABS32, BFD_RELOC_ARM_ROSEGREL32
6375 and BFD_RELOC_ARM_SBREL32.
6376 * bfd-in2.h, bbfd.h: Regenerate.
6377
a4d0f181
TS
63782004-08-01 Thiemo Seufer <[email protected]>
6379
6380 * elfxx-mips.c (mips_elf_calculate_relocation): Test only for
6381 the dynamic link symbol actually in use.
6382
83774818
SC
63832004-08-01 Stephane Carrez <[email protected]>
6384
6385 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Handle bfd_link_hash_new
6386
a4d0f181 63872004-07-31 Joel Brobecker <[email protected]>
00b4930b
TS
6388 Thiemo Seufer <[email protected]>
6389
6390 * elfxx-mips.c (_bfd_mips_elf_symbol_processing): Handle
6391 SHN_MIPS_TEXT and SHN_MIPS_DATA.
6392
185d09ad
L
63932004-07-30 H.J. Lu <[email protected]>
6394 Nick Clifton <[email protected]>
6395
6396 PR 290
6397 * bfd.c (_bfd_default_error_handler): Make it global.
6398
6399 * elf-bfd.h (elf_backend_data): Add link_order_error_handler.
6400
6401 * elf.c (assign_section_numbers): Cope gracefully with sections
6402 which have SHF_LINK_ORDER set but no sh_link set up.
6403 * elflink.c (elf_get_linked_section_vma): Likewise.
6404
6405 * elfxx-ia64.c (elf_backend_link_order_error_handler): New. Set
6406 it to NULL.
6407
6408 * elfxx-target.h (elf_backend_link_order_error_handler): New.
6409 Set it to _bfd_default_error_handler.
6410 (elfNN_bed): Add elf_backend_link_order_error_handler.
6411
6412 * libbfd-in.h (_bfd_default_error_handler): New.
6413
6414 * libbfd.h: Regenerated.
6415
7946e94a
JJ
64162004-07-30 Jakub Jelinek <[email protected]>
6417
6418 * archures.c (bfd_mach_sparc_64bit_p): Define.
6419 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Use it.
6420 * bfd-in2.h: Rebuilt.
6421
1d70c7fb
AO
64222004-07-29 Alexandre Oliva <[email protected]>
6423
6424 Introduce SH2a support.
6425 2004-02-18 Corinna Vinschen <[email protected]>
6426 * archures.c (bfd_mach_sh2a_nofpu): New.
6427 * bfd-in2.h: Rebuilt.
6428 * cpu-sh.c (SH2A_NOFPU_NEXT): New.
6429 (arch_info_struct): Add sh2a_nofpu.
6430 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a_nofpu.
6431 2003-12-29 DJ Delorie <[email protected]>
6432 * reloc.c: Add relocs for sh2a.
6433 * bfd-in2.h: Regenerate.
6434 * libbfd.hh: Regenerate.
6435 2003-12-01 Michael Snyder <[email protected]>
6436 * archures.c (bfd_mach_sh2a): New.
6437 * bfd-in2.h: Rebuilt.
6438 * cpu-sh.c (SH_NEXT, SH2_NEXT, etc.): Change defines to enums.
6439 (SH2A_NEXT): New.
6440 (arch_info_struct): Add sh2a.
6441 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a.
6442
404ed0cf
DA
64432004-07-28 Nick Clifton <[email protected]>
6444 John David Anglin <[email protected]>
6445
6446 PR 273
6447 * som.c (setup_sections): Improve estimation of space sizes in
6448 relocatable objects.
6449
225247f0
JT
64502004-07-27 Jason Thorpe <[email protected]>
6451 * config.bfd (hppa*-*-netbsd*): Set targ_defvec to
6452 bfd_elf32_hppa_nbsd_vec. Add bfd_elf32_hppa_linux_vec
6453 to targ_selvecs.
6454 * configure.in (bfd_elf32_hppa_nbsd_vec): Add case.
6455 * configure: Regenerate.
6456 * elf32-hppa.c (elf32_hppa_object_p): Add "elf32-hppa-netbsd"
6457 case that accepts OSABI=NetBSD and OSABI=SysV.
6458 (elf32_hppa_set_gp): For "elf32-hppa-netbsd", set the GP to
6459 the base of .got or .data (if .got does not exist).
6460 (elf32_hppa_post_process_headers): For elf32-hppa-netbsd,
6461 set OSABI=NetBSD.
6462 (TARGET_BIG_SYM): Add bfd_elf32_hppa_nbsd_vec case.
6463 (TARGET_BIG_NAME): Add "elf32-hppa-netbsd" case.
6464 * targets.c (bfd_elf32_hppa_nbsd_vec): Add extern declaration.
6465 (_bfd_target_vector): Add bfd_elf32_hppa_nbsd_vec.
6466
3d7f7666
L
64672004-07-27 H.J. Lu <[email protected]>
6468
6469 PR 161/251
6470 * elf-bfd.h (bfd_elf_section_data): Add sec_group.
6471 (elf_sec_group): Defined.
6472 (bfd_elf_match_symbols_in_sections): New prototype.
6473 (_bfd_elf_setup_group_pointers): Likewise.
6474
6475 * elf.c (bfd_elf_discard_group): Abort.
6476 (bfd_elf_set_group_contents): Also include relocation sections.
6477 Remove zero-fill for ld -r.
6478 (_bfd_elf_setup_group_pointers): New function.
6479 (elf_sort_elf_symbol): Likewise.
6480 (elf_sym_name_compare): Likewise.
6481 (bfd_elf_match_symbols_in_sections): Likewise.
6482
6483 * elfcode.h (elf_object_p): Call _bfd_elf_setup_group_pointers.
6484
6485 * elflink.c (match_group_member): New.
6486 (elf_link_input_bfd): Check group member for discarded section.
6487 (try_match_symbols_in_sections): New function.
6488 (already_linked): Likewise.
6489 (_bfd_elf_section_already_linked): Support mixing comdat group
6490 and linkonce section.
6491
6492 * libbfd-in.h (bfd_section_already_linked_table_traverse): New.
6493 * linker.c (bfd_section_already_linked_table_traverse): New.
6494
6495 * libbfd.h: Regenerated.
6496
670ec21d
NC
64972004-07-27 Tomer Levi <[email protected]>
6498
6499 * reloc.c: Add BFD_RELOC_CRX_SWITCH8, BFD_RELOC_CRX_SWITCH16,
6500 BFD_RELOC_CRX_SWITCH32.
6501 * bfd-in2.h: Regenerate.
6cd7f07e 6502 * libbfd.h: Regenerate.
670ec21d
NC
6503 * elf32-crx.c: Support relocation/relaxation of
6504 BFD_RELOC_CRX_SWITCH* types.
6505
2c66dc6c
AM
65062004-07-27 Alan Modra <[email protected]>
6507
6508 * elf64-ppc.c: Correct "Linker stubs" comment.
6509
38ce5b11
L
65102004-07-26 H.J. Lu <[email protected]>
6511
6512 * elf-bfd.h (bfd_elf_section_data): Add a pointer for the
6513 linked-to section.
6514 (elf_linked_to_section): New.
6515
6516 * elf.c (assign_section_numbers): Set up sh_link for
6517 SHF_LINK_ORDER.
6518
6519 * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set sh_info
6520 to sh_link for SHT_IA_64_UNWIND sections.
6521
65da361f
L
65222004-07-22 H.J. Lu <[email protected]>
6523
6524 * elflink.c (elf_fixup_link_order): Add _() to error message.
6525
08ccf96b
L
65262004-07-22 H.J. Lu <[email protected]>
6527
6528 * elflink.c (elf_fixup_link_order): Issue a warning and flag
6529 an error if failed.
6530
082b7297
L
65312004-07-21 H.J. Lu <[email protected]>
6532
6533 * aout-adobe.c (aout_32_section_already_linked): Defined.
6534 * aout-target.h (MY_section_already_linked): Likewise.
6535 * aout-tic30.c (MY_section_already_linked): Likewise.
6536 * binary.c (binary_section_already_linked): Likewise.
6537 * bout.c (b_out_section_already_linked): Likewise.
6538 * coff-alpha.c (_bfd_ecoff_section_already_linked): Likewise.
6539 * coff-mips.c (_bfd_ecoff_section_already_linked): Likewise.
6540 * coffcode.h (coff_section_already_linked): Likewise.
6541 * i386msdos.c (msdos_section_already_linked): Likewise.
6542 * i386os9k.c (os9k_section_already_linked): Likewise.
6543 * ieee.c (ieee_section_already_linked): Likewise.
6544 * ihex.c (ihex_section_already_linked): Likewise.
6545 * mach-o.c (bfd_mach_o_section_already_linked): Likewise.
6546 * mmo.c (mmo_section_already_linked): Likewise.
6547 * nlm-target.h (nlm_section_already_linked): Likewise.
6548 * oasys.c (oasys_section_already_linked): Likewise.
6549 * pef.c (bfd_pef_section_already_linked): Likewise.
6550 * ppcboot.c (ppcboot_section_already_linked): Likewise.
6551 * som.c (som_bfd_discard_group): Likewise.
6552 * srec.c (srec_section_already_linked): Likewise.
6553 * tekhex.c (tekhex_section_already_linked): Likewise.
6554 * versados.c (versados_section_already_linked): Likewise.
6555 * vms.c (vms_section_already_linked): Likewise.
6556 * coff-target.h (_bfd_xcoff_section_already_linked): Likewise.
6557 * xsym.c (bfd_sym_section_already_linked): Likewise.
6558
6559 * bfd-in.h (bfd_section_already_linked_table_init): New.
6560 (bfd_section_already_linked_table_free): Likewise.
6561
6562 * coff-rs6000.c (rs6000coff_vec): Add
6563 _bfd_generic_section_already_linked.
6564 (pmac_xcoff_vec): Likewise.
6565 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
6566 (aix5coff64_vec): Likewise.
6567
6568 * elf-bfd.h (_bfd_elf_section_already_linked): New prototype.
6569 * elflink.c (_bfd_elf_section_already_linked): New function.
6570
6571 * elfxx-target.h (bfd_elfNN_section_already_linked): Defined.
6572
6573 * libbfd-in.h (_bfd_nolink_section_already_linked): Defined.
6574 (_bfd_generic_section_already_linked): New.
6575 (bfd_section_already_linked_hash_entry): Likewise.
6576 (bfd_section_already_linked): Likewise.
6577 (bfd_section_already_linked_table_lookup): Likewise.
6578 (bfd_section_already_linked_table_insert): Likewise.
6579
6580 * linker.c (bfd_section_already_linked): New.
6581 (_bfd_section_already_linked_table): Likewise.
6582 (bfd_section_already_linked_table_lookup): Likewise.
6583 (bfd_section_already_linked_table_insert): Likewise.
6584 (already_linked_newfunc): Likewise.
6585 (bfd_section_already_linked_table_init): Likewise.
6586 (bfd_section_already_linked_table_free): Likewise.
6587 (_bfd_generic_section_already_linked): Likewise.
6588
6589 * section.c (bfd_section): Remove comdat.
6590 (bfd_comdat_info): Moved to ...
6591 * bfd-in.h (coff_comdat_info): Here.
6592 (bfd_coff_get_comdat_section): New.
6593 * coffgen.c (bfd_coff_get_comdat_section): Likewise.
6594 * libcoff-in.h (coff_section_tdata): Add comdat.
6595 * coffcode.h (handle_COMDAT): Updated.
6596 * cofflink.c (coff_link_add_symbols): Likewise.
6597 * ecoff.c (bfd_debug_section): Likewise.
6598
6599 * targets.c (bfd_target): Add _section_already_linked.
6600 (BFD_JUMP_TABLE_LINK): Updated.
6601
6602 * bfd-in2.h: Regenerated.
6603 * libbfd.h: Likewise.
6604 * libcoff.h: Likewise.
6605
0b52efa6
PB
66062003-07-21 Paul Brook <[email protected]>
6607
6608 * elflink.c (elf_get_linked_section_vma, compare_link_order,
6609 elf_fixup_link_order): New functions.
6610 (bfd_elf_final_link): Call elf_fixup_link_order.
6611
7e2294f9
AO
66122004-07-21 Alexandre Oliva <[email protected]>
6613
6614 * elf-bfd.h (ELF_COMMON_DEF_P): New.
6615 * elflink.c (_bfd_elf_symbol_refs_local_p): Use it to handle
6616 common definitions.
6617 * elf-m10300.c: Use SYMBOL_REFERENCES_LOCAL instead of
6618 _bfd_elf_symbol_refs_local_p.
6619 * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove hack for common
6620 symbols.
6621
e56f61be
L
66222004-07-19 H.J. Lu <[email protected]>
6623
6624 * bfd-in.h (dynamic_lib_link_class): Add DYN_NO_ADD_NEEDED and
6625 DYN_NO_NEEDED.
6626 (bfd_elf_get_dyn_lib_class): New prototype.
6627 * elf.c (bfd_elf_get_dyn_lib_class): New function.
6628
6629 * elflink.c (elf_link_add_object_symbols): Check DYN_AS_NEEDED,
6630 DYN_DT_NEEDED and DYN_NO_NEEDED bits to see if a DT_NEEDED
6631 entry is needed. Issue an error if a DT_NEEDED entry is needed
6632 for a file marked DYN_NO_NEEDED.
6633 (elf_link_check_versioned_symbol): Check the DYN_DT_NEEDED bit
6634 for DT_NEEDED tags.
6635
6636 * bfd-in2.h: Regenerated.
6637
27b56da8
DA
66382004-07-14 John David Anglin <[email protected]>
6639
6640 * elflink.c (elf_section_complain_discarded): Don't complain in
6641 .PARISC.unwind.
6642
bbb268c3
JW
66432004-07-10 James E Wilson <[email protected]>
6644
6645 * elfxx-ia64.c (elfNN_ia64_relax_ldxmov): Remove abfd parameter.
6646 (elfNN_ia64_install_value, elfNN_ia64_relax_brl): Likewise.
6647 (elfNN_ia64_relax_section, elfNN_ia64_relocate_section,
6648 elfNN_ia64_finish_dynamic_symbol, elfNN_ia64_finish_dynamic_sections):
6649 Fix callers.
6650 (elfNN_ia64_relax_brl): Change bfd_get_64 to bfd_getl64. Change
6651 bfd_put_64 to bfd_putl64.
6652 (elfNN_ia64_relax_ldxmov, elfNN_ia64_install_value): Likewise.
2c66dc6c 6653
e525914f
L
66542004-07-09 H.J. Lu <[email protected]>
6655
6656 PR 240
6657 * elfxx-ia64.c (elfNN_ia64_relax_section): Only warn br in
6658 .init/.fini sections when trying to relax it.
6659
b1a6d0b1
NC
66602004-07-09 Jie Zhang <[email protected]>
6661
6662 * elf.c (assign_file_positions_for_segments): Make sure the
6663 .dynamic section is the first section in the PT_DYNAMIC segment.
6664
1a320fbb
NC
66652004-07-09 Nick Clifton <[email protected]>
6666
6667 * config.bfd: Change sh-sybmian-elf to sh-*-symbianelf.
6668 * elf32-sh-symbian.c: Rename the sh_find_elf_flags and
6669 sh_elf_get_flags_from_mach functions so that they do not conflict
6670 when this target is built with other sh-elf targets.
6671 * elf32-sh.c (sh_elf_get_flags_from_mach): Remove bogus
6672 suppression of this function.
6673 (sh_elf_find_flags): Likewise.
6674
1fe1f39c
NC
66752004-07-07 Tomer Levi <[email protected]>
6676
6677 * Makefile.am (ALL_MACHINES): Add cpu-crx.lo.
6678 (ALL_MACHINES_CFILES): Add cpu-crx.c.
6679 (BFD32_BACKENDS): Add elf32-crx.lo.
6680 (BFD32_BACKENDS_CFILES): Add elf32-crx.c.
6681 (cpu-crx.lo): New target.
6682 (elf32-crx.lo): New target.
6683 * Makefile.in: Regenerate.
6684 * archures.c (bfd_architecture): Add bfd_{arch,mach}_crx.
6685 (bfd_archures_list): Add bfd_crx_arch.
6686 * bfd-in2.h: Regenerate.
6687 * config.bfd: Handle crx-*-elf*, crx*.
6688 * configure.in: Handle bfd_elf32_crx_vec.
6689 * configure: Regenerate.
6690 * cpu-crx.c: New file.
6691 * elf32-crx.c: Likewise.
6692 * libbfd.h: Regenerate.
6693 * reloc.c: Add BFD_RELOC_CRX_REL4, BFD_RELOC_CRX_REL8,
6694 BFD_RELOC_CRX_REL8_CMP, BFD_RELOC_CRX_REL16, BFD_RELOC_CRX_REL24,
6695 BFD_RELOC_CRX_REL32, BFD_RELOC_CRX_REGREL12, BFD_RELOC_CRX_REGREL22,
6696 BFD_RELOC_CRX_REGREL28, BFD_RELOC_CRX_REGREL32, BFD_RELOC_CRX_ABS16,
6697 BFD_RELOC_CRX_ABS32, BFD_RELOC_CRX_NUM8, BFD_RELOC_CRX_NUM16,
6698 BFD_RELOC_CRX_NUM32, BFD_RELOC_CRX_IMM16 and BFD_RELOC_CRX_IMM32
6699 * targets.c (bfd_elf32_crx_vec): Declare.
6700 (bfd_target_vector): Add bfd_elf32_crx_vec.
6701
85fbca6a
NC
67022004-07-06 Nick Clifton <[email protected]>
6703
6704 * config.bfd: Add sh-symbian-elf target.
6705 * configure.in: Add bfd_elf32_shl_symbian_vec.
6706 * configure: Regenerate.
6707 * elf-bfd.h (struct elf_backend_data): Add new field
6708 'check_directives'.
1fe1f39c 6709 * elflink.c (elf_link_add_object_symbols): Invoke the
85fbca6a 6710 check_directives function, if defined.
1fe1f39c 6711 * elfxx-target.h: Provide a default, NULL definition for
85fbca6a 6712 check_directives.
1fe1f39c
NC
6713 * targets.c: Add bfd_elf32_shl_symbian_vec.
6714 * elf32-sh.c (sh_elf_swap_insns): Protect against unnecessary
85fbca6a 6715 definition.
1fe1f39c 6716 (elf32_shlin_grok_prstatus, elf32_shlib_grok_psinfo,
85fbca6a 6717 * sh_elf_get_flags_from_mach, sh_elf_find_flags): Likewise.
1fe1f39c 6718 (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Only define if they have
85fbca6a 6719 not already been defined.
1fe1f39c
NC
6720 * elf32-sh64.c: Use SH_TARGET_ALREADY_DEFINED.
6721 * sh-symbian.c: New file. Provide functions to support the
85fbca6a
NC
6722 * sh-symbian-elf target.
6723 * Makefile.am: Add elf32-sh-symbian.c
6724 * Makefile.in: Regenerate.
1fe1f39c 6725
871ec896
JR
67262004-07-05 Andrew Stubbs <[email protected]>
6727
1fe1f39c
NC
6728 * elf32-sh.c: Include ../opcodes/sh-opc.h.
6729 * Makefile.am: Ran make dep-am.
6730 * Makefile.in: Ran make dep-in.
871ec896 6731
c87db184
CF
67322004-07-03 Aaron W. LaFramboise <[email protected]>
6733
6734 * cofflink.c (_bfd_coff_generic_relocate_section): Resolve PE weak
6735 externals properly.
6736
06f2f6af
MS
67372004-07-02 Martin Schwidefsky <[email protected]>
6738
6739 * config.bfd: Add want64 to configuration target s390-*-linux*.
6740
b602c853
L
67412004-07-01 H.J. Lu <[email protected]>
6742
6743 * bfd.c (bfd_get_section_ident): New.
6744
6745 * elflink.c (elf_link_read_relocs_from_section): Call
6746 bfd_get_section_ident to identify the section when reporting
6747 error.
6748 (_bfd_elf_link_output_relocs): Likewise.
6749 (elf_link_output_extsym): Likewise.
6750 (elf_link_input_bfd): Likewise.
6751 (bfd_elf_gc_record_vtinherit): Likewise.
6752
6753 * bfd-in2.h: Regenerated.
6754
7a2a6943
NC
67552004-07-01 Jie Zhang <[email protected]>
6756 Nick Clifton <[email protected]>
6757
6758 PR 204
6759 * elfxx-mips.c (_bfd_mips_elf_final_link): Pass the correct number
6760 of section symbols to mips_elf_sort_hash_table ().
6761
cdd3575c
AM
67622004-07-01 Alan Modra <[email protected]>
6763
6764 * elflink.c (elf_section_ignore_discarded_relocs): Revert last
6765 change. Comment.
6766 (elf_section_complain_discarded): New function. Handle
6767 .gcc_except_table too.
6768 (elf_link_input_bfd): Rewrite handling of relocs against symbols
6769 in discarded sections.
6770 * elf-bfd.h (elf_discarded_section): Protect macro arg.
6771
21a8f7fa
JW
67722004-06-30 James E Wilson <[email protected]>
6773
6774 * elfxx-ia64.c (elfNN_ia64_check_relocs): New local pltoff. Initialize
6775 to NULL. Call get_pltoff if NULL and NEED_PLTOFF is true.
6776
2de26f35
L
67772004-06-30 H.J. Lu <[email protected]>
6778
6779 PR 233
6780 * elflink.c (elf_link_input_bfd): Issue an error for non-debug
6781 local references to discarded sections and report their
6782 locations.
6783
72d7a15c
AM
67842004-06-30 Alan Modra <[email protected]>
6785
6786 * elflink.c (elf_section_ignore_discarded_relocs): Don't test
6787 sec_info_type, test section name instead.
6788
e7f0a167
L
67892004-06-29 H.J. Lu <[email protected]>
6790
6791 PR 240
6792 * elfxx-ia64.c (elfNN_ia64_relax_section): Don't relax branch
6793 in .init/.fini sections.
6794
bff5f93a
BW
67952004-06-29 Bob Wilson <[email protected]>
6796
6797 * elf32-xtensa.c (elf_xtensa_relocate_section): Use
6798 bfd_get_section_limit.
6799
b54d4b07
BW
68002004-06-29 Bob Wilson <[email protected]>
6801
6802 * elf32-xtensa.c (elf_xtensa_combine_prop_entries): Don't change the
6803 output section size.
6804
e87a64e1
AM
68052004-06-29 Alan Modra <[email protected]>
6806
1a23a9e6
AM
6807 * elf64-mmix.c (mmix_set_relaxable_size): Save original size in
6808 rawsize.
6809 (mmix_elf_perform_relocation): Adjust for above change.
6810 (mmix_elf_relocate_section): Likewise.
6811 (mmix_elf_relax_section): Likewise. Use output_section->rawsize.
6812 (mmix_elf_get_section_contents): Delete.
6813 (bfd_elf64_get_section_contents): Delete.
6814 (mmix_elf_relocate_section): Zero stub area.
6815 * linker.c (default_indirect_link_order): Alloc max of section size
6816 and rawsize.
6817 * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
6818 * section.c (bfd_malloc_and_get_section): Likewise.
6819 (struct bfd_section): Update rawsize comment.
6820 * bfd-in2.h: Regenerate.
6821
e87a64e1
AM
6822 * reloc16.c (bfd_coff_reloc16_relax_section): Set rawsize.
6823
07515404
AM
68242004-06-29 Alan Modra <[email protected]>
6825
6826 * bfd-in.h (bfd_get_section_limit): Define.
1fe1f39c 6827 * reloc.c (bfd_perform_relocation, bfd_install_relocation)
07515404
AM
6828 (_bfd_final_link_relocate): Use bfd_get_section_limit.
6829 * aout-tic30.c (tic30_aout_final_link_relocate): Likewise.
6830 * coff-arm.c (coff_arm_relocate_section): Likewise.
6831 * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): Likewise.
6832 * cpu-ns32k.c (do_ns32k_reloc): Likewise.
6833 (bfd_ns32k_final_link_relocate): Likewise.
6834 * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): Likwise.
6835 * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): Likewise.
1fe1f39c 6836 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc)
07515404 6837 (i860_howto_highadj_reloc, i860_howto_splitn_reloc): Likewise.
1fe1f39c 6838 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc)
07515404
AM
6839 (m32r_elf_generic_reloc, m32r_elf_relocate_section): Likewise.
6840 * elf32-m68hc1x.c (m68hc11_elf_special_reloc): Likewise.
6841 * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
6842 * elf32-or32.c (or32_elf_consth_reloc): Likewise.
6843 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Likewise.
6844 * elf32-s390.c (s390_elf_ldisp_reloc): Likewise.
6845 * elf32-sh.c (sh_elf_reloc_loop): Likewise.
6846 * elf32-sparc.c (sparc_elf_wdisp16_reloc): Likewise.
6847 (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc): Likwise.
6848 * elf32-v850.c (v850_elf_reloc): Likewise.
6849 * elf32-xstormy16.c (xstormy16_elf_24_reloc): Likewise.
6850 * elf32-xtensa.c (bfd_elf_xtensa_reloc): Likewise.
6851 * elf64-alpha.c (elf64_alpha_reloc_gpdisp): Likewise.
6852 * elf64-mips.c (mips_elf64_gprel32_reloc)
6853 (mips16_gprel_reloc): Likewise.
6854 * elf64-mmix.c (mmix_elf_reloc): Likewise.
6855 * elf64-s390.c (s390_elf_ldisp_reloc): Likewise.
6856 * elf64-sparc.c (init_insn_reloc): Likewise.
6857 * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
1fe1f39c
NC
6858 * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp)
6859 (_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_lo16_reloc)
07515404
AM
6860 (_bfd_mips_elf_generic_reloc): Likewise.
6861 * bfd-in2.h: Regenerate.
6862
3722b82f
AM
68632004-06-28 Alan Modra <[email protected]>
6864
6865 * bfd-in.h (struct stab_info): Move from stabs.c.
6866 * stabs.c (struct stab_link_includes_table): Delete.
6867 (stab_link_includes_lookup): Delete.
6868 (_bfd_write_section_stabs, _bfd_write_stab_strings): Remove one
6869 level of indirection from sinfo parm.
6870 (_bfd_link_section_stabs): Likewise. Set SEC_LINKER_CREATED on
6871 stabstr section. Adjust hash table accesses.
6872 * coff-ppc.c (ppc_bfd_coff_final_link): Do include rawsize in contents
6873 alloc. Adjust stab_info test.
6874 * cofflink.c (_bfd_coff_link_hash_table_init): Clear stab_info.
6875 (_bfd_coff_final_link): Adjust stab_info test.
6876 (_bfd_coff_link_input_bfd): Ignore SEC_LINKER_CREATED sections.
6877 * elf-bfd.h (struct elf_link_hash_table): Include struct stab_info
6878 in place.
6879 * libcoff-in.h (struct coff_link_hash_table): Likewise.
6880 * elf.c (_bfd_elf_link_hash_table_init): Clear stab_info.
6881 * elflink.c (bfd_elf_final_link): Don't attempt to link linker created
6882 stabstr section. Adjust stab_info test.
6883 * libbfd-in.h (_bfd_link_section_stabs, _bfd_write_section_stabs)
6884 (_bfd_write_stab_strings): Adjust prototypes.
6885 * libbfd.h: Regenerate.
6886 * libcoff.h: Regenerate.
6887 * bfd-in2.h: Regenerate.
6888
727e493d
MK
68892004-06-27 Mark Kettenis <[email protected]>
6890
6891 From Miod Vallat <[email protected]>:
6892 * aoutx.h (NAME(aout,machine_type)): Handle bfd_arch_m88k.
6893
146ccdbb
AO
68942004-06-26 Alexandre Oliva <[email protected]>
6895
6896 * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): Delete.
6897 (struct elf32_mn10300_link_hash_entry): Remove
6898 pcrel_relocs_copied.
6899 (mn10300_elf_check_relocs): Only reserve dynamic relocations for
6900 R_MN10300_32. Don't adjust pcrel_relocs_copied.
6901 (mn10300_elf_final_link_relocate): Fail for direct, pc-relative
6902 and gotoff relocations if the symbol doesn't bind locally. Use
6903 _bfd_elf_symbol_refs_local_p to test. Don't create dynamic
6904 relocation for PCREL32.
6905 (mn10300_elf_relocate_section): Use _bfd_elf_symbol_refs_local_p
6906 to test whether a symbol binds locally.
6907 (elf32_mn10300_link_hash_newfunc): Don't initialize
6908 pcrel_relocs_copied.
6909 (_bfd_mn10300_elf_discard_copies): Delete.
6910 (_bfd_mn10300_elf_size_dynamic_sections): Don't call it.
6911
a5fd0812
MK
69122004-06-26 Mark Kettenis <[email protected]>
6913
6914 * config.bfd: Replace m88k-*-openbsd* with m88*-*-openbsd*.
6915
22bfad37
JB
69162004-06-25 Joel Brobecker <[email protected]>
6917
6918 * som.c (som_set_reloc_info): Correct small typo.
6919
097f809a
NC
69202004-06-25 Kazuhiro Inaoka <[email protected]>
6921
6922 * elf32-m32r.c (m32r_elf_howto_table): Support R_M32R_GOTOFF.
6923 (m32r_elf_relocate_section): Changed for R_M32R_GOTOFF.
6924 (m32r_elf_gcsweep_hook): Likewise.
6925 (m32r_elf_check_relocs): Likewise.
6926 (m32r_elf_howto_table): Added R_M32R_GOTOFF_HI_ULO,
6927 R_M32R_GOTOFF_HI_SLO and R_M32R_GOTOFF_LO.
6928 * reloc.c: Added BFD_RELOC_M32R_GOTOFF_HI_ULO,
6929 BFD_RELOC_M32R_GOTOFF_HI_SLO and BFD_RELOC_M32R_GOTOFF_LO.
f9f2cf5d
NC
6930 * bfd-in2.h: Regenerated.
6931 * libbfd.h: Regenerated.
097f809a 6932
6610a52d
L
69332004-06-24 H.J. Lu <[email protected]>
6934
6935 * elf64-x86-64.c (elf64_x86_64_check_relocs): Warn overflow
6936 relocation symbol.
6937 (elf64_x86_64_relocate_section): Issue an error for
6938 R_X86_64_PC8, R_X86_64_PC16 and R_X86_64_PC32 relocations
6939 against global symbols when building shared library.
6940
eea6121a
AM
69412004-06-24 Alan Modra <[email protected]>
6942
6943 * section.c (struct sec): Rename "_cooked_size" to "size".
6944 Rename "_raw_size" to "rawsize".
6945 (STD_SECTION): Adjust comments.
6946 (bfd_set_section_size, bfd_get_section_contents): Use size.
6947 (bfd_malloc_and_get_section): New function.
6948 * bfd-in.h (bfd_section_size, bfd_get_section_size): Use size.
6949 * coff-sh.c (sh_relax_section): Alloc coff_section_data struct early.
6950 Correctly free reloc and contents memory.
6951 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete FIXME
6952 and fake CIE now that we can shink section size to zero.
6953 (_bfd_elf_write_section_eh_frame): Likewise..
6954 * elf32-ppc.c (ppc_elf_relax_section): Delay reading section contents.
6955 * elf-m10300.c (mn10300_elf_final_link_relocate): Don't use
6956 _bfd_stab_section_offset. Use _bfd_elf_section_offset.
6957 * stabs.c (_bfd_stab_section_offset_): Remove unused args and
6958 unneeded indirection.
6959 * elf.c (_bfd_elf_section_offset): .. and update call.
6960 * libbfd-in.h (_bfd_stab_section_offset): Update prototype.
6961 * libbfd.h: Regenerate.
6962 * bfd-in2.h: Regenerate.
6963
6964 Replace occurrences of "_raw_size" and "_cooked_size" in most places
6965 with "size". Set new "rawsize" for stabs, eh_frame, and SEC_MERGE
6966 sections. Use "rawsize", if non-zero, for bfd_get_section_contents
6967 calls if the section might be a stabs, eh_frame, or SEC_MERGE section.
6968 Similarly use "rawsize", if non-zero, in reloc functions to validate
6969 reloc addresses. Use new bfd_malloc_and_get_section in most places
6970 where bfd_get_section_contents was called. Expand all occurrences of
6971 bfd_section_size and bfd_get_section_size. Rename "raw_size" var in
6972 grok_prstatus and similar functions to "size".
6973 * aix386-core.c (aix386_core_file_p): ..
6974 * aix5ppc-core.c (xcoff64_core_p): ..
6975 * aout-adobe.c (aout_adobe_callback, aout_adobe_write_object_contents,
6976 aout_adobe_set_section_contents): ..
6977 * aout-target.h (callback): ..
6978 * aout-tic30.c (tic30_aout_callback, tic30_aout_final_link_relocate,
6979 MY_bfd_final_link): ..
6980 * aoutf1.h (sunos4_core_file_p): ..
6981 * aoutx.h (some_aout_object_p, adjust_o_magic, adjust_z_magic,
6982 adjust_n_magic, adjust_sizes_and_vmas, translate_from_native_sym_flags,
6983 final_link, aout_link_input_section): ..
6984 * binary.c (binary_object_p, binary_canonicalize_symtab,
6985 binary_set_section_contents): ..
6986 * bout.c (b_out_callback, b_out_write_object_contents,
6987 b_out_set_section_contents, b_out_bfd_relax_section,
6988 b_out_bfd_get_relocated_section_contents): ..
6989 * cisco-core.c (cisco_core_file_validate): ..
6990 * coff-alpha.c (alpha_ecoff_object_p,
6991 alpha_ecoff_get_relocated_section_conten, alpha_relocate_section): ..
6992 * coff-arm.c (coff_arm_relocate_section,
6993 bfd_arm_allocate_interworking_sections): ..
6994 * coff-h8300.c (h8300_reloc16_extra_cases,
6995 h8300_bfd_link_add_symbols): ..
6996 * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): ..
6997 * coff-ppc.c (coff_ppc_relocate_section, ppc_allocate_toc_section,
6998 ppc_bfd_coff_final_link): ..
6999 * coff-rs6000.c (xcoff_reloc_type_br, xcoff_ppc_relocate_section): ..
7000 * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
7001 sh_align_loads, sh_coff_get_relocated_section_contents): ..
7002 * coff64-rs6000.c (xcoff64_write_object_contents,
7003 xcoff64_reloc_type_br, xcoff64_ppc_relocate_section): ..
7004 * coffcode.h (coff_compute_section_file_positions,
7005 coff_write_object_contents): ..
7006 * coffgen.c (make_a_section_from_file, coff_write_symbols,
7007 coff_section_symbol, build_debug_section): ..
7008 * cofflink.c (coff_link_add_symbols, _bfd_coff_final_link,
7009 process_embedded_commands, _bfd_coff_link_input_bfd,
7010 _bfd_coff_write_global_sym): ..
7011 * cpu-arm.c (bfd_arm_update_notes, bfd_arm_get_mach_from_notes): ..
7012 * cpu-ns32k.c (do_ns32k_reloc, _bfd_ns32k_final_link_relocate): ..
7013 * dwarf1.c (parse_line_table, _bfd_dwarf1_find_nearest_line): ..
7014 * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
7015 _bfd_dwarf2_find_nearest_line): ..
7016 * ecoff.c (bfd_debug_section, ecoff_set_symbol_info,
7017 ecoff_compute_section_file_positions,
7018 _bfd_ecoff_write_object_contents, ecoff_indirect_link_order): ..
7019 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame,
7020 _bfd_elf_discard_section_eh_frame_hdr,
7021 _bfd_elf_maybe_strip_eh_frame_hdr, _bfd_elf_eh_frame_section_offset,
7022 _bfd_elf_write_section_eh_frame,
7023 _bfd_elf_write_section_eh_frame_hdr): ..
7024 * elf-hppa.h (elf_hppa_sort_unwind): ..
7025 * elf-m10200.c (mn10200_elf_relax_section,
7026 mn10200_elf_relax_delete_bytes,
7027 mn10200_elf_get_relocated_section_contents): ..
7028 * elf-m10300.c (_bfd_mn10300_elf_create_got_section,
7029 mn10300_elf_check_relocs, mn10300_elf_relax_section,
7030 mn10300_elf_relax_delete_bytes,
7031 mn10300_elf_get_relocated_section_contents,
7032 _bfd_mn10300_elf_adjust_dynamic_symbol,
7033 _bfd_mn10300_elf_discard_copies,
7034 _bfd_mn10300_elf_size_dynamic_sections,
7035 _bfd_mn10300_elf_finish_dynamic_sections): ..
7036 * elf.c (_bfd_elf_print_private_bfd_data, bfd_elf_get_bfd_needed_list,
7037 _bfd_elf_make_section_from_phdr, elf_fake_sections,
7038 bfd_elf_set_group_contents, map_sections_to_segments,
7039 elf_sort_sections, assign_file_positions_for_segments,
7040 SECTION_SIZE, copy_private_bfd_data,
7041 _bfd_elf_get_dynamic_reloc_upper_bound,
7042 _bfd_elf_canonicalize_dynamic_reloc, elfcore_maybe_make_sect,
7043 _bfd_elfcore_make_pseudosection, elfcore_grok_prstatus,
7044 elfcore_grok_lwpstatus, elfcore_grok_win32pstatus,
7045 elfcore_grok_note, elfcore_grok_nto_status, elfcore_grok_nto_gregs,
7046 _bfd_elf_rel_local_sym, _bfd_elf_get_synthetic_symtab): ..
7047 * elf32-arm.h (bfd_elf32_arm_allocate_interworking_sect,
7048 bfd_elf32_arm_process_before_allocation,
7049 elf32_arm_adjust_dynamic_symbol, allocate_dynrelocs,
7050 elf32_arm_size_dynamic_sections, elf32_arm_finish_dynamic_sections,
7051 elf32_arm_write_section): ..
7052 * elf32-cris.c (cris_elf_grok_prstatus,
7053 elf_cris_finish_dynamic_sections, cris_elf_gc_sweep_hook,
7054 elf_cris_adjust_gotplt_to_got, elf_cris_adjust_dynamic_symbol,
7055 cris_elf_check_relocs, elf_cris_size_dynamic_sections,
7056 elf_cris_discard_excess_dso_dynamics,
7057 elf_cris_discard_excess_program_dynamics): ..
7058 * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): ..
7059 * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): ..
7060 * elf32-frv.c (_frvfdpic_add_dyn_reloc, _frvfdpic_add_rofixup,
7061 _frv_create_got_section, _frvfdpic_assign_plt_entries,
7062 elf32_frvfdpic_size_dynamic_sections,
7063 elf32_frvfdpic_modify_segment_map,
7064 elf32_frvfdpic_finish_dynamic_sections): ..
7065 * elf32-h8300.c (elf32_h8_relax_section, elf32_h8_relax_delete_bytes,
7066 elf32_h8_get_relocated_section_contents): ..
7067 * elf32-hppa.c (hppa_build_one_stub, hppa_size_one_stub,
7068 elf32_hppa_adjust_dynamic_symbol, allocate_plt_static,
7069 allocate_dynrelocs, elf32_hppa_size_dynamic_sections, group_sections,
7070 elf32_hppa_size_stubs, elf32_hppa_set_gp, elf32_hppa_build_stubs,
7071 elf32_hppa_finish_dynamic_sections): ..
7072 * elf32-i370.c (i370_elf_adjust_dynamic_symbol,
7073 i370_elf_size_dynamic_sections, i370_elf_check_relocs,
7074 i370_elf_finish_dynamic_sections): ..
7075 * elf32-i386.c (elf_i386_grok_prstatus, elf_i386_adjust_dynamic_symbol,
7076 allocate_dynrelocs, elf_i386_size_dynamic_sections,
7077 elf_i386_relocate_section, elf_i386_finish_dynamic_sections): ..
7078 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
7079 i860_howto_highadj_reloc, i860_howto_splitn_reloc): ..
7080 * elf32-ip2k.c (ip2k_is_switch_table_128,
7081 ip2k_relax_switch_table_128, ip2k_is_switch_table_256,
7082 ip2k_relax_switch_table_256, ip2k_elf_relax_section,
7083 adjust_all_relocations, ip2k_elf_relax_delete_bytes): ..
7084 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc,
7085 m32r_elf_generic_reloc, m32r_elf_adjust_dynamic_symbol,
7086 allocate_dynrelocs, m32r_elf_size_dynamic_sections,
7087 m32r_elf_relocate_section, m32r_elf_finish_dynamic_sections,
7088 m32r_elf_relax_section, m32r_elf_relax_delete_bytes,
7089 m32r_elf_get_relocated_section_contents): ..
7090 * elf32-m68hc11.c (m68hc11_elf_build_one_stub,
7091 m68hc11_elf_size_one_stub, m68hc11_elf_relax_section,
7092 m68hc11_elf_relax_delete_bytes): ..
7093 * elf32-m68hc12.c (m68hc12_elf_build_one_stub,
7094 m68hc12_elf_size_one_stub): ..
7095 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs,
7096 elf32_m68hc11_build_stubs, m68hc11_elf_special_reloc): ..
7097 * elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_gc_sweep_hook,
7098 elf_m68k_adjust_dynamic_symbol, elf_m68k_size_dynamic_sections,
7099 elf_m68k_discard_copies, elf_m68k_finish_dynamic_sections): ..
7100 * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
7101 elf32_mips_grok_prstatus): ..
7102 * elf32-or32.c (or32_elf_consth_reloc): ..
7103 * elf32-ppc.c (ppc_elf_relax_section, ppc_elf_addr16_ha_reloc,
7104 elf_create_pointer_linker_section, ppc_elf_create_linker_section,
7105 ppc_elf_additional_program_headers, ppc_elf_adjust_dynamic_symbol,
7106 allocate_dynrelocs, ppc_elf_size_dynamic_sections,
7107 ppc_elf_finish_dynamic_sections, ppc_elf_grok_prstatus,
7108 ppc_elf_final_write_processing): ..
7109 * elf32-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
7110 allocate_dynrelocs, elf_s390_size_dynamic_sections,
7111 elf_s390_finish_dynamic_sections, elf_s390_grok_prstatus): ..
7112 * elf32-sh.c (sh_elf_reloc_loop, sh_elf_relax_section,
7113 sh_elf_relax_delete_bytes, sh_elf_align_loads,
7114 sh_elf_adjust_dynamic_symbol, allocate_dynrelocs,
7115 sh_elf_size_dynamic_sections, sh_elf_get_relocated_section_contents,
7116 sh_elf_finish_dynamic_sections, elf32_shlin_grok_prstatus): ..
7117 * elf32-sh64-com.c (sh64_address_in_cranges,
7118 sh64_get_contents_type): ..
7119 * elf32-sh64.c (sh64_find_section_for_address,
7120 sh64_elf_final_write_processing): ..
7121 * elf32-sparc.c (sparc_elf_wdisp16_reloc, sparc_elf_hix22_reloc,
7122 sparc_elf_lox10_reloc, elf32_sparc_adjust_dynamic_symbol,
7123 allocate_dynrelocs, elf32_sparc_size_dynamic_sections,
7124 elf32_sparc_relocate_section, elf32_sparc_finish_dynamic_sections): ..
7125 * elf32-v850.c (v850_elf_reloc, v850_elf_relax_section): ..
7126 * elf32-vax.c (elf_vax_check_relocs, elf_vax_adjust_dynamic_symbol,
7127 elf_vax_size_dynamic_sections, elf_vax_discard_copies,
7128 elf_vax_instantiate_got_entries, elf_vax_relocate_section,
7129 elf_vax_finish_dynamic_sections): ..
7130 * elf32-xstormy16.c (xstormy16_elf_24_reloc,
7131 xstormy16_elf_check_relocs, xstormy16_relax_plt_check,
7132 xstormy16_elf_relax_section, xstormy16_elf_always_size_sections,
7133 xstormy16_elf_finish_dynamic_sections): ..
7134 * elf32-xtensa.c (xtensa_read_table_entries,
7135 elf_xtensa_allocate_got_size, elf_xtensa_allocate_local_got_size,
7136 elf_xtensa_size_dynamic_sections, elf_xtensa_do_reloc,
7137 bfd_elf_xtensa_reloc, elf_xtensa_relocate_section,
7138 elf_xtensa_combine_prop_entries, elf_xtensa_finish_dynamic_sections,
7139 elf_xtensa_discard_info_for_section, elf_xtensa_grok_prstatus,
7140 get_relocation_opcode, retrieve_contents, find_relaxable_sections,
7141 collect_source_relocs, is_resolvable_asm_expansion, remove_literals,
7142 relax_section, shrink_dynamic_reloc_sections, relax_property_section,
7143 xtensa_callback_required_dependence): ..
7144 * elf64-alpha.c (elf64_alpha_reloc_gpdisp, elf64_alpha_relax_section,
7145 elf64_alpha_check_relocs, elf64_alpha_adjust_dynamic_symbol,
7146 elf64_alpha_calc_got_offsets_for_symbol, elf64_alpha_calc_got_offsets,
7147 elf64_alpha_size_plt_section, elf64_alpha_size_plt_section_1,
7148 elf64_alpha_always_size_sections, elf64_alpha_calc_dynrel_sizes,
7149 elf64_alpha_size_rela_got_section, elf64_alpha_size_rela_got_1,
7150 elf64_alpha_size_dynamic_sections, elf64_alpha_emit_dynrel,
7151 elf64_alpha_finish_dynamic_sections, elf64_alpha_final_link): ..
7152 * elf64-hppa.c (allocate_dynrel_entries,
7153 elf64_hppa_size_dynamic_sections,
7154 elf64_hppa_finish_dynamic_sections): ..
7155 * elf64-mips.c (mips_elf64_gprel32_reloc, mips16_gprel_reloc,
7156 mips_elf64_canonicalize_dynamic_reloc, mips_elf64_slurp_reloc_table,
7157 elf64_mips_grok_prstatus): ..
7158 * elf64-mmix.c (mmix_elf_perform_relocation, mmix_elf_reloc,
7159 mmix_elf_relocate_section, mmix_elf_final_link,
7160 mmix_set_relaxable_size, _bfd_mmix_after_linker_allocation,
7161 mmix_elf_relax_section, mmix_elf_get_section_contents): ..
7162 * elf64-ppc.c (ppc64_elf_object_p, ppc64_elf_grok_prstatus,
7163 ppc64_elf_check_relocs, ppc64_elf_func_desc_adjust,
7164 ppc64_elf_adjust_dynamic_symbol, ppc64_elf_edit_opd,
7165 allocate_dynrelocs, ppc64_elf_size_dynamic_sections,
7166 ppc_build_one_stub, ppc_size_one_stub, ppc64_elf_next_toc_section,
7167 toc_adjusting_stub_needed, group_sections, ppc64_elf_size_stubs,
7168 ppc64_elf_build_stubs, ppc64_elf_relocate_section,
7169 ppc64_elf_finish_dynamic_sections): ..
7170 * elf64-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
7171 allocate_dynrelocs, elf_s390_size_dynamic_sections,
7172 elf_s390_finish_dynamic_sections): ..
7173 * elf64-sh64.c (sh_elf64_get_relocated_section_contents,
7174 sh_elf64_check_relocs, sh64_elf64_adjust_dynamic_symbol,
7175 sh64_elf64_discard_copies, sh64_elf64_size_dynamic_sections,
7176 sh64_elf64_finish_dynamic_sections): ..
7177 * elf64-sparc.c (sparc64_elf_slurp_reloc_table, init_insn_reloc,
7178 sparc64_elf_check_relocs, sparc64_elf_adjust_dynamic_symbol,
7179 sparc64_elf_size_dynamic_sections, sparc64_elf_relocate_section,
7180 sparc64_elf_finish_dynamic_symbol,
7181 sparc64_elf_finish_dynamic_sections): ..
7182 * elf64-x86-64.c (elf64_x86_64_grok_prstatus,
7183 elf64_x86_64_adjust_dynamic_symbol, allocate_dynrelocs,
7184 elf64_x86_64_size_dynamic_sections, elf64_x86_64_relocate_section,
7185 elf64_x86_64_finish_dynamic_sections): ..
7186 * elfarm-nabi.c (elf32_arm_nabi_grok_prstatus): ..
7187 * elfcode.h (elf_slurp_reloc_table): ..
7188 * elflink.c (_bfd_elf_create_got_section, elf_add_dt_needed_tag,
7189 elf_finalize_dynstr, elf_link_add_object_symbols,
7190 bfd_elf_size_dynamic_sections, elf_link_sort_relocs,
7191 elf_link_input_bfd, bfd_elf_final_link, bfd_elf_discard_info): ..
7192 * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
7193 elf32_mips_grok_prstatus): ..
7194 * elfxx-ia64.c (elfNN_ia64_relax_section, allocate_dynrel_entries,
7195 elfNN_ia64_size_dynamic_sections, elfNN_ia64_install_dyn_reloc,
7196 elfNN_ia64_choose_gp, elfNN_ia64_final_link,
7197 elfNN_ia64_finish_dynamic_sections): ..
7198 * elfxx-mips.c (mips_elf_create_procedure_table,
7199 mips_elf_check_mips16_stubs, _bfd_mips_elf_gprel16_with_gp,
7200 _bfd_mips_elf_hi16_reloc, _bfd_mips_elf_generic_reloc,
7201 mips_elf_global_got_index, mips_elf_multi_got,
7202 mips_elf_create_compact_rel_section, mips_elf_calculate_relocation,
7203 mips_elf_allocate_dynamic_relocations,
7204 mips_elf_create_dynamic_relocation, _bfd_mips_elf_fake_sections,
7205 _bfd_mips_relax_section, _bfd_mips_elf_adjust_dynamic_symbol,
7206 _bfd_mips_elf_always_size_sections,
7207 _bfd_mips_elf_size_dynamic_sections,
7208 _bfd_mips_elf_finish_dynamic_symbol,
7209 _bfd_mips_elf_finish_dynamic_sections,
7210 _bfd_mips_elf_modify_segment_map, _bfd_mips_elf_discard_info,
7211 _bfd_mips_elf_write_section, _bfd_mips_elf_set_section_contents,
7212 _bfd_elf_mips_get_relocated_section_contents,
7213 _bfd_mips_elf_final_link, _bfd_mips_elf_merge_private_bfd_data): ..
7214 * hp300hpux.c (callback): ..
7215 * hppabsd-core.c (make_bfd_asection): ..
7216 * hpux-core.c (make_bfd_asection): ..
7217 * i386linux.c (linux_link_create_dynamic_sections,
7218 bfd_i386linux_size_dynamic_sections, linux_finish_dynamic_link): ..
7219 * i386msdos.c (msdos_write_object_contents): ..
7220 * i386os9k.c (os9k_callback, os9k_write_object_contents,
7221 os9k_set_section_contents): ..
7222 * ieee.c (parse_expression, ieee_slurp_external_symbols,
7223 ieee_slurp_sections, ieee_slurp_debug, ieee_slurp_section_data,
7224 ieee_write_section_part, do_with_relocs, do_as_repeat,
7225 do_without_relocs, ieee_write_debug_part, init_for_output,
7226 ieee_set_section_contents): ..
7227 * ihex.c (ihex_scan, ihex_read_section, ihex_get_section_contents): ..
7228 * irix-core.c (do_sections, make_bfd_asection): ..
7229 * libaout.h (aout_section_merge_with_text_p): ..
7230 * libbfd.c (_bfd_generic_get_section_contents,
7231 _bfd_generic_get_section_contents_in_window): ..
7232 * linker.c (default_indirect_link_order): ..
7233 * lynx-core.c (make_bfd_asection): ..
7234 * m68klinux.c (linux_link_create_dynamic_sections,
7235 bfd_m68klinux_size_dynamic_sections, linux_finish_dynamic_link): ..
7236 * mach-o.c (bfd_mach_o_make_bfd_section,
7237 bfd_mach_o_scan_read_dylinker, bfd_mach_o_scan_read_dylib,
7238 bfd_mach_o_scan_read_thread, bfd_mach_o_scan_read_symtab,
7239 bfd_mach_o_scan_read_segment): ..
7240 * merge.c (_bfd_add_merge_section, record_section, merge_strings,
7241 _bfd_merge_sections): ..
7242 * mmo.c (mmo_find_sec_w_addr, mmo_get_spec_section, mmo_get_loc,
7243 mmo_map_set_sizes, mmo_canonicalize_symtab,
7244 mmo_internal_write_section, mmo_write_object_contents): ..
7245 * netbsd-core.c (netbsd_core_file_p): ..
7246 * nlm32-alpha.c (nlm_alpha_read_reloc, nlm_alpha_write_import,
7247 nlm_alpha_set_public_section): ..
7248 * nlm32-ppc.c (nlm_powerpc_read_reloc, nlm_powerpc_write_reloc): ..
7249 * nlm32-sparc.c (nlm_sparc_write_import): ..
7250 * nlmcode.h (add_bfd_section, nlm_swap_auxiliary_headers_in,
7251 nlm_compute_section_file_positions): ..
7252 * oasys.c (oasys_object_p, oasys_slurp_section_data,
7253 oasys_write_sections, oasys_write_data, oasys_set_section_contents): ..
7254 * opncls.c (get_debug_link_info): ..
7255 * osf-core.c (make_bfd_asection): ..
7256 * pdp11.c (some_aout_object_p, adjust_o_magic, adjust_z_magic,
7257 adjust_n_magic, adjust_sizes_and_vmas, squirt_out_relocs,
7258 final_link, aout_link_input_section): ..
7259 * peXXigen.c (_bfd_XXi_swap_sym_in, _bfd_XXi_swap_aouthdr_out,
7260 pe_print_idata, pe_print_edata, pe_print_pdata, pe_print_reloc): ..
7261 * pef.c (bfd_pef_make_bfd_section, bfd_pef_print_loader_section,
7262 bfd_pef_scan_start_address, bfd_pef_parse_symbols): ..
7263 * ppcboot.c (ppcboot_object_p, ppcboot_canonicalize_symtab): ..
7264 * ptrace-core.c (ptrace_unix_core_file_p): ..
7265 * reloc.c (bfd_perform_relocation, bfd_install_relocation,
7266 _bfd_final_link_relocate, bfd_generic_relax_section,
7267 bfd_generic_get_relocated_section_contents): ..
7268 * reloc16.c (bfd_coff_reloc16_relax_section,
7269 bfd_coff_reloc16_get_relocated_section_c): ..
7270 * riscix.c (riscix_some_aout_object_p): ..
7271 * rs6000-core.c (read_hdr, make_bfd_asection): ..
7272 * sco5-core.c (make_bfd_asection): ..
7273 * simple.c (bfd_simple_get_relocated_section_contents): ..
7274 * som.c (som_object_setup, setup_sections, som_prep_headers,
7275 som_write_fixups, som_begin_writing, bfd_section_from_som_symbol,
7276 som_set_reloc_info, som_get_section_contents,
7277 som_bfd_link_split_section): ..
7278 * sparclinux.c (linux_link_create_dynamic_sections,
7279 bfd_sparclinux_size_dynamic_sections, linux_finish_dynamic_link): ..
7280 * srec.c (srec_scan, srec_read_section, srec_get_section_contents): ..
7281 * stabs.c (_bfd_link_section_stabs, _bfd_discard_section_stabs,
7282 _bfd_write_stab_strings, _bfd_stab_section_offset): ..
7283 * sunos.c (sunos_read_dynamic_info, sunos_create_dynamic_sections,
7284 bfd_sunos_size_dynamic_sections, sunos_scan_std_relocs,
7285 sunos_scan_ext_relocs, sunos_scan_dynamic_symbol,
7286 sunos_write_dynamic_symbol, sunos_check_dynamic_reloc,
7287 sunos_finish_dynamic_link): ..
7288 * syms.c (_bfd_stab_section_find_nearest_line): ..
7289 * tekhex.c (first_phase, tekhex_set_section_contents,
7290 tekhex_write_object_contents): ..
7291 * trad-core.c (trad_unix_core_file_p): ..
7292 * versados.c (process_esd, process_otr, process_otr): ..
7293 * vms-gsd.c (_bfd_vms_slurp_gsd, _bfd_vms_write_gsd): ..
7294 * vms-misc.c (add_new_contents): ..
7295 * vms-tir.c (check_section, new_section, _bfd_vms_write_tir): ..
7296 * vms.c (vms_set_section_contents): ..
7297 * xcofflink.c (xcoff_get_section_contents, xcoff_link_add_symbols,
7298 xcoff_sweep, bfd_xcoff_size_dynamic_sections, xcoff_build_ldsyms,
7299 _bfd_xcoff_bfd_final_link, xcoff_link_input_bfd): ..
7300 * xsym.c (bfd_sym_scan): .. See above.
7301
bf8b15af
L
73022004-06-21 H.J. Lu <[email protected]>
7303
7304 * elfxx-ia64.c (elfNN_ia64_relax_section): Add addend when
7305 calling _bfd_merged_section_offset only for section symbols.
7306
d1c6de6f
AM
73072004-06-22 Alan Modra <[email protected]>
7308
7309 * elf32-ppc.c (ppc_elf_relax_section): Implement reference code
7310 for handling SEC_MERGE symbols in relax_section.
7311
aa02cc63
AO
73122004-06-21 Alexandre Oliva <[email protected]>
7313
7314 2003-05-15 Richard Sandiford <[email protected]>
7315 * cpu-h8300.c (compatible): Allow h8300s and h8300sx code to be
7316 linked together. Mark the result as h8300sx code.
7317
aee6f5b4
AO
73182004-06-21 Alexandre Oliva <[email protected]>
7319
7320 * elf-bfd.h (struct elf_backend_data): Added
7321 elf_backend_omit_section_dynsym.
7322 (_bfd_elf_link_omit_section_dynsym): Declare.
7323 * elf32-frv.c (_frvfdpic_link_omit_section_dynsym): New.
7324 (elf_backend_omit_section_dynsym): Use it for frvfdpic.
7325 * elflink.c (_bfd_elf_link_omit_section_dynsym): Split out of...
7326 (_bfd_elf_link_renumber_dynsyms): ... this function.
7327 * elfxx-target.h (elf_backend_omit_section_dynsym): Default to
7328 _bfd_elf_link_omit_section_dynsym).
7329 (elfNN_bed): Added elf_backend_omit_section_dynsym.
7330
05576f10
NC
73312004-06-21 Nick Clifton <[email protected]>
7332
7333 * coffcode.h (styp_to_sec_flags): Ignore IMAGE_SCN_MEM_NOT_PAGED
7334 flags.
7335
02d5a37b
JG
73362004-06-17 Jerome Guitton <[email protected]>
7337
7338 * bfd-in.h (bfd_cache_close_all): New function declaration.
7339 * bfd-in2.h: Regenerate.
7340 * cache.c (bfd_cache_close_all): New function definition.
7341
d2bef492
MK
73422004-06-16 Mark Kettenis <[email protected]>
7343
7344 * configure.in: Don't set COREFILE to trad-core.lo for FreeBSD
7345 4.10 and beyond.
7346 * configure: Regenerate.
7347
8528d62e
DJ
73482004-06-16 Daniel Jacobowitz <[email protected]>
7349
7350 * elf32-ppc.c (ppc_elf_create_linker_section): Create symbols in
7351 the pre-existing section.
7352
911d08a7
AM
73532004-06-15 Alan Modra <[email protected]>
7354
7355 * section.c (struct sec): Remove usused flags. Reorganize a little.
7356 (bfd_get_section_size_before_reloc): Delete.
7357 (bfd_get_section_size_after_reloc): Delete.
7358 (STD_SECTION): Update.
7359 (bfd_get_section_size_now): Delete.
7360 (bfd_set_section_contents): Don't referece reloc_done.
7361 (bfd_get_section_contents): Remove reloc_done comment.
7362 * bout.c (b_out_bfd_get_relocated_section_contents): Don't set
7363 reloc_done.
7364 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Likewise.
7365 * ecoff.c (bfd_debug_section): Update initializer.
7366 * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents): Ditto.
7367 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
7368 * bfd-in.h (bfd_section_size): Expand.
7369 (bfd_get_section_size): New macro.
7370 * bfd-in2.h: Regenerate.
7371 * coff64-rs6000.c (xcoff64_write_object_contents): Replace
7372 bfd_get_section_size_before_reloc with bfd_get_section_size.
7373 * coffcode.h (coff_write_object_contents): Likewise.
7374 * coffgen.c (build_debug_section): Likewise.
7375 * dwarf1.c (parse_line_table): Likewise.
7376 (_bfd_dwarf1_find_nearest_line): Likewise.
7377 * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
7378 * i386msdos.c (msdos_write_object_contents): Likewise.
7379 * pdp11.c (squirt_out_relocs): Likewise.
7380 * elf32-sh64.c (sh64_find_section_for_address): Remove comment.
7381 * elf64-mmix.c (mmix_elf_final_link): Update comment.
7382
092dcd75
CD
73832004-06-14 Chris Demetriou <[email protected]>
7384
7385 * elf32-mips.c (elf_mips_gnu_pcrel32): Add (undoing 2004-04-24
7386 removal) with updated comment.
7387 (bfd_elf32_bfd_reloc_type_lookup): Add back case for
7388 BFD_RELOC_32_PCREL.
7389 (mips_elf32_rtype_to_howto): Add back case for R_MIPS_PC32.
7390 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
7391
3ffa5234
AM
73922004-06-12 Alan Modra <[email protected]>
7393
7394 * elf64-x86-64.c (elf64_x86_64_relocate_section): Ignore reloc
7395 overflow on branches to undefweaks.
7396
e9edc808
MR
73972004-06-11 Maciej W. Rozycki <[email protected]>
7398
7399 * coff-alpha.c (alpha_relocate_section): Set used_by_bfd directly
7400 as ecoff_section_data() does not return a valid lvalue.
7401
a873f25a
AO
74022004-06-09 Alexandre Oliva <[email protected]>
7403
a9b881be
AO
7404 * elflink.c (elf_sort_symbol): Compare section id, not pointers.
7405 (elf_link_add_object_symbols): Likewise.
7406
a873f25a
AO
7407 * elf-m10300.c (_bfd_mn10300_elf_reloc_type_class): New.
7408 (elf_backend_reloc_type_class): New.
7409
eef0f186
MK
74102004-06-08 Mark Kettenis <[email protected]>
7411
7412 * configure.in (hppa*-*-netbsd*, hppa*-*-openbsd): Set COREFILE to
7413 netbsd-core.lo.
7414 * configure: Regenerate.
7415
822392ce
DJ
74162004-06-07 Daniel Jacobowitz <[email protected]>
7417
7418 From: Albert Chin-A-Young <[email protected]>
7419 * bfd/elf-bfd.h (struct eh_cie_fde): Convert unsigned char bitfields
7420 to unsigned int.
7421
9f2e92c5
L
74222004-05-29 H.J. Lu <[email protected]>
7423
7424 * elfxx-ia64.c (elfNN_ia64_relax_section): Undo the last
7425 change.
7426
dd90f1b2
DD
74272004-05-28 DJ Delorie <[email protected]>
7428
7429 * elf-m10300.c (mn10300_elf_relax_section): Preserve reloc addend
7430 for linking, but otherwise adjust reloc for merged sections.
7431
5dd23ec1
L
74322004-05-28 H.J. Lu <[email protected]>
7433
7434 * elfxx-ia64.c (elfNN_ia64_relax_section): Properly call
7435 _bfd_merged_section_offset for local symbols.
7436
f6f9408f
JR
74372004-05-28 Andrew Stubbs <[email protected]>
7438
7439 * Makefile.am: Regenerate dependencies.
7440 * Makefile.in: Regenerate.
7441 * archures.c: Add bfd_mach_sh3_nommu .
7442 * bfd-in2.h: Regenerate.
7443 * cpu-sh.c: Add sh3-nommu architecture.
7444 (bfd_to_arch_table): Create new table.
7445 (sh_get_arch_from_bfd_mach): Create new function.
7446 (sh_get_arch_up_from_bfd_mach): Create new function.
7447 (sh_merge_bfd_arch): Create new function.
7448 * elf32-sh.c (sh_ef_bfd_table): Add table.
7449 (sh_elf_check_relocs): Replace switch statement with
7450 use of sh_ef_bfd_table .
7451 (sh_elf_get_flags_from_mach): Add new function.
7452 (sh_find_elf_flags): Likewise.
7453 (sh_elf_copy_private_data): Replace most of non-elf contents
7454 with a call to sh_merge_bfd_arch() .
7455
d866f350
MC
74562004-05-27 Michael Chastain <[email protected]>
7457
7458 * Makefile.am (bfdver.h): Use explicit filename, not $< .
7459 * Makefile.in: Regenerate.
7460
1055df0f
AO
74612004-05-27 Alexandre Oliva <[email protected]>
7462
7463 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Avoid
7464 custom calling conventions for dynamic symbols.
7465 (mn10300_elf_relax_section): Avoid relaxing a function as a local
7466 symbol if it's an alias to a global one.
7467
b3096250
L
74682004-05-26 H.J. Lu <[email protected]>
7469
7470 * elf.c (_bfd_elf_make_section_from_shdr): Undo the last
7471 change.
7472
9bb351fd
AO
74732004-05-27 Alexandre Oliva <[email protected]>
7474
7475 * elf-m10300.c (mn10300_elf_relax_section): Don't test isym within
7476 loop over hashes.
7477
e49f5022
AM
74782004-05-26 Alan Modra <[email protected]>
7479
7480 * elf.c (_bfd_elf_make_section_from_shdr): Don't set SEC_EXCLUDE
7481 for SHT_GROUP sections.
7482
57ceae94
AM
74832004-05-25 Alan Modra <[email protected]>
7484
7485 * elflink.c (elf_link_add_object_symbols): Don't set up merge
7486 section data here..
7487 * elf.c (_bfd_elf_merge_sections): .. Do it here instead.
7488 * merge.c: Formatting. Remove unnecessary casts. Expand
7489 bfd_get_section_alignment macro.
7490 (struct sec_merge_sec_info): Rename "first" to "first_str". Update
7491 use throughout file.
7492 (_bfd_add_merge_section): Rename from _bfd_merge_section. Update
7493 comment. Abort on dynamic or non-SEC_MERGE input. Don't test
7494 section name to determine sinfo group, instead test output section
7495 and alignment.
7496 (_bfd_merge_sections): Add struct bfd_link_info param. Call
7497 _bfd_strip_section_from_output rather than just twiddling flags.
7498 * libbfd-in.h (_bfd_add_merge_section): Rename, update comment.
7499 (_bfd_merge_sections): Update prototype.
7500 * libbfd.h: Regenerate.
7501
c6f8758f 75022004-05-24 Mark Kettenis <[email protected]>
d34436e8
MK
7503
7504 * netbsd-core.c: Correctly indent section that sets architecture
7505 from machine ID.
7506
c6f8758f
NC
7507 From Miod Vallat <[email protected]>:
7508 * m88kopenbsd.c: New file.
7509 * targets.c (m88k_openbsd_vec): New.
7510 * config.bfd: Add m88k-*-openbsd*.
7511 * configure.in (m88k-*-openbsd*): Set COREFILE to netbsd-core.lo.
7512 (m88kopenbsd_vec): New.
7513 * configure: Regenerate.
7514 * Makefile.am (BFD32_BACKENDS): Add m88kopenbsd.lo.
7515 (BFD32_BACKENDS_CFILES): Add m88kopenbsd.c.
7516 Run "make dep-am".
7517 * Makefile.in: Regenerate.
7518 * po/SRC-POTFILES.in: Regenerate.
7519
7d7e6bc4
NC
75202004-05-24 Nick Clifton <[email protected]>
7521
7522 * hash.c: Remove bogus node "Changing the default Hash Table Size"
7523 introduced by hash table size patch.
7524
bc286f95
BE
75252004-05-22 Ben Elliston <[email protected]>
7526
7527 * configure.in (is_release): Remove.
7528 (bfd_version_date, bfd_version, bfd_version_string): Likewise.
7529 (AC_OUTPUT): Don't output bfdver.h from version.h.
7530 * configure: Regenerate.
7531 * Makefile.am (RELEASE): New variable.
7532 (bfdver.h): New target.
7533 * Makefile.in: Regenerate.
7534 * doc/Makefile.in: Likewise.
7535
8b89a4eb
BE
75362004-05-22 Ben Elliston <[email protected]>
7537
7538 * Makefile.am (config.status): Don't depend on version.h.
7539 * Makefile.in: Regenerate.
7540
753731ee
AM
75412004-05-22 Alan Modra <[email protected]>
7542
7543 * merge.c (_bfd_merged_section_offset): Remove "addend" param.
7544 * libbfd-in.h (_bfd_merged_section_offset): Adjust prototype.
7545 * libbfd.h: Regenerate.
7546 * elf.c (_bfd_elf_rela_local_sym): Adjust call.
7547 (_bfd_elf_rel_local_sym): Likewise.
7548 * elflink.c (_bfd_elf_link_sec_merge_syms): Likewise.
7549 (elf_link_input_bfd): Likewise.
7550 * elf32-ppc.c (ppc_elf_relax_section): Likewise.
7551 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
7552 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
7553 (elfNN_ia64_relocate_section): Likewise.
7554
2d643429
NC
75552004-05-21 Andy Chittenden <[email protected]>
7556
7557 * hash.c (bfd_default_hash_table_size): New variable.
7558 (bfd_hash_table_init): Use new variable instead of DEFAULT_SIZE.
7559 (bfd_hash_set_default_size): New function. Set the default size
7560 to a selected prime number close to the argument. Document new
7561 function.
7562 * bfd-in.h: Add prototype for bfd_hash_set_default_size.
7563 * bfd-in2.h: Regenerate.
7564 * Makefile.am (hash.lo): Add dependency upon libiberty.h.
7565 * Makefile.in: Regenerate.
7566
8377c19c
MK
75672004-05-21 Mark Kettenis <[email protected]>
7568
7569 * libaout.h (machine_type): Add M_88K_OPENBSD and M_HPPA_OPENBSD.
7570 * netbsd-core.c (netbsd_core_file_p): Set architecture for alpha,
7571 arm, m68k, m88k and hppa core files.
7572
69fd4758
NC
75732004-05-21 Nick Clifton <[email protected]>
7574
7575 * bfdio.c (bfd_bread): Do not use iovec if it is NULL.
7576 (bfd_bwrite): Likewise.
7577 (bfd_tell): Likewise.
7578 (bfd_flush): Likewise.
7579 (bfd_stat): Likewise.
7580 (bfd_seek): Likewise.
7581 (bfd_get_mtime): Likewise.
7582 (bfd_get_size): Likewise.
7583
cd917290
BE
75842004-05-19 Ben Elliston <[email protected]>
7585
7586 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Comment correction.
7587
1b09e940
NC
75882004-05-19 Mikulas Patocka <[email protected]>
7589
7590 * archive.c (_bfd_get_elt_at_filepos): Cope with a nested archives.
7591 (bfd_generic_openr_next_archived_file): Likewise.
7592
096c35a7
BW
75932004-05-17 Bob Wilson <[email protected]>
7594
7595 * elf32-xtensa.c (xtensa_get_property_section_name): Determine linkonce
7596 section names by inserting a new substring after .gnu.linkonce, except
7597 for .gnu.linkonce.t.* where the "t." is replaced.
7598
eea6121a 75992004-05-17 Adam Nemet <[email protected]>
b2d65c0b
NC
7600
7601 * config.bfd (sparc-*-lynxos* case): Add to obsolete list.
7602 (m68-*-lynxos* case): Likewise.
7603 (powerpc-*-lyxnos* case): New case.
7604 (i[3-7]86-*-lynxos* case): Update to LynxOS 4.0 ELF.
7605
80fccad2
BW
76062004-05-17 David Heine <[email protected]>
7607
7608 * aout-target.h (MY_bfd_copy_private_header_data): Define.
7609 * aout-tic30.c (MY_bfd_copy_private_header_data): Define.
7610 * bfd.c (bfd_copy_private_header_data): Define.
7611 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Add entries for new
7612 interface.
7613 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
7614 * coffcode.h (coff_bfd_copy_private_header_data): Define.
7615 * elf-bfd.h (_bfd_elf_copy_private_header_data): Declare.
7616 * elf.c (_bfd_elf_copy_private_section_data): Remove code to set up
7617 segments by calling copy_private_bfd_data.
7618 (_bfd_elf_copy_private_header_data): Define.
7619 * elfxx-target.h (bfd_elfNN_bfd_copy_private_header_data): Define.
7620 * libbfd-in.h (_bfd_generic_bfd_copy_private_header_data): Define.
7621 * libecoff.h (_bfd_ecoff_bfd_copy_private_header_data): Define.
7622 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Define.
7623 * mmo.c (mmo_bfd_copy_private_header_data): Define.
7624 * ppcboot.c (ppcboot_bfd_copy_private_header_data): Define.
7625 * som.c (som_bfd_copy_private_header_data): Define.
7626 * targets.c (BFD_JUMP_TABLE_COPY): Add _bfd_copy_private_header_data.
7627 * vms.c (vms_bfd_copy_private_header_data): Define.
7628 * bfd-in2.h: Regenerate.
7629 * libbfd.h: Regenerate.
7630
c5ae1840
TS
76312004-05-15 Thiemo Seufer <[email protected]>
7632
7633 * elfxx-mips.c (MINUS_TWO): Define.
7634 (mips_elf_higher, mips_elf_highest,
7635 mips_elf_create_dynamic_relocation): Use MINUS_ONE and MINUS_TWO for
7636 some bfd_vma values.
7637 (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Code cleanup.
7638
a99cf92b
DA
76392004-05-14 John David Anglin <[email protected]>
7640
7641 * som.c (log2): Rename to exact_log2. Adjust all callers.
7642
0da76f83
NC
76432004-05-13 Paul Brook <[email protected]>
7644
c273895f 7645 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle
336b9722
NC
7646 dwarf3 format CIE entries. Remove comment about the size of the
7647 ra_column field. It is now correctly deduced.
0da76f83 7648
4b363073
NC
76492004-05-13 Joel Sherrill <[email protected]>
7650
7651 * config.bfd (or32-*-rtems*): Switch to elf.
7652
9598fbe5
NC
76532004-05-13 Nick Clifton <[email protected]>
7654
7655 * po/fr.po: Updated French translation.
7656
8c37241b
JJ
76572004-05-11 Jakub Jelinek <[email protected]>
7658
0306b3bf 7659 * elflink.c (bfd_elf_final_link): Don't output STT_SECTION symbol
8c37241b
JJ
7660 into .dynsym if elf_section_data (sec)->dynindx <= 0.
7661 Adjust counting of last_local.
7662 (_bfd_elf_link_renumber_dynsyms): Don't assign dynindx to sections
7663 other than SHT_PROGBITS/SHT_NOBITS and neither for .got/.got.plt/.plt
7664 created by the linker nor !SHF_ALLOC.
7665
7666 * elf32-i386.c (elf_i386_finish_dynamic_sections): Point
7667 DT_PLTGOT to the start of the .got.plt section instead of the
7668 .got output section. Set sh_entsize for .got section in addition
7669 to .got.plt.
7670 (elf_i386_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
7671 is at sgot->output_section->vma.
7672 * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Point
7673 DT_PLTGOT to the start of the .got.plt section instead of the
7674 .got output section.
7675 (elf64_x86_64_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
7676 is at sgot->output_section->vma. Set sh_entsize for .got section
7677 in addition to .got.plt.
7678 * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_RELRO.
7679 (bfd_section_from_phdr): Likewise.
7680 (map_sections_to_segments): Likewise.
7681 (assign_file_positions_for_segments): Likewise.
7682 (get_program_header_size): Likewise.
7683 * elflink.c (bfd_elf_size_dynamic_sections): Set
7684 elf_tdata (output_bfd)->relro from info->relro.
7685 * elf-bfd.h (struct elf_obj_tdata): Add relro field.
7686
3f980e41
AO
76872004-05-08 Alexandre Oliva <[email protected]>
7688
7689 * elf32-frv.c (_frvfdpic_add_dyn_reloc): Don't warn when we get
7690 a zero symndx for which we hadn't accounted a dynamic relocation.
7691 (_frvfdpic_add_rofixup): Likewise.
7692
d70270c5 76932004-05-07 Brian Ford <[email protected]>
eea6121a 7694 DJ Delorie <[email protected]>
d70270c5
BF
7695
7696 * coffcode.h (coff_write_object_contents) [COFF_IMAGE_WITH_PE]:
7697 Propagate IMAGE_FILE_LARGE_ADDRESS_AWARE.
7698 * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Recognize
7699 IMAGE_FILE_LARGE_ADDRESS_AWARE. Use PE defines.
7700
7e9f3bd6
AO
77012004-05-07 Alexandre Oliva <[email protected]>
7702
7703 * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Return
7704 immediately if there's no link info.
7705 (elf32_frvfdpic_copy_private_bfd_data): New.
7706 (bfd_elf32_bfd_copy_private_bfd_data): Use it for frvfdpic.
7707
eb61d2d6
ZW
77082004-05-06 Zack Weinberg <[email protected]>
7709
7710 * dwarf2.c (add_line_info): Also set info->filename to NULL if
7711 filename argument is null; do not call strlen on a null pointer.
7712
ecb2d096
DJ
77132004-05-06 Daniel Jacobowitz <[email protected]>
7714
7715 * elf32-arm.h (elf32_arm_relocate_section): Remove R_ARM_PLT32
7716 special case.
7717
43850d5b
AO
77182004-05-05 Alexandre Oliva <[email protected]>
7719
7720 * configure.in (bfd_elf32_frvfdpic_vec): New.
7721 * configure: Rebuilt.
7722 * targets.c (bfd_elf32_frvfdpic_vec): New.
7723 * config.bfd: Enable it on frv-*-elf and frv-*-*linux*, as default
7724 on the latter.
7725 * elf32-frv.c: Prefix all identifiers added for FDPIC support with
7726 frvfdpic instead of frv. Rearrange elf-target macros such that
7727 the FDPIC-specific ones are only defined for this new target
7728 vector.
7729 (bfd_elf32_frvfdpic_vec): Declare.
7730 (IS_FDPIC): New.
7731 (elf32_frv_relocate_section): Use it to enable segment checking
7732 and to control rofixup emission. Add output section vma to
7733 applied relocation in non-LOAD non-ALLOC sections. Use
7734 _bfd_error_handler for errors.
7735 (_frv_create_got_section): Create .rel.got and .rofixup only in
7736 FDPIC. Create non-dynamic _gp at .got+2048 in non-FDPIC, like the
7737 linker script.
7738 (elf32_frvfdpic_size_dynamic_sections): Assume FDPIC.
7739 (elf32_frvfdpic_modify_segment_map): Likewise.
7740 (elf32_frv_finish_dynamic_sections): New, do-nothing.
7741 (elf32_frvfdpic_finish_dynamic_sections): Assume FDPIC. Improve
7742 error message if we miscompute the rofixup size.
7743 (frvfdpic_elf_use_relative_eh_frame): Assume FDPIC.
7744 (frvfdpic_elf_encode_eh_address): Likewise.
7745 (elf32_frv_check_relocs): Reject FDPIC-only relocs in non-FDPIC.
7746 Record relocs only in FDPIC. Make sure _gp is defined for GPREL
7747 relocs. Reject unknown relocation types.
7748 (elf32_frv_object_p): Make sure target vector matches FDPIC bits.
7749 (frv_elf_merge_private_bfd_data): Likewise.
7750 (ELF_MAXPAGESIZE): Revert to 0x1000 for elf32-frv; keep it as
7751 0x4000 for newly-added elf32-frvfdpic.
7752
06fc8a8c
NC
77532004-05-05 Nick Clifton <[email protected]>
7754
7755 PR/136
7756 * cache.c (bfd_cache_lookup_worker): Call abort() rather than
7757 returning NULL as most users of this function do not check its
7758 return value.
33216455
NC
7759 * hppabsd-core.c (hppabsd_core_core_file_p): Do not check result
7760 of bfd_cache_lookup().
7761 * sco5-core.c (sco5_core_file_p): Likewise.
7762 * trad-core.c (trad_unix_core_file_p): Likewise.
06fc8a8c
NC
7763
77642004-05-05 Nick Clifton <[email protected]>
7765
7766 * cache.c (bfd_cache_lookup): Improve formatting.
7767 * archive.c: Fix formatting.
7768
6b6e92f4
NC
77692004-05-05 Peter Barada <[email protected]>
7770
7771 * bfd_archures.c(bfd_architecture): Add 521x,5249,547x,548x.
7772 * cpu-m68k.c(bfd_m68k_arch): Likewise.
7773 * bfd-in2.h(bfd_architecture): Regenerate.
7774
6a8d1586
AM
77752004-05-03 Alan Modra <[email protected]>
7776
7777 * elf.c (_bfd_elf_rela_local_sym): Set kept_section for excluded
7778 SEC_MERGE sections.
7779 * elflink.c (elf_link_input_bfd): Adjust output reloc index for
7780 those against discarded link-once and SEC_MERGE section symbols.
7781
fafe6678
L
77822004-05-02 H.J. Lu <[email protected]>
7783
7784 * section.c (bfd_get_section_by_name_if): New.
7785 * bfd-in2.h: Regenerated.
7786
ad7b9a36
AM
77872004-05-02 Alan Modra <[email protected]>
7788
7789 * som.c (som_bfd_is_group_section): Define.
7790
73499ab8
AM
77912004-05-01 Alan Modra <[email protected]>
7792
7793 * section.c (bfd_make_section_anyway): Copy the whole
7794 bfd_hash_entry, not just "next" from existing entry.
7795
45c5e9ed
L
77962004-04-30 H.J. Lu <[email protected]>
7797
7798 * elf.c (bfd_section_from_shdr): Maintain the section order in
7799 a section group.
7800 (special_sections): Add ".note.GNU-stack".
7801 (elf_fake_sections): Handle section group for relocatable
7802 link..
7803
bc87dd2e
L
78042004-04-30 H.J. Lu <[email protected]>
7805
7806 * section.c (bfd_sections_find_if): New.
7807 * bfd-in2.h: Regenerated.
7808
72adc230
AM
78092004-04-30 Alan Modra <[email protected]>
7810
7811 * section.c (bfd_make_section_anyway): Add all sections to hash tab.
7812
7813 * elf-bfd.h (bfd_elf_is_group_section): Declare.
7814 * elf.c (bfd_elf_is_group_section): New function.
7815 * elfxx-target.h (bfd_elfNN_bfd_is_group_section
7816 * section.c (bfd_generic_is_group_section): New function.
7817 * targets.c (struct bfd_target): Add _bfd_is_group_section field.
7818 (BFD_JUMP_TABLE_LINK): Adjust.
7819 * aout-adobe.c (aout_32_bfd_is_group_section): Define.
7820 * aout-target.h (MY_bfd_is_group_section): Define.
7821 * aout-tic30.c (MY_bfd_is_group_section): Define.
7822 * bfd.c (bfd_is_group_section): Define.
7823 * binary.c (binary_bfd_is_group_section): Define.
7824 * bout.c (b_out_bfd_is_group_section): Define.
7825 * coff-alpha.c (_bfd_ecoff_bfd_is_group_section): Define.
7826 * coff-mips.c (_bfd_ecoff_bfd_is_group_section): Define.
7827 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Adjust.
7828 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Adjust.
7829 * coffcode.h (coff_bfd_is_group_section): Define.
7830 * i386msdos.c (msdos_bfd_is_group_section): Define.
7831 * i386os9k.c (os9k_bfd_is_group_section): Define.
7832 * ieee.c (ieee_bfd_is_group_section): Define.
7833 * ihex.c (ihex_bfd_is_group_section): Define.
7834 * libbfd-in.h (_bfd_nolink_bfd_is_group_section): Define.
7835 * mach-o.c (bfd_mach_o_bfd_is_group_section): Define.
7836 * mmo.c (mmo_bfd_is_group_section): Define.
7837 * nlm-target.h (nlm_bfd_is_group_section): Define.
7838 * oasys.c (oasys_bfd_is_group_section): Define.
7839 * pef.c (bfd_pef_bfd_is_group_section): Define.
7840 * ppcboot.c (ppcboot_bfd_is_group_section): Define.
7841 * srec.c (srec_bfd_is_group_section): Define.
7842 * tekhex.c (tekhex_bfd_is_group_section): Define.
7843 * versados.c (versados_bfd_is_group_section): Define.
7844 * vms.c (vms_bfd_is_group_section): Define.
7845 * xsym.c (bfd_sym_bfd_is_group_section): Define.
7846 * bfd-in2.h: Regenerate.
7847 * libbfd.h: Regenerate.
7848
20f0a1ad
AM
78492004-04-30 Alan Modra <[email protected]>
7850
7851 * elflink.c (elf_gc_mark): Follow indirect and warning syms.
7852
f7458fc9 78532004-04-30 Hans-Peter Nilsson <[email protected]>
7dfb3b6b
HPN
7854
7855 * configure.in: Update version to 2.15.91.
7856 * configure: Regenerate.
7857
8a7140c3
NC
78582004-04-29 Brian Ford <[email protected]>
7859
7860 * bfd.c (bfd_get_sign_extend_vma): Add pe[i]-i386 case to DJGPP hack.
7861 * coffcode.h (DOT_DEBUG, GNU_LINKONCE_WI): Define.
7862 [!COFF_WITH_PE] (sec_to_styp_flags, styp_to_sec_flags): Use them.
7863 (coff_compute_section_file_positions) [RS6000COFF_C]: Likewise.
7864 [COFF_WITH_PE] (sec_to_styp_flags): Handle DWARF 2/3 .debug* and
7865 .gnu.linkonce.wi. sections.
7866 * pe-i386.c (COFF_SUPPORT_GNU_LINKONCE): Define.
7867 (COFF_SECTION_ALIGNMENT_ENTRIES): Add entries for .debug and
7868 .gnu.linkonce.wi..
7869 * pei-i386.c (COFF_SUPPORT_GNU_LINKONCE): Likewise.
7870 (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
7871
3e722fb5
CD
78722004-04-28 Chris Demetriou <[email protected]>
7873
7874 * reloc.c: Remove BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
7875 * bfd-in2.h: Regenerate.
7876 * libbfd.h: Likewise.
7877
351e2b5a
DA
78782004-04-28 John David Anglin <[email protected]>
7879
7880 * som.c (struct som_misc_symbol_info): Add is_comdat, is_common and
7881 dup_common fields.
7882 (setup_sections): Use som_subspace_dictionary_record struct instead
7883 subspace_dictionary_record. Set SEC_LINK_ONCE if subspace is
7884 is_comdat, is_common or dup_common.
7885 (som_prep_headers): Use som_subspace_dictionary_record struct. Set
7886 is_comdat, is_common and dup_common in section subspace_dict from
7887 copy_data.
7888 (som_begin_writing): Use som_subspace_dictionary_record struct.
7889 (som_finish_writing): Likewise.
7890 (som_bfd_derive_misc_symbol_info): Add support to set is_comdat,
7891 is_common and dup_common flags in info for symbol. Add comment
7892 regarding linker support for these fields. Slightly reorganize
7893 function.
7894 (som_build_and_write_symbol_table): Set is_comdat, is_common and
7895 dup_common fields in symbol table from symbol info.
7896 (bfd_som_set_subsection_attributes): Add comdat, common and dup_common
7897 arguments. Set corresponding fields in copy_data. Change all callers.
7898 (som_bfd_ar_write_symbol_stuff): Set dup_common flag in library
7899 symbol table.
7900 (som_vec): Add SEC_LINK_ONCE to applicable section flags.
7901 * som.h (som_subspace_dictionary_record): Define.
7902 (som_copyable_section_data_struct): Add is_comdat, is_common and
7903 dup_common fields.
7904 (som_section_data_struct): Use som_subspace_dictionary_record struct
7905 instead of subspace_dictionary_record.
7906 (bfd_boolean bfd_som_set_subsection_attributes): Adjust prototype.
7907
3ba3bc8c
BW
79082004-04-27 Bob Wilson <[email protected]>
7909
7910 * elf32-xtensa.c (xtensa_read_table_entries): Use section _cooked_size
7911 if set. Check reloc_done flag before applying relocations. Use
7912 output addresses, both when applying relocations and when comparing
7913 against the specified section.
7914 (elf_xtensa_relocate_section): Use output address to check if dynamic
7915 reloc is in a literal pool. Set section's reloc_done flag.
7916
beb8df56
L
79172004-04-27 H.J. Lu <[email protected]>
7918
7919 * elf32-sh64.c (elf_backend_section_flags): New. Defined.
7920 (sh64_elf_set_mach_from_flags): Remove the kludge for .cranges
7921 section.
7922 (sh64_elf_section_flags): New. Set SEC_DEBUGGING for .cranges
7923 section.
7924
1829f4b2
AM
79252004-04-27 Alan Modra <[email protected]>
7926
7927 * elf64-alpha.c (elf64_alpha_read_ecoff_info): Don't assign
7928 structure field removed in 2004-04-24 patch.
7929 * elf64-sparc.c (sparc64_elf_plt_sym_val): Warning fix.
7930
7931 * elf-bfd.h (struct elf_backend_data <elf_backend_section_flags>):
7932 Constify hdr arg.
7933 * elf32-arm.h (elf32_arm_section_flags): Likewise.
7934 * elf64-alpha.c (elf64_alpha_section_flags): Likewise.
7935 * elfxx-ia64.c (elfNN_ia64_section_flags): Likewise.
7936 * elf.c (_bfd_elf_make_section_from_shdr): Set the bfd_section
7937 field before calling elf_backend_section_flags.
7938
4030e8f6
CD
79392004-04-24 Chris Demetriou <[email protected]>
7940
7941 * elf32-mips.c (elf_mips_gnu_rel_hi16, elf_mips_gnu_rel_lo16)
7942 (elf_mips_gnu_pcrel64, elf_mips_gnu_pcrel32): Remove.
7943 (bfd_elf32_bfd_reloc_type_lookup): Remove cases for
7944 BFD_RELOC_PCREL_HI16_S, BFD_RELOC_PCREL_LO16, BFD_RELOC_64_PCREL,
7945 and BFD_RELOC_32_PCREL.
7946 (mips_elf32_rtype_to_howto): Remove cases for R_MIPS_GNU_REL_HI16,
7947 R_MIPS_GNU_REL_LO16, R_MIPS_PC64, R_MIPS_PC32.
7948 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
7949 (_bfd_mips_elf_lo16_reloc): Remove handling for R_MIPS_GNU_REL_HI16.
7950 (mips_elf_next_relocation): Move comment about matching HI/LO
7951 relocations to...
7952 (_bfd_mips_elf_relocate_section): Here. Remove handling for
7953 R_MIPS_GNU_REL_HI16.
7954
3e27568f
CD
79552004-04-23 Chris Demetriou <[email protected]>
7956
7957 * coff-mips.c (mips_relhi_reloc, mips_rello_reloc)
7958 (mips_switch_reloc, mips_read_relocs, mips_relax_section)
7959 (mips_relax_pcrel16, PCREL16_EXPANSION_ADJUSTMENT): Remove.
7960 (mips_relocate_hi): Remove now-unused 'adjust' and 'pcrel' arguments,
7961 and update comments to reflect current usage.
7962 (mips_howto_table): Remove entries for MIPS_R_RELHI, MIPS_R_RELLO,
7963 and MIPS_R_SWITCH, as well as several empty entries. Update comment
7964 for MIPS_R_PCREL16.
7965 (mips_ecoff_swap_reloc_in, mips_ecoff_swap_reloc_out)
7966 (mips_adjust_reloc_out, mips_bfd_reloc_type_lookup): Remove support
7967 for MIPS_R_SWITCH, MIPS_R_RELLO, and MIPS_R_RELHI relocations.
7968 (mips_adjust_reloc_in): Likewise, adjust maximum accepted relocation
7969 type number to be MIPS_R_PCREL16.
7970 (mips_relocate_section): Remove support for link-time relaxation
7971 of branches used by embedded-PIC. Remove support for MIPS_R_SWITCH,
7972 MIPS_R_RELLO, and MIPS_R_RELHI relocations.
7973 (_bfd_ecoff_bfd_relax_section): Redefine to bfd_generic_relax_section.
7974 * ecoff.c (ecoff_indirect_link_order): Remove support for link-time
7975 relaxation of branches used by embedded-PIC.
7976 * ecofflink.c (bfd_ecoff_debug_accumulate): Likewise.
7977 * libecoff.h (struct ecoff_section_tdata): Remove embedded-PIC
7978 related members, update comment.
7979 * pe-mips.c: Remove disabled (commented-out and #if 0'd)
7980 code related to embedded-PIC.
7981 * elfxx-mips.c (_bfd_mips_elf_read_ecoff_info): Remove
7982 initialization of now-removed 'adjust' member of
7983 'struct ecoff_debug_info'.
7984
b32de0bc 79852004-04-23 Chris Demetriou <[email protected]>
8472310d
CD
7986
7987 * elfxx-mips.c (mips_elf_get_global_gotsym_index): Remove.
7988
955af222
PB
79892004-04-21 Philip Blundell <[email protected]>
7990
7991 * elf32-arm.h (elf32_arm_check_relocs): Don't output REL32
7992 relocs for locally defined symbols during -shared final link.
7993 (elf32_arm_final_link_relocate): Likewise.
7994
47a9f7b3
JJ
79952004-04-22 Jakub Jelinek <[email protected]>
7996
7997 * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Copy also
7998 ELF_LINK_POINTER_EQUALITY_NEEDED.
7999 (elf64_x86_64_check_relocs): Set ELF_LINK_POINTER_EQUALITY_NEEDED
8000 if r_type is not R_X86_64_PC32.
8001 (elf64_x86_64_finish_dynamic_symbol): If
8002 ELF_LINK_POINTER_EQUALITY_NEEDED is not set, clear st_value of
8003 SHN_UNDEF symbols.
8004
1f1799d5
KK
80052004-04-22 Kaz Kojima <[email protected]>
8006
8007 * elf32-sh.c (sh_elf_plt_sym_val): New function.
8008 (elf_backend_plt_sym_val): Define.
8009
0fdea5ce
AC
80102004-04-22 Andrew Cagney <[email protected]>
8011
8012 * opncls.c (bfd_alloc): Fix type of "wanted" in doco.
8013
5198ba8b
DA
80142004-04-22 John David Anglin <[email protected]>
8015
eb61d2d6 8016 * hpux-core.c (hpux_core_core_file_p): Add cast in call to
5198ba8b
DA
8017 make_bfd_asection.
8018 * som.c (som_set_section_contents): Constantify second argument.
8019 (hppa_som_gen_reloc_type): Abort for unsupported selectors.
8020 (som_object_setup): Rework to avoid warning.
8021 (setup_sections, som_write_fixups, bfd_section_from_som_symbol):
8022 Likewise.
8023
fe2e161a
AC
80242004-04-22 Andrew Cagney <[email protected]>
8025
8026 * cache.c (bfd_cache_close): Check for a previously closed file.
8027
4c45e5c9
JJ
80282004-04-22 Jakub Jelinek <[email protected]>
8029
8030 * bfd.c (bfd_get_synthetic_symtab): Define.
8031 * targets.c (BFD_JUMP_TABLE_DYNAMIC): Add
8032 NAME##_get_synthetic_symtab.
8033 (struct bfd_target): Add _bfd_get_synthetic_symtab.
8034 * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Define.
8035 * elf-bfd.h (struct elf_backend_data): Add plt_sym_val and
8036 relplt_name fields.
8037 (_bfd_elf_get_synthetic_symtab): New prototype.
8038 * elfcode.h (elf_get_synthetic_symtab): Define.
8039 * elf.c (_bfd_elf_get_synthetic_symtab): New function.
8040 * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Define.
8041 (elf_backend_plt_sym_val, elf_backend_relplt_name): Define.
8042 (elfNN_bed): Add elf_backend_plt_sym_val and elf_backend_relplt_name.
8043 * bfd-in2.h: Rebuilt.
8044 * libbfd.h: Rebuilt.
8045 * elf32-i386.c (elf_i386_plt_sym_val): New function.
8046 (elf_backend_plt_sym_val): Define.
8047 * elf64-x86-64.c (elf64_x86_64_plt_sym_val): New function.
8048 (elf_backend_plt_sym_val): Define.
8049 * elf32-s390.c (elf_s390_plt_sym_val): New function.
8050 (elf_backend_plt_sym_val): Define.
8051 * elf64-s390.c (elf_s390_plt_sym_val): New function.
8052 (elf_backend_plt_sym_val): Define.
8053 * elf32-sparc (elf32_sparc_plt_sym_val): New function.
8054 (elf_backend_plt_sym_val): Define.
8055 * elf64-sparc.c (sparc64_elf_plt_sym_val): New function.
8056 (elf_backend_plt_sym_val): Define.
8057 * elf32-ppc.c (ppc_elf_plt_sym_val): New function.
8058 (elf_backend_plt_sym_val): Define.
8059 * aout-target.h (MY_get_synthetic_symtab): Define.
8060 * aout-tic30.c (MY_get_synthetic_symtab): Define.
8061 * coff-rs6000.c (rs6000coff_vec): Add
8062 _bfd_nodynamic_get_synthetic_symtab.
8063 (pmac_xcoff_vec): Likewise.
8064 * coff64-rs6000.c (rs6000coff64_vec): Add
8065 _bfd_nodynamic_get_synthetic_symtab.
8066 (aix5coff64_vec): Likewise.
8067 * sunos.c (MY_get_synthetic_symtab): Define.
8068 * vms.c (vms_get_synthetic_symtab): Define.
8069
d2f7ecac
NC
80702004-04-22 Nick Clifton <[email protected]>
8071
8072 * bfd.c (bfd_archive_filename): Return NULL on NULL input.
8073
fd99574b
NC
80742004-04-22 Peter Barada <[email protected]>
8075
8076 * archures.c: Add bfd_mach_mcfv4e to bfd_architecture.
8077 * bfd2-in.h: Regenerate.
8078 * cpu-m68k.c: Add 'm68k:mcfv4e' to arch_info_struct[].
8079
23867d67
CD
80802004-04-21 Chris Demetriou <[email protected]>
8081
8082 * coff-mips.c (bfd_mips_ecoff_create_embedded_relocs): Remove.
8083 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Remove.
8084 * bfd-in.h (bfd_mips_ecoff_create_embedded_relocs)
8085 (bfd_mips_elf32_create_embedded_relocs): Remove prototypes
8086 * bfd-in2.h: Regenerate.
8087
2c8c90bc
BW
80882004-04-21 Bob Wilson <[email protected]>
8089
8090 * elf32-xtensa.c (is_same_value): Add final_static_link argument and
8091 require relocations against a weak symbol to reference the same
8092 symbol hash entry if not a final, static link.
8093 (get_cached_value, add_value_map): Add final_static_link argument.
8094 (remove_literals): Pass final_static_link argument as needed.
8095
40838a72
AC
80962004-04-21 Andrew Cagney <[email protected]>
8097
8098 * opncls.c (_bfd_new_bfd_contained_in): Copy "iovec".
8099 (struct opncls, opncls_btell, opncls_bseek, opncls_bread)
8100 (opncls_bwrite, opncls_bclose, opncls_bflush)
8101 (opncls_bstat, opncls_iovec, bfd_openr_iovec): Implement a
8102 bfd iovec that uses function callbacks.
8103 (bfd_close): Use the iovec's bclose.
8104 * cache.c (cache_btell, cache_bseek, cache_bread, cache_bwrite)
8105 (cache_bclose, cache_bflush, cache_bstat)
8106 (cache_iovec): New functions and global variable, implement a
8107 cache "iovec", where applicable set bfd_error.
8108 (bfd_cache_init, bfd_cache_close): Set/test the bfd's iovec.
8109 * bfdio.c (struct bfd_iovec): Define.
8110 (real_read): Delete function.
8111 (bfd_bread, bfd_bread, bfd_bwrite, bfd_tell, bfd_flush, bfd_stat)
8112 (bfd_seek, bfd_get_mtime, bfd_get_size): Use the bfd's "iovec",
8113 assume that bread and bwrite set bfd_error.
8114 * bfd.c (struct bfd): Add "iovec", update comments.
8115 * bfd-in2.h, libbfd.h: Re-generate.
8116
7f919c84
AC
81172004-04-21 Andrew Cagney <[email protected]>
8118
8119 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
8120
715df9b8
EB
81212004-04-21 Eric Botcazou <[email protected]>
8122
8123 * elflink.c (elf_gc_mark_dynamic_ref_symbol): New function.
8124 (bfd_elf_gc_sections): Fail if a shared object is being created.
8125 Do not fail if dynamic sections have been created. Instead call
8126 elf_gc_mark_dynamic_ref_symbol to mark sections that contain
8127 dynamically referenced symbols. Do not mark the whole graph
8128 rooted at .eh_frame, only the section proper.
8129
6482c264
NC
81302004-04-20 DJ Delorie <[email protected]>
8131
8132 * reloc.c: Add BFD_RELOC_32_SECREL.
8133 * bfd-in2.h: Regenerate.
8134 * libbfd.h: Likewise.
8135 * coff-i386.c (howto_table) [COFF_WITH_PE]: Add R_SECREL32.
8136 (coff_i386_rtype_to_howto) [COFF_WITH_PE]: Handle it.
8137 (coff_i386_reloc_type_lookup) [COFF_WITH_PE]: Likewise.
8138
4dc570c2
JJ
81392004-04-19 Jakub Jelinek <[email protected]>
8140
8141 * elf32-sparc.c (elf32_sparc_relocate_section): Handle
8142 relocs against hidden/protected undefweak symbols properly.
8143 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
8144
0b60d5d3
MK
81452004-04-18 Mark Kettenis <[email protected]>
8146
8147 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
8148 * netbsd-core.c (netbsd_core_file_p): Set architecture for PowerPC
8149 core files.
8150
d48bdb99
AM
81512004-04-17 Brian Ford <[email protected]>
8152
8153 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the first non-zero
8154 filepos for the SizeOfHeaders field.
8155 (_bfd_XXi_swap_scnhdr_out): Correct section flags lossage on reloc
8156 overflow.
8157 (_bfd_XXi_swap_sym_in): Remove redundant section flags assignment.
8158
57a1784e
AM
81592004-04-16 Alan Modra <[email protected]>
8160
8161 * simple.c (bfd_simple_get_relocated_section_contents): Don't
8162 change reloc_done. Set and restore _cooked_size.
8163 (RETURN): Delete.
8164
d1ad3f6f
MK
81652004-04-15 Mark Kettenis <[email protected]>
8166
8167 * netbsd-core.c (netbsd_core_file_p): Set architecture for VAX
8168 core files.
8169
3d1bca9d
NC
81702004-04-15 Nick Clifton <[email protected]>
8171
8172 * bfd.c (bfd_archive_filename): Catch NULL bfd pointers.
8173
019b892f
AM
81742004-04-15 Alan Modra <[email protected]>
8175
8176 * elf64-sparc.c (sparc64_elf_check_relocs): Fix thinko last change.
8177
15b43f48
AM
81782004-04-15 H.J. Lu <[email protected]>
8179
8180 * elflink.c (_bfd_elf_merge_symbol): Treat weak as strong only
8181 when it is a definition.
8182
6de00a78
AM
81832004-04-14 Alan Modra <[email protected]>
8184
8185 * elf32-sparc.c (elf32_sparc_relocate_section): Don't abort
8186 when statically linking PIC code.
8187 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
8188
279500de
TS
81892004-04-11 Thiemo Seufer <[email protected]>
8190
8191 * config.bfd: Remove mips*-*-mach3* and mips*-dec-mach3* targets.
8192 * configure.in: Remove mips-dec-bsd*, mips-dec-mach3*, mips-*-mach3*
8193 targets amd aout_mips_big_vec, aout_mips_little_vec target vectors.
8194 * configure: Regenerate.
8195
ccf2f652
RS
81962004-04-08 Richard Sandiford <[email protected]>
8197
8198 * elflink.c: Include libiberty.h.
8199 * Makefile.am (elflink.lo): Depend on libiberty.h.
8200 * Makefile.in: Regenerate.
8201
ca07892d
DJ
82022004-04-06 Daniel Jacobowitz <[email protected]>
8203
8204 * elfxx-mips.c (MIPS_ELF_STUB_SECTION_NAME): Always use
8205 ".MIPS.stubs".
8206
a5a58ba4
L
82072004-04-05 H.J. Lu <[email protected]>
8208
8209 * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Always
8210 reserve the memory for dynamic linker
8211
24d18d30
MK
82122004-04-05 Mark Kettenis <[email protected]>
8213
8214 * netbsd-core.c (CORE_WCOOKIE_OFFSET): New define.
8215 (netbsd_core_file_p): Create a .wcookie section for OpenBSD/sparc.
8216
a4d7b4b5
L
82172004-04-02 H.J. Lu <[email protected]>
8218
8219 * elf32-cr16c.c (elf32_cr16c_relocate_section): Use
8220 RELOC_FOR_GLOBAL_SYMBOL.
8221 (elf32_cr16c_add_symbol_hook): Remove const from Elf_Internal_Sym.
8222
1f433d93
L
82232004-04-02 H.J. Lu <[email protected]>
8224
8225 * elf32-arm.h (elf32_arm_final_link_relocate): Handle
8226 R_ARM_ALU* only if OLD_ARM_ABI is not defined.
8227
e489d0ae
PB
82282004-04-01 Paul Brook <[email protected]>
8229
8230 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update.
8231 * elf32-arm.h (struct elf32_elf_section_map): New.
8232 (struct _arm_elf_section_data): New.
8233 (elf32_arm_section_data): Define.
8234 (struct elf32_arm_link_hash_table): Add byteswap_code.
8235 (elf32_arm_link_hash_table_create): Initialize byteswap_code.
8236 (bfd_elf32_arm_process_before_allocation): Add byteswap_code.
8237 (elf32_arm_post_process_headers): Set EF_ARM_BE8.
8238 (elf32_arm_output_symbol_hook, elf32_arm_new_section_hook,
8239 elf32_arm_compare_mapping, elf32_arm_write_section): New functions.
8240 (bfd_elf32_new_section_hook, elf_backend_write_section,
8241 elf_backend_link_output_symbol_hook): Define.
8242
66a695f0
NC
82432004-04-01 Andy Chittenden <[email protected]>
8244
8245 * stabs.c (struct stab_link_includes_totals): Add field 'symb'
8246 that keeps the characters in a B_INCL..B_EINCL range.
8247 (_bfd_link_section_stabs): When computing the sum of the
8248 characters in a B_INCL..B_EINCL range also keep a copy of those
8249 characters. Use this information to distinguish between
8250 include sections that have the same sum and the same length
8251 but which are nevertheless unique.
8252
8375c36b
PB
82532004-03-31 Paul Brook <[email protected]>
8254
8255 * elf32-arm.h (elf32_arm_final_link_relocate): Add R_ARM_ALU*.
8256 * elfarm-nabi.c (elf32_arm_howto_table): Ditto.
8257
a56b48eb
NC
82582004-03-31 Andy Chittenden <[email protected]>
8259
8260 * stabs.c (struct stab_link_includes_totals): Rename field 'total'
8261 to 'sum_chars' and add field 'num_chars'.
8262 (_bfd_link_section_stabs): When computing the sum of the
8263 characters in a B_INCL..B_EINCL range also keep a count of the
8264 number of characters. Use this information to help distinguish
8265 between include sections when have the same sum but which
8266 nevertheless are still unique.
8267
1fbc7e7a 82682004-03-31 Mattias EngdegÃ¥rd <[email protected]>
3d456464
NC
8269
8270 * stabs.c (_bfd_link_section_stabs): Do not skip N_EXCL stabs.
8271
0949843d 82722004-03-30 Galit Heller <[email protected]>
eb61d2d6 8273 Tomer Levi <[email protected]>
0949843d
NC
8274
8275 * Makefile.am (ALL_MACHINES): Add cpu-cr16c.lo.
8276 (ALL_MACHINES_CFILES): Add cpu-cr16c.c.
8277 (BFD32_BACKENDS): Add elf32-cr16c.lo.
8278 (BFD32_BACKENDS_CFILES): Add elf32-cr16c.c.
8279 (cpu-cr16c.lo): New target.
8280 (elf32-cr16c.lo): Likewise.
8281 * Makefile.in: Regenerate.
8282 * archures.c (bfd_architecture): Add bfd_{arch,mach}_cr16c.
8283 (bfd_archures_list): Add bfd_cr16c_arch.
8284 * config.bfd: Handle cr16c-*-elf*.
8285 * configure.in: Handle bfd_elf32_cr16c_vec.
8286 * configure: Regenerate.
8287 * reloc.c: Add BFD_RELOC_16C_NUM08, BFD_RELOC_16C_NUM08_C,
8288 BFD_RELOC_16C_NUM16, BFD_RELOC_16C_NUM16_C,
8289 BFD_RELOC_16C_NUM32, BFD_RELOC_16C_NUM32_C,
8290 BFD_RELOC_16C_DISP04, BFD_RELOC_16C_DISP04_C,
8291 BFD_RELOC_16C_DISP08, BFD_RELOC_16C_DISP08_C,
8292 BFD_RELOC_16C_DISP16, BFD_RELOC_16C_DISP16_C,
8293 BFD_RELOC_16C_DISP24, BFD_RELOC_16C_DISP24_C,
8294 BFD_RELOC_16C_DISP24a, BFD_RELOC_16C_DISP24a_C,
8295 BFD_RELOC_16C_REG04, BFD_RELOC_16C_REG04_C,
8296 BFD_RELOC_16C_REG04a, BFD_RELOC_16C_REG04a_C,
8297 BFD_RELOC_16C_REG14, BFD_RELOC_16C_REG14_C,
8298 BFD_RELOC_16C_REG16, BFD_RELOC_16C_REG16_C,
8299 BFD_RELOC_16C_REG20, BFD_RELOC_16C_REG20_C,
8300 BFD_RELOC_16C_ABS20, BFD_RELOC_16C_ABS20_C,
8301 BFD_RELOC_16C_ABS24, BFD_RELOC_16C_ABS24_C,
8302 BFD_RELOC_16C_IMM04, BFD_RELOC_16C_IMM04_C,
8303 BFD_RELOC_16C_IMM16, BFD_RELOC_16C_IMM16_C,
8304 BFD_RELOC_16C_IMM20, BFD_RELOC_16C_IMM20_C,
8305 BFD_RELOC_16C_IMM24, BFD_RELOC_16C_IMM24_C,
8306 BFD_RELOC_16C_IMM32, BFD_RELOC_16C_IMM32_C.
8307 * targets.c (bfd_elf32_cr16c_vec): Declare.
8308 (bfd_target_vector): Add bfd_elf32_cr16c_vec.
8309 * cpu-cr16c.c: New file.
8310 * elf32-cr16c.c: Likewise.
8311 * libbfd.h: Regenerate.
8312 * bfd-in2.h: Likewise.
8313
baaff79e
JJ
83142004-03-30 Jakub Jelinek <[email protected]>
8315
8316 * elf.c (map_sections_to_segments): Fix handling of .tbss.
8317
c152c796
AM
83182004-03-27 Alan Modra <[email protected]>
8319
8320 * Makefile.am: Remove all mention of elflink.h.
8321 * Makefile.in: Regenerate.
8322 * bfd-in.h (bfd_elf_discard_info): Declare.
8323 (bfd_elf32_discard_info, bfd_elf64_discard_info): Delete.
8324 * bfd-in2.h: Regenerate.
8325 * elf-bfd.h (bfd_elf32_print_symbol, bfd_elf64_print_symbol,
8326 bfd_elf32_link_record_dynamic_symbol,
8327 bfd_elf64_link_record_dynamic_symbol,
8328 _bfd_elf_link_record_dynamic_symbol, bfd_elf32_bfd_final_link,
8329 bfd_elf64_bfd_final_link, elf_link_record_local_dynamic_symbol,
8330 _bfd_elf32_link_record_local_dynamic_symbol,
8331 _bfd_elf64_link_record_local_dynamic_symbol,
8332 _bfd_elf32_gc_sections, _bfd_elf32_gc_common_finalize_got_offsets,
8333 _bfd_elf32_gc_common_final_link, _bfd_elf64_gc_common_final_link,
8334 _bfd_elf32_gc_record_vtinherit, _bfd_elf32_gc_record_vtentry,
8335 _bfd_elf64_gc_sections, _bfd_elf64_gc_common_finalize_got_offsets,
8336 _bfd_elf64_gc_record_vtinherit, _bfd_elf64_gc_record_vtentry,
8337 _bfd_elf32_reloc_symbol_deleted_p,
8338 _bfd_elf64_reloc_symbol_deleted_p): Delete.
8339 (bfd_elf_link_record_dynamic_symbol,
8340 bfd_elf_link_record_local_dynamic_symbol,
8341 bfd_elf_final_link, bfd_elf_gc_sections,
8342 bfd_elf_gc_record_vtinherit, bfd_elf_gc_record_vtentry,
8343 bfd_elf_gc_common_finalize_got_offsets, bfd_elf_gc_common_final_link,
8344 bfd_elf_reloc_symbol_deleted_p): Declare.
8345 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
8346 * elf32-arm.h: Update for changed function names. Remove local
8347 WILL_CALL_FINISH_DYNAMIC_SECTION define.
8348 * elf-hppa.h, elf-m10300.c, elf32-cris.c, elf32-d10v.c, elf32-dlx.c,
8349 * elf32-fr30.c, elf32-frv.c, elf32-h8300.c, elf32-hppa.c, elf32-i386.c,
8350 * elf32-iq2000.c, elf32-m32r.c, elf32-m68hc1x.c, elf32-m68k.c,
8351 * elf32-mcore.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
8352 * elf32-sh.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
8353 * elf32-xstormy16.c, elf32-xtensa.c, elf64-alpha.c, elf64-hppa.c,
8354 * elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c, elf64-sparc.c,
8355 * elf64-x86-64.c, elfxx-ia64.c, elfxx-mips.c, elfxx-target.h: Likewise.
8356 * elfxx-target.h (bfd_elfNN_bfd_final_link): Define.
8357 (bfd_elfNN_print_symbol): Define.
8358 * elfcode.h: Don't include elflink.h.
8359 (elf_bfd_discard_info, elf_reloc_symbol_deleted_p,
8360 elf_link_record_dynamic_symbol, elf_bfd_final_link, elf_gc_sections,
8361 elf_gc_common_finalize_got_offsets, elf_gc_common_final_link,
8362 elf_gc_record_vtinherit, elf_gc_record_vtentry,
8363 elf_link_record_local_dynamic_symbol): Don't define.
8364 * elflink.c: Update for changed function names. Move elflink.h
8365 code here.
8366 * elflink.h: Delete file.
8367 * po/SRC-POTFILES.in: Regenerate.
8368 * po/bfd.pot: Regenerate.
8369
6a9cae7f
AM
83702004-03-27 Alan Modra <[email protected]>
8371
8372 * elf64-mmix.c (mmix_elf_relocate_section): Restore code setting
8373 "name" for global syms accidentally removed in 2004-03-20 change.
8374
140f6c8e
AM
83752004-03-27 Alan Modra <[email protected]>
8376
8377 * elf-bfd.h (struct elf_reloc_cookie): Add r_sym_shift field.
8378 * elflink.h: Replace all occurrences of sizeof (Elf_External_*)
8379 where Elf_External_* is different for 64 and 32 bit, with
8380 corresponding elf_size_info field.
8381 (struct elf_final_link_info): Use "bfd_byte *" instead
8382 of "Elf_External_Sym *" for external_syms and symbuf.
8383 (elf_link_adjust_relocs): Set up r_type_mask and r_sym_shift local
8384 vars and use instead of ELF_R_INFO and ELF_R_TYPE macros.
8385 (struct elf_link_sort_rela): Add "sym_mask" alias for "offset".
8386 (elf_link_sort_cmp1): Use sym_mask field instead of ELF_R_SYM.
8387 (elf_link_sort_cmp2): Adjust.
8388 (elf_link_sort_relocs): Set up r_sym_mask local var instead of
8389 using ELF_R_SYM macro. Set u.sym_mask.
8390 (elf_bfd_final_link): Call _bfd_elf_stringtab_init instead of macro
8391 version, elf_stringtab_init. Ditto for bfd_section_from_elf_index
8392 vs. section_from_elf_index. Adjust Elf_External_Sym pointer
8393 arithmetic. Pass bed to elf_link_flush_output_syms. Adjust
8394 Elf_External_Dyn pointer arithmentic. Use bed swap_dyn_in and
8395 swap_syn_out functions. Rearrange dyn swap in/out switch.
8396 (elf_link_output_sym): Adjust Elf_External_Sym pointer arithmentic.
8397 Pass bed to elf_link_flush_output_syms. Use bed swap_symbol_out.
8398 (elf_link_flush_output_syms): Add elf_backend_data arg.
8399 (elf_link_check_versioned_symbol): Likewise.
8400 (elf_link_output_extsym): Pass bed to elf_link_check_versioned_symbol.
8401 Adjust Elf_External_Sym pointer arithmetic. Use bed swap_symbol_out.
8402 (elf_link_input_bfd): Use bfd_section_from_elf_index. Set up
8403 r_type_mask and r_sym_shift local vars and use instead of ELF_R_SYM,
8404 ELF_R_TYPE and ELF_R_INFO macros.
8405 (elf_reloc_link_order): Select ELF32_R_INFO or ELF64_R_INFO invocation
8406 based on size rather than using ELF_R_INFO.
8407 (elf_gc_mark): Set up r_sym_shift local var and use instead of
8408 ELF_R_SYM macro.
8409 (struct alloc_got_off_arg): New.
8410 (elf_gc_common_finalize_got_offsets): Use elf_size_info instead of
8411 ARCH_SIZE. Pass get entry size down to elf_gc_allocate_got_offsets.
8412 (elf_gc_allocate_got_offsets): Adjust.
8413 (elf_reloc_symbol_deleted_p): Usee cookie.r_sym_shift instead of
8414 ELF_R_SYM. Use bfd_section_from_elf_index.
8415 (elf_bfd_discard_info): Set cookie.r_sym_shift.
8416 * elfcode.h (elf_stringtab_init, section_from_elf_index): Delete.
8417 (elf_slurp_symbol_table): Use bfd_section_from_elf_index.
8418
14bde378
SS
84192004-03-26 Stan Shebs <[email protected]>
8420
8421 Remove MPW support, no longer used.
8422 * config.bfd (powerpc-*-mpw*): Remove configuration.
8423 * mpw-config.in, mpw-make.sed: Remove files.
8424 * ecoffswap.h [MPW_C]: Remove MPW-C-friendly version of code.
8425
555cd476
AM
84262004-03-26 Alan Modra <[email protected]>
8427
8428 * elf64-ppc.c (elf_backend_add_symbol_hook): Define.
8429 (ppc64_elf_add_symbol_hook): New function.
8430 * elf-bfd.h (struct elf_backend_data <elf_add_symbol_hook>): Remove
8431 const from Elf_Internal_Sym param.
8432 * elflink.c (elf_link_add_object_symbols): Adjust.
8433 * elf-hppa.h (elf_hppa_add_symbol_hook): Adjust.
8434 * elf32-frv.c (elf32_frv_add_symbol_hook): Adjust.
8435 * elf32-i370.c (elf_backend_add_symbol_hook): Adjust.
8436 * elf32-m32r.c (m32r_elf_add_symbol_hook): Adjust.
8437 * elf32-m68hc1x.c (elf32_m68hc11_add_symbol_hook): Adjust.
8438 * elf32-m68hc1x.h (elf32_m68hc11_add_symbol_hook): Adjust.
8439 * elf32-ppc.c (ppc_elf_add_symbol_hook): Adjust.
8440 * elf32-sh64.c (sh64_elf_add_symbol_hook): Adjust.
8441 * elf32-v850.c (v850_elf_add_symbol_hook): Adjust.
8442 * elf64-alpha.c (elf64_alpha_add_symbol_hook): Adjust.
8443 * elf64-mmix.c (mmix_elf_add_symbol_hook): Adjust.
8444 * elf64-sh64.c (sh64_elf64_add_symbol_hook): Adjust.
8445 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Adjust.
8446 * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Adjust.
8447 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Adjust.
8448 * elfxx-mips.h (_bfd_mips_elf_add_symbol_hook): Adjust.
8449
4ad4eba5
AM
84502004-03-26 Alan Modra <[email protected]>
8451
8452 * elfxx-target.h (bfd_elfNN_bfd_link_add_symbols): Define.
8453 * elf-bfd.h (_bfd_elf_link_add_archive_symbols): Delete.
8454 (_bfd_elf_sort_symbol, _bfd_elf_add_dt_needed_tag): Delete.
8455 (_bfd_elf_finalize_dynstr, bfd_elf32_bfd_link_add_symbols): Delete.
8456 (bfd_elf64_bfd_link_add_symbols): Delete.
8457 (bfd_elf_link_add_symbols): Declare.
8458 * elfcode.h (elf_bfd_link_add_symbols): Delete.
8459 * elflink.c: Include safe-ctype.h.
8460 (elf_add_dt_needed_tag): Rename from _bfd_elf_add_dt_needed_tag,
8461 make static.
8462 (elf_sort_symbol): Rename from _bfd_elf_sort_symbol, make static.
8463 (elf_finalize_dynstr): Rename from _bfd_elf_finalize_dynstr, make
8464 static.
8465 (elf_link_add_archive_symbols): Rename from
8466 _bfd_elf_link_add_archive_symbols, make static.
8467 (elf_link_add_object_symbols): New function. Corresponding
8468 elflink.h function converted to use elf_size_info.
8469 (bfd_elf_link_add_symbols): Likewise.
8470 (bfd_elf_size_dynamic_sections): Adjust.
8471 * elflink.h (elf_bfd_link_add_symbols): Delete.
8472 (elf_link_add_object_symbols): Delete.
8473 * elf32-gen.c (elf32_generic_link_add_symbols): Call
8474 bfd_elf_link_add_symbols.
8475 * elf64-gen.c (elf64_generic_link_add_symbols): Likewise.
8476
5a580b3a
AM
84772004-03-25 Alan Modra <[email protected]>
8478
8479 * elflink.h (elf_link_add_object_symbols): Add DT_NEEDED for as-needed
8480 and chained shared libs only if dynsym. Clear dynsym on forced-local.
c152c796 8481
5a580b3a
AM
8482 * elf-bfd.h (_bfd_elf_add_dynamic_entry): Declare.
8483 (bfd_elf32_add_dynamic_entry, bfd_elf64_add_dynamic_entry): Delete.
8484 (_bfd_elf_add_dt_needed_tag): Declare.
8485 (_bfd_elf_sort_symbol): Declare.
8486 (_bfd_elf_finalize_dynstr): Declare.
8487 (RELOC_FOR_GLOBAL_SYM): Formatting.
8488 * elfcode.h (elf_add_dynamic_entry): Delete.
8489 * elflink.c (_bfd_elf_add_dynamic_entry): New function. Corresponding
8490 elflink.h function converted to use elf_size_info.
8491 (_bfd_elf_add_dt_needed_tag): Likewise.
8492 (_bfd_elf_sort_symbol): Likewise.
8493 (_bfd_elf_finalize_dynstr): Likewise.
8494 (compute_bucket_count): Likewise.
8495 (bfd_elf_size_dynamic_sections): Likewise. Check result of
8496 _bfd_elf_strtab_add before calling _bfd_elf_strtab_addref.
8497 (elf_adjust_dynstr_offsets, elf_collect_hash_codes): Moved from..
8498 * elflink.h: ..here.
8499 (sort_symbol, add_dt_needed_tag): Delete.
8500 (elf_add_dynamic_entry, elf_finalize_dynstr): Delete.
8501 (compute_bucket_count, NAME(bfd_elf,size_dynamic_sections)): Delete.
8502 Update all users.
8503 * elf32-arm.h (add_dynamic_entry): Update. Remove casts.
8504 * elf32-cris.c (add_dynamic_entry): Likewise.
8505 * elf32-hppa.c (add_dynamic_entry): Likewise.
8506 * elf32-i370.c (add_dynamic_entry): Likewise.
8507 * elf32-i386.c (add_dynamic_entry): Likewise.
8508 * elf32-m32r.c (add_dynamic_entry): Likewise.
8509 * elf32-m68k.c (add_dynamic_entry): Likewise.
8510 * elf32-ppc.c (add_dynamic_entry): Likewise.
8511 * elf32-s390.c (add_dynamic_entry): Likewise.
8512 * elf32-sh.c (add_dynamic_entry): Likewise.
8513 * elf32-sparc.c (add_dynamic_entry): Likewise.
8514 * elf32-vax.c (add_dynamic_entry): Likewise.
8515 * elf32-xtensa.c (add_dynamic_entry): Likewise.
8516 * elf64-alpha.c (add_dynamic_entry): Likewise.
8517 * elf64-hppa.c (add_dynamic_entry): Likewise.
8518 * elf64-ppc.c (add_dynamic_entry): Likewise.
8519 * elf64-s390.c (add_dynamic_entry): Likewise.
8520 * elf64-sparc.c (add_dynamic_entry): Likewise.
8521 * elf64-x86-64.c (add_dynamic_entry): Likewise.
8522 * elfxx-ia64.c (add_dynamic_entry): Likewise.
8523 * elfxx-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise.
8524 * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
8525 * elf32-frv.c (elf32_frv_size_dynamic_sections): Likewise.
8526 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
8527
d507cf36
PB
85282004-03-23 Paul Brook <[email protected]>
8529
8530 * elf32-arm.h (arm_print_private_bfd_data): Add EABI v3.
8531
88d65ad6
BW
85322004-03-22 Bob Wilson <[email protected]>
8533
8534 * elf32-xtensa.c (elf_xtensa_check_relocs): Remove code to read
8535 literal tables and check for relocs outside of literal pools.
8536 (elf_xtensa_make_sym_local): Don't clear ELF_LINK_NON_GOT_REF flag.
8537 (elf_xtensa_fix_refcounts): Don't check ELF_LINK_NON_GOT_REF or
8538 set DF_TEXTREL.
8539 (elf_xtensa_size_dynamic_sections): Don't add DT_TEXTREL entry.
8540 (elf_xtensa_relocate_section): Read literal tables and check for
8541 dynamic relocations in read-only sections and not in literal pools.
c152c796 8542
b9cf773d
AM
85432004-03-23 Alan Modra <[email protected]>
8544
8545 PR 51.
8546 * linker.c (bfd_wrapped_link_hash_lookup): Handle info->wrap_char.
8547
e4a2175c
HPN
85482004-03-22 Hans-Peter Nilsson <[email protected]>
8549
8550 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
8551 R_CRIS_16_GOTPLT>: Also error if there's no PLT for a symbol
8552 not defined by the executable, or defined in a DSO.
8553 <eliding run-time relocation of .got>: Initialize GOT entry for a
8554 function symbol or ELF_LINK_HASH_NEEDS_PLT statically in an
8555 executable.
8556 (cris_elf_gc_sweep_hook): Improve fallthrough marking.
8557 (elf_cris_try_fold_plt_to_got): Improve head comment. Do not fold
8558 a PLT reloc to GOT for an executable.
8559 (elf_cris_adjust_dynamic_symbol): Only fold a .got.plt entry with
b9cf773d 8560 .got for a DSO and explain why.
e4a2175c
HPN
8561 (elf_cris_discard_excess_program_dynamics): Also lose GOT-relocs
8562 and unreferenced symbols for which a PLT is defined. Adjust
8563 dynamic-symbol pruning correspondingly, to make sure we don't lose
8564 a dynamic symbol also defined by a DSO.
8565
b2a8e766
AM
85662004-03-22 Alan Modra <[email protected]>
8567
8568 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add input_bfd, input_section
8569 and rel args. Group input and output args. Wrap to 80 columns.
8570 * elf-m10200.c, elf-m10300.c, elf32-arm.h, elf32-avr.c,
8571 elf32-cris.c, elf32-d10v.c, elf32-fr30.c, elf32-h8300.c,
8572 elf32-hppa.c, elf32-i386.c, elf32-i860.c, elf32-ip2k.c,
8573 elf32-iq2000.c, elf32-m68hc1x.c, elf32-m68k.c, elf32-mcore.c,
8574 elf32-msp430.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
8575 elf32-sparc.c, elf32-v850.c, elf32-vax.c, elf32-xstormy16.c,
8576 elf32-xtensa.c, elf64-alpha.c, elf64-mmix.c, elf64-ppc.c,
8577 elf64-s390.c, elf64-sparc.c, elf64-x86-64.c, elfxx-ia64.c: Update
8578 RELOC_FOR_GLOBAL_SYMBOL invocation.
8579
59c2e50f
L
85802004-03-20 H.J. Lu <[email protected]>
8581
8582 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Report error if
8583 unresolved symbols in objects aren't allowed.
8584
8585 * elf-hppa.h (elf_hppa_relocate_section): Properly handle
8586 unresolved symbols.
8587 (elf_hppa_remark_useless_dynamic_symbols): Likewise.
8588 (elf_hppa_unmark_useless_dynamic_symbols):
8589 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
8590 * elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
8591 (elf32_hppa_relocate_section): Likewise.
8592 * elf32-i370.c (i370_elf_relocate_section): Likewise.
8593 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
8594 * elf32-sh.c (sh_elf_relocate_section): Likewise.
8595 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
8596 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
8597
8598 * elf-m10200.c (mn10200_elf_relocate_section): Use
8599 RELOC_FOR_GLOBAL_SYMBOL.
8600 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
8601 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
8602 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
8603 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
8604 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
8605 * elf32-m68hc1x.c (m68hc11_get_relocation_value): Likewise.
8606 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
8607 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
8608 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
8609 * elf32-v850.c (v850_elf_relocate_section): Likewise.
8610 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
8611 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
8612
9992270f
DA
86132004-03-19 John David Anglin <[email protected]>
8614
36751eee
DA
8615 * elf32-hppa.c (elf32_hppa_check_relocs): Handle R_PARISC_PCREL32.
8616 (final_link_relocate): Likewise.
9992270f
DA
8617 * elf-hppa.h (elf_hppa_reloc_final_type): Handle selectors for
8618 R_PARISC_PCREL32 and R_PARISC_PCREL64 relocations.
8619
05864e2a
AM
86202004-03-19 Alan Modra <[email protected]>
8621
8622 * Makefile.am: Run "make dep-am".
8623 * Makefile.in: Regenerate.
8624 * aclocal.m4: Regenerate.
8625 * config.in: Regenerate.
8626 * po/bfd.pot: Regenerate.
8627
f218a464 86282004-03-19 Alan Modra <[email protected]>
0f8a2703
AM
8629 H.J. Lu <[email protected]>
8630
8631 * elflink.c (_bfd_elf_merge_symbol): Revert last change. Move
8632 type and size change code to where it was previously. Remove
8633 dt_needed param. Treat old weak syms as strong if new sym is
8634 from a shared lib, even when old sym is from another shared
8635 lib. Remove unnecessary tests of oldweak and newweak. Correct
8636 comments.
8637 (_bfd_elf_add_default_symbol): Remove dt_needed param. Update
8638 _bfd_elf_merge_symbol calls.
8639 * elflink.h (elf_link_add_object_symbols): Update calls. Remove
8640 dt_needed local var. Update comments.
8641 * elf-bfd.h (_bfd_elf_merge_symbol): Update prototype.
8642 (_bfd_elf_add_default_symbol): Likewise.
f218a464
AM
8643
8644 * elflink.c (_bfd_elf_merge_symbol): Reinstate code to handle
8645 strong syms in one shared object overriding weak syms in another.
8646
79349b09
AM
86472004-03-18 Alan Modra <[email protected]>
8648
4a43e768
AM
8649 * elf-bfd.h (struct elf_obj_tdata): Delete dt_soname field. Add
8650 dyn_lib_class field. Rearrange for better packing.
8651 (elf_dt_soname): Delete.
8652 (elf_dyn_lib_class): Define.
8653 * elf.c (bfd_elf_set_dt_needed_name): Update comment.
8654 (bfd_elf_set_dt_needed_soname): Delete.
8655 (bfd_elf_set_dyn_lib_class): New function.
8656 * elflink.h (add_dt_needed_tag): New function. Split out from..
8657 (elf_link_add_object_symbols): ..here. Rename "name" to "soname".
8658 Use elf_dyn_lib_class to set dt_needed and add_needed. Move fallback
8659 initialization of soname.
8660 (elf_link_check_versioned_symbol): Test elf_dyn_lib_class instead of
8661 elf_dt_soname.
8662 * bfd-in.h (enum dynamic_lib_link_class): New.
8663 (bfd_elf_set_dt_needed_soname): Delete.
8664 (bfd_elf_set_dyn_lib_class): Declare.
8665 * bfd-in2.h: Regenerate.
8666
79349b09
AM
8667 * elflink.c (_bfd_elf_merge_symbol): Rewrite weak symbol handling.
8668 (_bfd_elf_add_default_symbol): Remove indirect BFD_ASSERTs.
8669 * elflink.h (elf_link_add_object_symbols): Don't clear dt_needed in
8670 symbol loop. Instead use add_needed to flag tag as written.
8671
d13d89fa
NS
86722004-03-17 Nathan Sidwell <[email protected]>
8673
8674 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
8675 logic for null_input_bfd detection.
8676
9183ed4b
AM
86772004-03-17 Ralf Corsepius <[email protected]>
8678
8679 * config.bfd: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff*.
8680
021d7868
MK
86812004-03-16 Mark Kettenis <[email protected]>
8682
8683 * netbsd-core.c (netbsd_core_file_p) [CORE_FPU_OFFSET]: Remove
8684 code.
8685
51992aec
AM
86862004-03-16 Alan Modra <[email protected]>
8687
8688 * elflink.c (elf_link_read_relocs_from_section): Don't use
8689 NUM_SHDR_ENTRIES in end of reloc calc. Move NULL shdr check..
8690 (_bfd_elf_link_read_relocs): ..to here.
8691 * elf32-ppc.c (ppc_elf_relax_section): Formatting.
8692
ccba357f
AM
86932004-03-16 Alan Modra <[email protected]>
8694
8695 * configure.in (HOST_64BIT_TYPE, HOST_U_64BIT_TYPE): Don't override
8696 values selected in configure.host. Require both to be defined
8697 before setting BFD_HOST_64_BIT_DEFINED. Protect assignment to
8698 corresponding BFD_HOST vars with quotes.
8699 <${host64}-${target64}-${want64} in *true*>: Don't exempt gcc;
8700 Always require BFD_HOST_64_BIT_DEFINED.
8701 <file_ptr type>: Find off_t size before emitting message. Combine
8702 off_t and ftello64 conditional.
8703 * configure: Regenerate.
8704
41978308
AM
87052004-03-16 Alan Modra <[email protected]>
8706
8707 * elf32-m32r.c (m32r_elf_create_dynamic_sections): Fix pointer
8708 aliasing warning. Remove trailing whitespace throughout file.
8709
d63b5ed9
DA
87102004-03-15 John David Anglin <[email protected]>
8711
8712 * elf-hppa.h (elf_hppa_relocate_section): Pass input_bfd instead of
8713 input_section in calls to get_dyn_name.
8714 * elf64-hppa.c (get_dyn_name): Change type of first argument to "bfd *". Use section id of first section in input BFD to build dynamic name for
8715 local symbols.
8716 (elf64_hppa_check_relocs): Pass abfd in call to get_dyn_name.
8717
8ce8c090
AM
87182004-03-15 Alan Modra <[email protected]>
8719
8720 * bfd-in.h (bfd_int64_t, bfd_uint64_t): New types.
8721 (BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Don't define here.
8722 (bfd_getb64, bfd_getl64, bfd_get_bits): Return bfd_uint64_t.
8723 (bfd_getb_signed_64, bfd_getl_signed_64): Return bfd_int64_t.
8724 (bfd_putb64, bfd_putl64, bfd_put_bits): Accept bfd_uint64_t.
8725 * configure.in (HOST_U_64BIT_TYPE): Set when sizeof long is 8.
8726 (BFD_HOST_64_BIT_DEFINED, BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Set
8727 when using long.
8728 * libbfd.c (EIGHT_GAZILLION, COERCE64): Use bfd_int64_t.
8729 (bfd_getb64): Return bfd_uint64_t. Enable when BFD_HOST_64_BIT.
8730 (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
8731 (bfd_putb64): Accept bfd_uint64_t. Enable when BFD_HOST_64_BIT.
8732 (bfd_putl64, bfd_put_bits, bfd_get_bits): Likewise.
8733 * dwarf2.c (struct attribute): Use bfd_int64_t and bfd_uint64_t.
8734 (read_8_bytes, read_indirect_string, read_address): Likewise.
8735 (read_abbrevs, parse_comp_unit): Likewise.
8736 * targets.c (struct bfd_target): Likewise.
8737 * aix386-core.c (NO_GET64, NO_PUT64, NO_GETS64): Define and use.
8738 * hppabsd-core.c: Likewise. Formatting.
8739 * hpux-core.c: Likewise.
8740 * irix-core.c: Likewise.
8741 * netbsd-core.c: Likewise.
8742 * osf-core.c: Likewise.
8743 * ptrace-core.c: Likewise.
8744 * sco5-core.c: Likewise.
8745 * trad-core.c: Likewise.
8746 * configure: Regenerate.
8747 * bfd-in2.h: Regenerate.
8748
edeb6e24
AM
87492004-03-15 Alan Modra <[email protected]>
8750
8751 * bfd-in.h (bfd_getb64, bfd_getl64): Replace bfd_byte* with void*.
8752 (bfd_getb32, bfd_getl32, bfd_getb16, bfd_getl16): Likewise.
8753 (bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
8754 (bfd_getb_signed_32, bfd_getl_signed_32): Likewise.
8755 (bfd_getb_signed_16, bfd_getl_signed_16): Likewise.
8756 (bfd_putb64, bfd_putl64, bfd_putb32, bfd_putl32): Likewise.
8757 (bfd_putb16, bfd_putl16, bfd_get_bits, bfd_put_bits): Likewise.
8758 * libbfd.c: Likewise in function definitions.
8759 (bfd_put_8): Mask with 0xff rather than casting to char.
8760 (bfd_putb16, bfd_putl16, bfd_putb32, bfd_putl32): Likewise.
8761 (bfd_putb64, bfd_putl64, bfd_put_bits): Likewise.
8762 (H_PUT_64, H_PUT_32, H_PUT_16, H_PUT_8): Remove casts, simplify.
8763 (H_PUT_S64, H_PUT_S32, H_PUT_S16, H_PUT_S8): Likewise.
8764 (H_GET_64, H_GET_32, H_GET_16, H_GET_8): Likewise.
8765 (H_GET_S64, H_GET_S32, H_GET_S16, H_GET_S8): Likewise.
8766 * libaout.h (H_PUT_64 H_PUT_32, H_PUT_16): Remove casts, simplify.
8767 (H_PUT_S64, H_PUT_S32, H_PUT_S16): Likewise.
8768 (H_GET_64, H_GET_32, H_GET_16): Likewise.
8769 (H_GET_S64, H_GET_S32, H_GET_S16): Likewise.
8770 * archive.c (do_slurp_coff_armap): Update swap prototype.
8771 * coff-tic54x.c (tic54x_getl32): Replace bfd_byte* with void*.
8772 (tic54x_getl_signed_32): Likewise.
8773 (tic54x_putl32): Likewise. Mask with 0xff rather than casting to char.
8774 * mach-o.c (bfd_mach_o_read_header): Update get32 prototype.
8775 * pdp11.c (bfd_getp32): Make static, replace bfd_byte* with void*.
8776 (bfd_getp_signed_32, bfd_putp32): Likewise.
8777 * targets.c (struct bfd_target): Use void* in place of bfd_byte* for
8778 bfd_getx64, bfd_getx_signed_64, bfd_putx64, bfd_getx32,
8779 bfd_getx_signed_32, bfd_putx32, bfd_getx16, bfd_getx_signed_16,
8780 bfd_putx16, bfd_h_getx64, bfd_h_getx_signed_64, bfd_h_putx64,
8781 bfd_h_getx32, bfd_h_getx_signed_32, bfd_h_putx32, bfd_h_getx16,
8782 bfd_h_getx_signed_16, bfd_h_putx16.
8783 * aix386-core.c (NO_GET, NO_GETS, NO_PUT): Update prototypes.
8784 * hppabsd-core.c: Similarly. Rename NO_SIGNED_GET to NO_GETS.
8785 * hpux-core.c: Likewise.
8786 * irix-core.c: Likewise.
8787 * netbsd-core.c: Likewise.
8788 * osf-core.c: Likewise.
8789 * ptrace-core.c: Likewise.
8790 * sco5-core.c: Likewise.
8791 * trad-core.c: Likewise.
8792 * bfd-in2.h: Regenerate.
8793
c1b954e2
AM
87942004-03-15 Matt Thomas <[email protected]>
8795
8796 * config.bfd: Add x86-64 vector to NetBSD/i386 if 64bit BFD is
8797 selected.
8798
85cfd8d3
MK
87992004-03-13 Mark Kettenis <[email protected]>
8800
8801 * config.bfd: Add x86_64-*-openbsd*.
8802 * configure.in (x86_64-*-openbsd*): Set COREFILE to
8803 netbsd-core.lo.
8804 * configure: Regenerate.
8805
d1f161ea
NC
88062004-03-12 Nick Clifton <[email protected]>
8807 Dave Murphy <[email protected]>
c1b954e2 8808
d1f161ea
NC
8809 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Skip most checks
8810 if the input bfd does not contain any code.
8811
8b6f2683
JW
88122004-03-09 Steve Ellcey <[email protected]>
8813
8814 * elfxx-ia64.c (plt_full_entry): Change ld8 to ld8.acq.
8815
79cda7cf
FF
88162004-03-05 Fred Fish <[email protected]>
8817
8818 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Just force
8819 mips16 symbols to be even rather than testing first for even/odd.
8820 (_bfd_mips_elf_link_output_symbol_hook): Ditto.
8821
e5caec89
NS
88222004-03-05 Nathan Sidwell <[email protected]>
8823
8824 * elf.c (map_sections_to_segments): Ignore .tbss sections for
8825 layout purposes.
8826
02bb6eae
AO
88272004-03-03 Alexandre Oliva <[email protected]>
8828
8829 * elflink.c (bfd_elf_record_link_assignment): Mark undefweak and
8830 undefined symbols as hash_new.
8831
ae51a426
JR
88322003-03-03 Andrew Stubbs <[email protected]>
8833
8834 * archures.c: Add bfd_mach_sh4_nommu_nofpu.
8835 * cpu-sh.c: Ditto.
8836 * elf32-sh.c: Ditto.
8837 * bfd-in2.h: Regenerate.
8838
3b712a1a
AO
88392004-03-02 Alexandre Oliva <[email protected]>
8840
8841 * elf32-frv.c (struct frv_pic_relocs_info): Added fixups and
8842 dynrelocs.
8843 (_frv_count_got_plt_entries): Initialize them.
8844 (frv_pic_relocs_info_find): Add insert argument. Adjust all
8845 callers.
8846 (frv_pic_relocs_info_for_global): Likewise.
8847 (frv_pic_relocs_info_for_local): Likewise.
8848 (frv_pic_merge_early_relocs_info): New.
8849 (_frv_resolve_final_relocs_info): Use it in case one entry maps to
8850 another.
8851 (_frv_add_dyn_reloc): Add entry argument. Adjust all callers.
8852 Check that we don't exceed the allocated count for entry.
8853 (_frv_add_rofixup): Likewise.
8854 (_frv_emit_got_relocs_plt_entries): Adjust for coding standards.
8855 (elf32_frv_finish_dynamic_sections): Improve error message in case
8856 we emit too few rofixup entries.
8857
676a64f4
RS
88582004-03-01 Richard Sandiford <[email protected]>
8859
8860 * archures.c (bfd_mach_fr450): New.
8861 * bfd-in2.h: Regenerate.
8862 * cpu-frv.c (arch_info_450): New bfd_arch_info_type.
8863 (arch_info_500): Link to it.
8864 * elf32-frv.c (elf32_frv_machine, frv_elf_merge_private_bfd_data)
8865 (frv_elf_print_private_bfd_data): Handle fr405 and fr450 header flags.
8866 (frv_elf_arch_extension_p): New function.
8867 (frv_elf_merge_private_bfd_data): Use it.
8868
0ad989f9
L
88692004-02-28 H.J. Lu <[email protected]>
8870
8871 * elf-bfd.h (_bfd_elf_link_add_archive_symbols): New prototype.
8872
8873 * elflink.h (is_global_data_symbol_definition): Moved to
8874 elflink.c.
8875 (elf_link_is_defined_archive_symbol): Likewise.
8876 (elf_link_add_archive_symbols): Likewise. Renamed to
8877 _bfd_elf_link_add_archive_symbols.
8878
8879 * elflink.c (elf_link_is_defined_archive_symbol): Get the size
8880 of ELF symbol table entry from backend.
8881 (_bfd_elf_link_add_archive_symbols): Call bfd_link_add_symbols
8882 instead of elf_link_add_object_symbols.
8883
ec3391e7
AO
88842004-02-27 Alexandre Oliva <[email protected]>
8885
8886 * elf-bfd.h (struct elf_backend_data): Added
8887 elf_backend_can_make_relative_eh_frame,
8888 elf_backend_can_make_lsda_relative_eh_frame and
8889 elf_backend_encode_eh_address.
8890 (_bfd_elf_encode_eh_address): Declare.
8891 (_bfd_elf_can_make_relative): Declare.
8892 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use new
8893 hooks to decide whether to attempt to make_relative and
8894 make_lsda_relative.
8895 (_bfd_elf_write_section_eh_frame_hdr): Call encode_eh_address.
8896 (_bfd_elf_can_make_relative): New.
8897 (_bfd_elf_encode_eh_address): New.
8898 * elf32-frv.c (frv_elf_use_relative_eh_frame): New.
8899 (frv_elf_encode_eh_address): New.
8900 (elf_backend_can_make_relative_eh_frame): Define.
8901 (elf_backend_can_make_lsda_relative_eh_frame): Define.
8902 (elf_backend_encode_eh_address): Define.
8903 * elfxx-target.h
8904 (elf_backend_can_make_relative_eh_frame): Define.
8905 (elf_backend_can_make_lsda_relative_eh_frame): Define.
8906 (elf_backend_encode_eh_address): Define.
8907 (elfNN_bed): Add them.
8908
e6deed0a
AO
89092004-02-27 Alexandre Oliva <[email protected]>
8910
8911 * elf32-frv.c (elf32_frv_howto_table) <R_FRV_LABEL16>: Set
8912 complain_on_overflow to signed.
8913
b60d7a1a
L
89142004-02-27 H.J. Lu <[email protected]>
8915
8916 * elflink.h (sort_symbol): New.
8917 (elf_link_add_object_symbols): Use a sorted symbol array for
8918 weakdef.
8919
1c3ff0f2
MS
89202004-02-27 Jakub Jelinek <[email protected]>
8921
8922 * elf32-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
8923 for pc relative relocs.
8924 (elf_s390_relocate_section): Likewise.
8925 * elf64-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
8926 for pc relative relocs.
8927 (elf_s390_relocate_section): Likewise.
8928
de9811af
L
89292004-02-26 H.J. Lu <[email protected]>
8930
8931 * elfxx-ia64.c (elfNN_ia64_check_relocs): Fix call to
8932 count_dyn_reloc.
8933
ac33696c
L
89342004-02-25 H.J. Lu <[email protected]>
8935
8936 * elfxx-ia64.c (elfNN_ia64_dyn_reloc_entry): Add the reltext.
8937 field to track if a relocation is against readonly section.
8938 (count_dyn_reloc): Take a new argument for rent->reltext.
8939 (elfNN_ia64_check_relocs): Adjust call to count_dyn_reloc.
8940 (get_reloc_section): Don't set ia64_info->reltext here.
8941 (allocate_dynrel_entries): Set ia64_info->reltext here.
8942
072c8903
AO
89432004-02-24 Alexandre Oliva <[email protected]>
8944
8945 * elf32-frv.c (FRV_SYM_LOCAL): Weak undefined doesn't imply local.
8946 (_frv_emit_got_relocs_plt_entries): Decay relocation to protected
8947 function's descriptor to symbol+offset, and map local undefweak
8948 symbol to NULL function descriptor.
8949 (elf32_frv_relocate_section): Likewise.
8950
aca305d9
NC
89512004-02-23 Mark Kettenis <[email protected]>
8952
8953 * libaout.h (enum machine_type): Add M_SPARC64_NETBSD and
8954 M_X86_64_NETBSD.
8955 * netbsd-core.c (M_SPARC64_OPENBSD): Define.
8956 (netbsd_core_file_p): Set architecture from machine ID for
8957 selected machines.
8958
646411fb
JJ
89592004-02-23 Jakub Jelinek <[email protected]>
8960
8961 * elflink.h (size_dynamic_sections): If not adding DT_FLAGS and
8962 DF_BIND_NOW is set in info->flags, create DT_BIND_NOW dynamic entry.
8963
1de1a317
L
89642004-02-21 H.J. Lu <[email protected]>
8965
8966 * elflink.c (_bfd_elf_merge_symbol): Properly handle undefined
8967 symbols with non-default visibility.
8968
3c9d0484
DS
89692004-02-21 Danny Smith <[email protected]>
8970
8971 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Clear
8972 IMAGE_SCN_MEM_WRITE on known sections only.
8973
a876ecf9
JJ
89742004-02-20 Jakub Jelinek <[email protected]>
8975
8976 * elf32-ppc.c (allocate_dynrelocs): Create dynsym for undef weak
8977 symbols used in PIE relocs.
8978
a8a6d7ce
JJ
89792004-02-19 Jakub Jelinek <[email protected]>
8980
8981 * elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Clear
8982 .plt sh_entsize.
8983
d080fcd2
DJ
89842004-02-18 Daniel Jacobowitz <[email protected]>
8985
8986 * configure.in: Update version to 2.15.90.
8987 * configure: Regenerate.
8988
d25aed71 89892004-02-17 Daniel Jacobowitz <[email protected]>
c1b954e2 8990 Richard Sandiford <[email protected]>
d25aed71
RS
8991
8992 * elfxx-mips.c (mips_elf_calculate_relocation): Use
8993 _bfd_elf_symbol_refs_local_p to decide whether to decay
8994 a GOT_PAGE/GOT_OFST pair to GOT_DISP/addend.
8995 (_bfd_mips_elf_check_relocs): Add a global GOT entry for GOT_PAGE
8996 relocs if the symbol wasn't defined by a regular object file.
8997 Don't check the symbol's dynindx.
8998
d7ce59e3
AC
89992004-02-16 Andrew Cagney <[email protected]>
9000
9001 * bfd-in.h (file_ptr, ufile_ptr): Configure type using
9002 @bfd_file_ptr@.
9003 * bfd-in2.h: Re-generate.
9004
ca0b7686
AC
90052004-02-14 Andrew Cagney <[email protected]>
9006
9007 * configure.host (HDEFINES): When hppa*-*-hpux*, define
9008 _LARGEFILE64_SOURCE.
9009
340b6d91
AC
90102004-02-13 Andrew Cagney <[email protected]>
9011
9012 * elf.c (vma_page_aligned_bias): New function.
9013 (assign_file_positions_except_relocs)
9014 (assign_file_positions_for_segments): Replace broken modulo
9015 arithmetic with call to vma_page_aligned_bias.
9016
1012372a
AC
90172004-02-11 Andrew Cagney <[email protected]>
9018
7c192733
AC
9019 * bfd-in.h: Update copyright.
9020 (bfd_tell): Change return type to file_ptr.
9021 * bfd-in2.h: Re-generate.
9022 * cache.c: Update copyright.
9023 (bfd_cache_lookup_worker): Use real_fseek, do not cast offset
9024 parameter.
9025 (close_one): Use real_ftell.
9026 * bfdio.c: Update copyright.
9027 (real_ftell, real_fseek): New functions.
9028 (bfd_tell): Use real_fseek and real_ftell, change return type to
9029 file_ptr.
9030 (bfd_seek): Use real_ftell and real_fseek, change type of
9031 file_position to a file_ptr.
9032 * libbfd-in.h: Update copyright.
9033 (real_ftell, real_fseek): Declare.
9034 * libbfd.h: Re-generate.
9035
1012372a
AC
9036 * configure.in (AC_CHECK_FUNCS): Check for ftello, ftello64,
9037 fseeko and fseeko64. Determine bfd_file_ptr.
9038 * configure: Re-generate.
c1ea0c09 9039 * config.in: Re-generate.
c1b954e2 9040
3255318a
NC
90412004-02-09 Anil Paranjpe <[email protected]>
9042
9043 * coff-h8300.c: Added comments about relaxation for ldc.w and stc.w.
9044 * elf32-h8300.c: Likewise.
9045
0d5f9994
NC
90462004-02-09 Christian Vogel <[email protected]>
9047 Nick Clifton <[email protected]>
9048
9049 * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Catch
9050 GOT entries with no associated GOT subsection.
9051
174fd7f9
RS
90522004-02-09 Richard Sandiford <[email protected]>
9053
9054 * bfd-elf.h (elf_backend_name_local_section_symbols): New hook.
9055 * elf.c (swap_out_syms): Use it to decide whether local section
9056 symbols should be named.
9057 * elfxx-target.h (elf_backend_name_local_section_symbols): New macro.
9058 * elfxx-mips.h (_bfd_mips_elf_name_local_section_symbols): Declare.
9059 (elf_backend_name_local_section_symbols): Define.
9060 * elfxx-mips.c (_bfd_mips_elf_name_local_section_symbols): New.
9061
03609792
L
90622004-01-30 H.J. Lu <[email protected]>
9063
9064 * elfxx-ia64.c (elfNN_ia64_relax_brl): New function.
9065 (elfNN_ia64_relax_section): Optimize brl to br during the relax
9066 finalize pass.
9067
ea01195e
AO
90682004-01-30 Alexandre Oliva <[email protected]>
9069
9070 * elf32-frv.c (elf32_frv_always_size_sections): Initialize pointer
9071 to bfd_link_hash_entry passed by reference to
9072 _bfd_generic_link_add_one_symbol.
9073
838e70c5
L
90742004-01-25 H.J. Lu <[email protected]>
9075
9076 * elfxx-ia64.c (elfNN_ia64_relocate_section): Disallow imm
9077 relocations against dynamic symbols.
9078
4f199be3
DJ
90792004-01-23 Daniel Jacobowitz <[email protected]>
9080
9081 * elf32-arm.h (elf32_arm_check_relocs): Revert part of 2004-01-13
9082 change.
9083
28d39d1a
NC
90842004-01-21 Tom Rix <[email protected]>
9085
9086 * reloc.c: New 5 bit reloc, BFD_RELOC_M68HC12_5B, for m68hc12 movb/movw.
9087 * bfd-in2.h, libbfd.h: Rebuilt.
9088
66bed356
DS
90892004-01-20 Danny Smith <[email protected]>
9090
9091 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Don't remove
9092 IMAGE_SCN_MEM_WRITE flag from .text section if WP_TEXT
9093 flag has been cleared.
9094
7e89635a
KH
90952004-01-19 Kazu Hirata <[email protected]>
9096
9097 * coff-h8300.c: Add and adjust comments about relaxation.
9098 * elf32-h8300.c: Likewise.
9099
e804e836
KH
91002004-01-16 Kazu Hirata <[email protected]>
9101
9102 * coff-h8300.c: Fix comment typos.
9103 * elf32-h8300.c: Likewise.
9104
630a7b0a
KH
91052004-01-16 Kazu Hirata <[email protected]>
9106
9107 * coff-h8300.c: Add comments about relaxation.
9108 * elf32-h8300.c: Likewise.
9109
f8b73030
MR
91102004-01-14 Maciej W. Rozycki <[email protected]>
9111
9112 * acinclude.m4: Quote names of macros to be defined by AC_DEFUN
9113 throughout.
9114 * aclocal.m4: Regenerate.
9115 * configure: Regenerate.
9116
32159579
ILT
91172004-01-13 Ian Lance Taylor <[email protected]>
9118
9119 * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Call
9120 mips_elf64_rtype_to_howto instead of using howto_table.
9121
c84cd8ee
DJ
91222004-01-13 Daniel Jacobowitz <[email protected]>
9123
9124 * elf32-arm.h (elf32_arm_final_link_relocate): Check that we created
9125 the .plt section.
9126 (elf32_arm_check_relocs): Don't increment the PLT refcount for
9127 relocs which would not use the PLT.
9128
680a3378
AM
91292004-01-13 Alan Modra <[email protected]>
9130
9131 * elf64-ppc.c (ppc64_elf_check_relocs): Ignore !SEC_ALLOC relocs.
9132 (ppc64_elf_gc_sweep_hook): Likewise.
9133 (ppc64_elf_size_dynamic_sections): Test for .plt directly.
9134
faca21e5
NC
91352004-01-12 Anil Paranjpe <[email protected]>
9136
9137 Adds linker relaxation support for bit manipulation insns like
680a3378 9138 band, bclr, biand, bild, bior, bist, bixor, bld, bnot, bor, bset,
faca21e5 9139 bst, btst, bxor.
680a3378 9140 * elf32-h8300.c: Opcode for bit manipulation insn is checked in
faca21e5 9141 elf32_h8_relax_section function while relxation for aa:16 and aa:32.
680a3378 9142 * coff-h8300.c: Opcode for bit manipulation insn is checked in
faca21e5
NC
9143 h8300_reloc16_extra_cases function while relxation for aa:16 and aa:32.
9144
818a27ac
AM
91452004-01-12 Alan Modra <[email protected]>
9146
9147 * dwarf2.c: Convert to C90, remove unneeded casts and prototypes.
9148
96ef1419
KH
91492004-01-11 Kazu Hirata <[email protected]>
9150
9151 * elf32-h8300.c: Fix formatting.
9152
babfd660
KH
91532004-01-11 Kazu Hirata <[email protected]>
9154
9155 * elf32-cris.c (cris_elf_gc_sweep_hook): Return early if no
9156 dynamic object is present. Declare r_symndx and h in an inner
9157 scope.
9158 * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
9159
7359ea65
DJ
91602004-01-09 Daniel Jacobowitz <[email protected]>
9161
9162 * elf32-arm.h (struct elf32_arm_relocs_copied): Remove pc_count.
9163 (elf32_arm_copy_indirect_symbol): Don't copy pc_count.
9164 (elf32_arm_final_link_relocate): Handle PLT32 and PC24 relocs
9165 identically. Do not emit PC24 relocations for shared libraries.
9166 (elf32_arm_gc_sweep_hook): Handle PLT32 and PC24 relocs
9167 identically. Don't adjust pc_count.
9168 (elf32_arm_check_relocs): Handle PLT32 and PC24 relocs identically.
9169 Set ELF_LINK_HASH_NEEDS_PLT for both. Don't adjust pc_count; don't
9170 adjust count for branch relocations.
9171 (allocate_dynrelocs): Correct typo in call to
9172 WILL_CALL_FINISH_DYNAMIC_SYMBOL. Never allocate space for
9173 PC24 or PLT32 relocs when linking.
9174
44e88952
NC
91752004-01-09 Dmitry Semyonov <[email protected]>
9176
9177 * coff-arm.c (aoutarm_std_reloc_howto): [ARM_WINCE] Synchronize ARM_26D
9178 relocation howto with ARM_26 one for consistency.
9179 (coff_arm_relocate_section): Set partial_inplace for ARM_26 relocations
9180 that will be converted to ARM_26D ones, since we always want 'done'
9181 relocations to be reflected in section's data.
9182 (coff_arm_relocate_section): [ARM_WINCE] Quick fix for BL instruction
9183 offset.
9184 (_bfd_final_link_relocate): Do not modify "inplace" data, if not
9185 requested.
9186
1e7fef1d
NC
91872004-01-08 Dmitry Semyonov <[email protected]>
9188
9189 * coff-arm.c (coff_arm_relocate_section): Do not alter relocs that
9190 are not partial_inplace during a relocatable link.
9191
4f075348
KH
91922004-01-08 Kazu Hirata <[email protected]>
9193
babfd660 9194 * elf32-m68k.c (elf_m68k_gc_sweep_hook): Return early
4f075348
KH
9195 if no dynamic object is present. Declare r_symndx and h in an
9196 inner scope.
9197
de0d9f33
L
91982004-01-07 H.J. Lu <[email protected]>
9199
9200 * elfxx-ia64.c (elfNN_ia64_relax_section): Don't install
9201 trampoline if it is known out of range.
9202
51532845
AO
92032004-01-06 Alexandre Oliva <[email protected]>
9204
9205 2003-12-17 Alexandre Oliva <[email protected]>
9206 * elf32-frv.c (_frv_osec_readonly_p): New.
9207 (_frv_emit_got_relocs_plt_entries): Don't emit rofixup for
9208 undefweak symbol.
9209 (_frv_count_got_plt_entries): Adjust expected count accordingly.
9210 (elf32_frv_relocate_section): Likewise. Error out if attempting
9211 to emit rofixups or dynamic relocs in read-only segments. Use
9212 _bfd_elf_section_offset to adjust r_offsets in rofixups and
9213 dynamic relocations.
9214 2003-12-12 Alexandre Oliva <[email protected]>
9215 * elf32-frv.c (elf32_frv_relocate_section): Compute dynamic
9216 relocations or fixups involving merged sections correctly. Avoid
9217 crash when undefined symbol is referenced by R_FRV_32 or
9218 R_FRV_FUNCDESC_VALUE.
9219 2003-12-02 Alexandre Oliva <[email protected]>
9220 * elf32-frv.c (elf32_frv_relocate_section): Add output_offset of
9221 input section holding local symbol to addend of R_FRV_32 or
9222 R_FRV_FUNCDESC_VALUE dynamic relocation.
9223 2003-11-27 Alexandre Oliva <[email protected]>
9224 * elf32-frv.c (elf32_frv_modify_segment_map): Add link info arg.
9225 (elf32_frv_always_size_sections): Don't store pointer to
9226 __stacksize symbol in sec_info.
9227 (elf32_frv_modify_segment_map): Look it up here.
9228 2003-11-26 Alexandre Oliva <[email protected]>
9229 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Emit the address
9230 of the lazy PLT entry, not only its offset, as the low word of a
9231 function descriptor.
9232 2003-11-10 Alexandre Oliva <[email protected]>
9233 * elf32-frv.c (elf32_frv_always_size_sections): Define __stacksize
9234 if a hash table entry already exists but is not a definition.
9235 2003-11-05 Alexandre Oliva <[email protected]>
9236 * elf32-frv.c (frv_elf_link_hash_table_create): Use bfd_zalloc.
9237 (_frv_add_rofixup): Don't inline.
9238 (_frv_emit_got_relocs_plt_entries): Use NULL as funcdesc address
9239 for undefweak symbols.
9240 (elf32_frv_relocate_section): Avoid crash while computing
9241 relocation when linking with shared library. Only emit rofixups
9242 and dynamic relocations for alloc&load sections. Mark binaries
9243 with inter-segment relocations for relocation as a unit.
9244 (_frv_create_got_section): Rename .rofixup.got to .rofixup.
9245 (DEFAULT_STACK_SIZE): New.
9246 (_frv_count_got_plt_entries): Fix thinko in deciding whether to
9247 emit rofixups or dynamic relocs when linking dynamic non-PIE
9248 executables.
9249 (elf32_frv_size_dynamic_sections): Generate rofixup on PIEs and
9250 shared libs too. Reserve the last entry for the GOT pointer.
9251 (elf32_frv_finish_dynamic_sections): Emit it.
9252 (elf32_frv_always_size_sections): New.
9253 (elf32_frv_modify_segment_map): New.
9254 (elf32_frv_check_relocs): Reserve relocs32 space only in ALLOC
9255 sections.
9256 (frv_elf_merge_private_bfd_data): Clear PIC bit if FDPIC is set.
9257 (frv_elf_print_private_bfd_data): Handle FDPIC and LIBPIC.
9258 (elf_backend_always_size_sections): New.
9259 (elf_backend_modify_segment_map): New.
9260 2003-10-31 Alexandre Oliva <[email protected]>
9261 * config.bfd: Added frv-*-*linux*.
9262 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Use idx 0 for
9263 ABS section, instead of crashing.
9264 (elf32_frv_relocate_section): Don't crash before warning about
9265 different segments in non-PIC relocation.
9266 2003-10-17 Alexandre Oliva <[email protected]>
9267 * elf32-frv.c (elf32_frv_relocate_section): Don't warn on LABEL24
9268 relocs to undefweak symbols.
9269 (elf32_frv_relocate_section): Ditto for undefined symbols.
9270 2003-10-06 Alexandre Oliva <[email protected]>
9271 * elf32-frv.c (elf32_frv_create_dynamic_sections): Make sure
9272 gotfixup section was created.
9273 2003-09-30 Alexandre Oliva <[email protected]>
9274 * elf32-frv.c (elf32_frv_howto_table): Change GOT12,
9275 FUNCDESC_GOT12, GOTOFF12 and FUNCDESC_GOTOFF12 to
9276 complain_overflow_signed.
9277 * elf32-frv.c (_frv_add_rofixup): Do not error out if contents
9278 have not been allocated.
9279 (_frv_emit_got_relocs_plt_entries): Return non-void. Assert
9280 privfd only if dynamic sections were created.
9281 (elf32_frv_relocate_section): Compute gprel_segment, and use it
9282 for GPREL relocs. When linking relocatable FDPIC executables,
9283 emit warnings for relocations that would be illegal on PIE or
9284 shared libraries. Emit rofixup for R_FRV_32 only if input object
9285 is not FDPIC.
9286 (_frv_create_got_section): Define _gp symbol in the rofixup
9287 section.
9288 (elf32_frv_finish_dynamic_sections): If rofixups needed but
9289 dynamic sections missing, error out requesting -melf32frvfd.
9290 2003-09-19 Alexandre Oliva <[email protected]>
9291 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Rearrange
9292 computation of addends from section and global or local symbol
9293 value. Change return type to bfd_boolean, and return a failure if
9294 a dynamic FUNCDESC or FUNCDESC_VALUE relocation that requires a
9295 nonzero addend is required.
9296 (elf32_frv_relocate_section): Likewise. Print error for
9297 unsupported nonzero addends.
9298 2003-09-18 Alexandre Oliva <[email protected]>
9299 * elf32-frv.c (FRV_SYM_LOCAL): In the absence of dynamic sections,
9300 force everything local.
9301 (_frv_emit_got_relocs_plt_entries): Cope with NULL sec.
9302 * elf32-frv.c (struct frv_elf_link_hash_table): Added sgotfixup.
9303 (frv_gotfixup_section): New.
9304 (FRV_SYM_LOCAL): Accept undefweak and local common symbols.
9305 (struct frv_pic_relocs_info): Split relocs into relocs32, relocsfd
9306 and relocsfdv.
9307 (_frv_add_rofixup): New.
9308 (_frv_emit_got_relocs_plt_entries): Generate fixups for non-PIE
9309 fdpic executables. Use FRV_SYM_LOCAL more widely to simplify and
9310 improve some ugly conditions.
9311 (elf32_frv_relocate_section): Likewise. Reject inter-segment
9312 relocations in fdpic.
9313 (_frv_create_got_section): Create .rofixup.got section.
9314 (struct _frv_dynamic_got_info): Added fixups.
9315 (_frv_count_got_plt_entries): Account in-GOT relocations into
9316 relocs32, relocsfd and relocsfdv. Account them into relocs or
9317 fixups, as appropriate.
9318 (elf32_frv_size_dynamic_sections): Size rofixup section. Simplify
9319 sizing of gotrel.
9320 (elf32_frv_finish_dynamic_sections): Verify that the right number
9321 of relocations and fixups was generated.
9322 (elf32_frv_check_relocs): Compute relocs32, relocsfd and
9323 relocsfdv.
9324 * elf32-frv.c (FRV_SYM_LOCAL): New macro, used instead of
9325 SYMBOL_CALLS_LOCAL and SYMBOL_REFERENCES_LOCAL.
9326 (FRV_FUNCDESC_LOCAL): New macro, used to decide whether a function
9327 descriptor of a (formerly-)global symbol is local.
9328 (struct frv_pic_relocs_info): Adjust comments.
9329 (_frv_emit_got_relocs_plt_entries): Adjust.
9330 (elf32_frv_relocate_section): Likewise.
9331 (_frv_count_got_plt_entries): Likewise.
9332 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Don't add global
9333 symbol's value to addend in the common preamble. Decay dynamic
9334 symbols to section+offset if they bind or call locally, for GOT
9335 and FUNCDESC_VALUE, respectively.
9336 (elf32_frv_relocate_section): Likewise.
9337 (elf32_frv_check_relocs): Don't register as dynamic symbols of
9338 internal or hidden visibility.
9339 2003-09-17 Alexandre Oliva <[email protected]>
9340 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Get addend as
9341 argument, so as to not call _bfd_elf_rel_local_sym to compute it.
9342 (elf32_frv_relocate_section): Pass relocation addend in. Use
9343 original relocation addend to look up the got relocs/plt entries
9344 table. Do not call _bfd_elf_rel_local_sym. Don't error out when
9345 processing relocations that reference .scommon symbols.
9346 2003-09-15 Alexandre Oliva <[email protected]>
9347 Introduce support for dynamic linking.
9348 * elf32-frv.c (R_FRV_FUNCDESC_VALUE): Mark it as 64 bits.
9349 (elf32_frv_rel_32_howto, elf32_frv_rel_funcdesc_howto,
9350 elf32_frv_rel_funcdesc_value_howto): New REL descriptors.
9351 (frv_reloc_type_lookup): Return REL howtos for executables and
9352 dynamic libraries.
9353 (frv_info_to_howto_rel): New.
9354 (struct frv_elf_link_hash_table): New.
9355 (frv_hash_table, frv_got_section, frv_gotrel_section,
9356 frv_plt_section, frv_pltrel_section, frv_relocs_info,
9357 frv_got_initial_offset, frv_plt_initial_offset): New macros.
9358 (frv_elf_link_hash_table_create): New.
9359 (struct frv_pic_relocs_info): New.
9360 (frv_pic_relocs_info_hash, frv_pic_relocs_info_eq): New.
9361 (frv_pic_relocs_info_find): New.
9362 (frv_pic_relocs_info_for_global, frv_pic_relocs_info_for_local):
9363 New.
9364 (FRV_LZPLT_BLOCK_SIZE, FRV_LZPLT_RESOLVE_LOC): New.
9365 (_frv_add_dyn_reloc, _frv_osec_to_segment): New.
9366 (_frv_emit_got_relocs_plt_entries): New.
9367 (elf32_frv_relocate_section): Add support for dynamic linking.
9368 Handle new relocations.
9369 (_frv_create_got_section): New.
9370 (elf32_frv_create_dynamic_sections): New.
9371 (ELF_DYNAMIC_INTERPRETER): New.
9372 (struct _frv_dynamic_got_info): New.
9373 (_frv_count_got_plt_entries): New.
9374 (struct _frv_dynamic_got_plt_info): New.
9375 (_frv_compute_got_alloc_data): New.
9376 (_frv_get_got_entry, _frv_get_fd_entry): New.
9377 (_frv_assign_got_entries, _frv_assign_plt_entries): New.
9378 (_frv_resolve_final_relocs_info): New.
9379 (elf32_frv_size_dynamic_sections): New.
9380 (elf32_frv_finish_dynamic_sections): New.
9381 (elf32_frv_adjust_dynamic_symbol): New.
9382 (elf32_frv_finish_dynamic_symbol): New.
9383 (elf32_frv_check_relocs): Handle new relocs. Explain how the
9384 whole thing works.
9385 (elf_info_to_howto_rel): Define.
9386 (bfd_elf32_bfd_link_hash_table_create): Define.
9387 (elf_backend_create_dynamic_sections): Define.
9388 (elf_backend_adjust_dynamic_symbol): Define.
9389 (elf_backend_size_dynamic_sections): Define.
9390 (elf_backend_finish_dynamic_symbol): Define.
9391 (elf_backend_finish_dynamic_sections): Define.
9392 (elf_backend_want_got_sym): Define.
9393 (elf_backend_got_header_size): Define.
9394 (elf_backend_want_got_plt): Define.
9395 (elf_backend_plt_readonly): Define.
9396 (elf_backend_want_plt_sym): Define.
9397 (elf_backend_plt_header_size): Define.
9398 (elf_backend_may_use_rel_p): Define.
9399 (elf_backend_may_use_rela_p): Define.
9400 (elf_backend_default_use_rela_p): Define.
9401 2003-08-08 Alexandre Oliva <[email protected]>
9402 * elf32-frv.c (R_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_GOTOFF12,
9403 R_FRV_FUNCDESC_GOTOFFHI, R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12,
9404 R_FRV_GOTOFFHI, R_FRV_GOTOFFLO): New.
9405 (frv_reloc_map): Map the corresponding BFD relocs to them.
9406 (frv_reloc_type_lookup): ... and back to BFD relocs.
9407 * reloc.c: New relocs.
9408 * bfd-in2.h, libbfd.h: Rebuilt.
9409 2003-08-04 Alexandre Oliva <[email protected]>
9410 * elf32-frv.c (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
9411 R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
9412 R_FRV_FUNCDESC_GOTLO): New.
9413 (frv_reloc_map): Map the corresponding BFD relocs to them.
9414 (frv_reloc_type_lookup): ... and back to BFD relocs.
9415 * reloc.c: New relocs.
9416 * bfd-in2.h, libbfd.h: Rebuilt.
9417
4301eeb1
MR
94182004-01-05 Maciej W. Rozycki <[email protected]>
9419
9420 * elf32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
9421 targets to support pages of up to 64kB.
9422 (elf32_bed): Redefine to get a separate backend data structure for
9423 traditional targets.
9424 * elf64-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
9425 targets to support pages of up to 64kB.
9426 (elf64_bed): Redefine to get a separate backend data structure for
9427 traditional targets.
9428 * elfn32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
9429 targets to support pages of up to 64kB.
9430 (elf32_bed): Redefine to get a separate backend data structure for
9431 traditional targets.
9432
0647ed71
MK
94332004-01-04 Mark Kettenis <[email protected]>
9434
9435 * elf32-sparc.c (elf32_sparc_grok_psinfo): New function.
9436
61adc1a4
NC
94372004-01-02 Mark Kettenis <[email protected]>
9438
9439 * elf32-i386.c (elf_i386_grok_prstatus): Add support for FreeBSD.
9440 (elf_i386_grok_psinfo): Likewise.
9441
b50c15dc
NC
94422004-01-02 Bernardo Innocenti <[email protected]>
9443
9444 * config.bfd: Add m68k-uClinux target.
9445
2627de83
AM
94462004-01-01 Grant Edwards <[email protected]>
9447
9448 * elflink.h (elf_gc_sections): Warn when gc-sections option is ignored.
9449 * elf32-h8300.c (elf32_h8_gc_mark_hook): New function.
9450 (elf32_h8_gc_sweep_hook): New function.
9451 (elf_backend_gc_mark_hook): Define.
9452 (elf_backend_gc_sweep_hook): Define.
9453 (elf_backend_can_gc_sections): Define.
9454
c9e214e5 9455For older changes see ChangeLog-0203
56882138
AM
9456\f
9457Local Variables:
9458mode: change-log
9459left-margin: 8
9460fill-column: 74
9461version-control: never
9462End:
This page took 1.757592 seconds and 4 git commands to generate.