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