*** empty log message ***
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
664fe1be
DJ
12005-03-08 Daniel Jacobowitz <dan@codesourcery.com>
2
3 * configure.in: Bump version to 2.16.90.
4 * configure: Regenerated.
5
0709bb22
JJ
62005-03-07 Jakub Jelinek <jakub@redhat.com>
7
8 * opncls.c (opncls_bread, opncls_bclose): Fix if pread resp.
9 close is a function like macro in system headers.
10
b18e2ae5
AM
112005-03-07 Alan Modra <amodra@bigpond.net.au>
12
13 PR ld/778
14 * elf32-hppa.c (elf32_hppa_create_dynamic_sections): Reinstate
15 _GLOBAL_OFFSET_TABLE_ as a normal dynamic symbol.
16
1f170678
AM
172005-03-06 Alan Modra <amodra@bigpond.net.au>
18
19 * elf.c (elfcore_grok_win32pstatus): Warning fixes.
20
06647dfd
AM
212005-03-05 Alan Modra <amodra@bigpond.net.au>
22
23 * po/bfd.pot: Regenerate.
24
93f3fa99
AM
252005-03-05 Alan Modra <amodra@bigpond.net.au>
26
27 * elf64-ppc.c (update_plt_info): Don't mark new ABI call syms
28 with is_func.
29 (func_desc_adjust): Force dot-syms local in executables as well
30 as shared libs.
31
bbe506e8
TS
322005-03-04 David Daney <ddaney@avtrex.com>
33
34 * elfxx-mips.c (mips_elf_calculate_relocation): Handle special
35 '__gnu_local_gp' symbol used by gas -mno-shared.
36
d27f5fa1
L
372005-03-03 H.J. Lu <hongjiu.lu@intel.com>
38
39 * elf-bfd.h (elf_backend_data): Add "const char *" to
40 elf_backend_section_from_phdr.
41
42 * elf.c (bfd_section_from_phdr): Pass "proc" to the
43 elf_backend_section_from_phdr hook.
44
0f20cc35
DJ
452005-03-02 Daniel Jacobowitz <dan@codesourcery.com>
46 Joseph Myers <joseph@codesourcery.com>
47
48 * elfxx-mips.c (struct mips_got_entry): Add tls_type.
49 (struct mips_got_info): Add tls_gotno, tls_assigned_gotno,
50 and tls_ldm_offset.
51 (struct mips_elf_got_per_bfd_arg): Add global_count.
52 (struct mips_elf_count_tls_arg): New.
53 (struct mips_elf_hash_sort_data): Update comment for min_got_dynindx.
54 (struct mips_elf_link_hash_entry): Add tls_type and tls_got_offset.
55 (GOT_NORMAL, GOT_TLS_GD, GOT_TLS_LDM, GOT_TLS_IE)
56 (GOT_TLS_OFFSET_DONE, GOT_TLS_DONE): Define.
57 (TLS_RELOC_P): Define.
58 (TP_OFFSET, DTP_OFFSET): Define.
59 (dtprel_base, tprel_base): New functions.
60 (mips_elf_link_hash_newfunc): Initialize tls_type.
61 (mips_elf_got_entry_hash, mips_elf_got_entry_eq)
62 (mips_elf_multi_got_entry_hash, mips_elf_multi_got_entry_eq): Handle
63 TLS entries.
64 (mips_tls_got_relocs, mips_elf_count_local_tls_relocs)
65 (mips_elf_count_global_tls_entries, mips_elf_count_global_tls_relocs)
66 (mips_elf_output_dynamic_relocation, mips_elf_initialize_tls_slots)
67 (mips_tls_got_index): New functions.
68 (mips_elf_local_got_index): Add new R_SYMNDX, H, and R_TYPE
69 arguments. Pass them to mips_elf_create_local_got_entry. Use
70 mips_tls_got_index.
71 (mips_elf_global_got_index): Add new R_TYPE and INFO arguments.
72 Handle TLS entries.
73 (mips_elf_got_page, mips_elf_got16_entry): Update calls to
74 mips_elf_create_local_got_entry.
75 (mips_elf_create_local_got_entry): Add new R_SYMNDX, H, and R_TYPE
76 arguments. Handle TLS entries.
77 (mips_elf_sort_hash_table_f): Add non-TLS assertions.
78 (mips_elf_record_local_got_symbol): Add new TLS_FLAG argument. Handle
79 TLS entries.
80 (mips_elf_record_global_got_symbol): Likewise.
81 (mips_elf_make_got_per_bfd): Initialize new mips_got_info members.
82 Count TLS entries.
83 (mips_elf_merge_gots): Handle TLS entries when merging.
84 (mips_elf_initialize_tls_index): New function.
85 (mips_elf_set_global_got_offset): Handle TLS entries.
86 (mips_elf_adjust_gp): Handle TLS.
87 (mips_elf_multi_got): Remove redundant call to
88 mips_elf_resolve_final_got_entries. Initialize global_count.
89 Correct a comment. Initialize new TLS members of mips_got_info.
90 Assign TLS GOT indexes for new GOTs.
91 (mips_elf_create_got_section): Initialize new TLS members of
92 mips_got_info.
93 (mips_elf_calculate_relocation): Handle TLS relocs.
94 (_bfd_mips_elf_check_relocs): Likewise. Update calls to changed
95 functions.
96 (_bfd_mips_elf_always_size_sections): Handle TLS.
97 (_bfd_mips_elf_size_dynamic_sections): Likewise.
98 (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Update calls to
99 changed functions.
100 (_bfd_mips_elf_copy_indirect_symbol): Copy tls_type.
101 (_bfd_mips_elf_hide_symbol): Handle TLS.
102 * elfn32-mips.c (elf_mips_howto_table_rel, elf_mips_howto_table_rela)
103 (mips_reloc_map): Add TLS relocs.
104 * elf32-mips.c (elf_mips_howto_table_rel, mips_reloc_map): Likewise.
105 * elf64-mips.c (mips_elf64_howto_table_rel)
106 (mips_elf64_howto_table_rela, mips_reloc_map): Likewise.
107 * reloc.c: Define new MIPS TLS relocations.
108 * libbfd.h, bfd-in2.h: Regenerated.
109
bb14f524
JB
1102005-03-02 Jan Beulich <jbeulich@novell.com>
111
112 * Makefile.am: Add dependency of cache.o on libiberty.h.
113 * cache.c: Include libiberty.h.
114 (bfd_open_file): Use unlink_if_ordinary instead of unlink.
115
8c1acd09
ZW
1162005-03-01 Zack Weinberg <zack@codesourcery.com>
117
118 * elf.c (bfd_section_from_shdr <default case>): Call
119 elf_backend_section_from_shdr hook unconditionally, and return
120 what it returns.
121 (bfd_section_from_phdr): Similarly, for elf_backend_section_from_phdr.
122 * elfxx-target.h (elf_backend_section_from_shdr)
123 (elf_backend_section_from_phdr): Default to
124 _bfd_elf_make_section_from_shdr and _bfd_elf_make_section_from_phdr
125 respectively.
126
70bfecec
AM
1272005-03-01 Alan Modra <amodra@bigpond.net.au>
128
a67a7b8b
AM
129 * targets.h: Typo fix.
130 * bfd-in2.h: Regenerate.
131
70bfecec
AM
132 * bout.c (b_out_write_object_contents): Don't use sizeof on host
133 structs to size on-disk structures.
134 (b_out_set_section_contents): Size the external struct, not the
135 internal one for on-disk size.
136 (b_out_sizeof_headers): Likewise.
137
ceb1f1ef
AM
1382005-03-01 Alan Modra <amodra@bigpond.net.au>
139
140 * elf64-ppc.c (ppc64_elf_size_stubs): Override defined dot-sym
141 entry points with the func descriptor as well as undefweak.
142
f67e617a
NC
1432005-02-28 Ross Ridge <rridge@csclub.uwaterloo.ca>
144
145 * peicode.h (pe_ILF_build_a_bfd): Do not assume that an @ will be
146 present when IMPORT_NAME_UNDOECRATE is used.
147
af44c138
L
1482005-02-28 H.J. Lu <hongjiu.lu@intel.com>
149
150 PR 757
151 * elf-bfd.h (_bfd_elf_merge_symbol): Add a pointer to unsigned
152 int.
153
154 * elf32-sh-symbian.c (sh_symbian_relocate_section): Pass NULL
155 to _bfd_elf_merge_symbol.
156
157 * elflink.c (_bfd_elf_merge_symbol): Use the pointer to
158 unsigned int to return the alignment of the old common symbol
159 in the dynamic object.
160 (_bfd_elf_add_default_symbol): Pass NULL to
161 _bfd_elf_merge_symbol.
162 (elf_link_add_object_symbols): Pass &old_alignment to
163 _bfd_elf_merge_symbol. Get the alignment of the new common
164 symbol in the dynamic object.
165
10adf131
BE
1662005-02-24 Ben Elliston <bje@au.ibm.com>
167
168 * coffcode.h (coff_sym_filepos): Remove GNU960 conditional code.
169 * format.c (bfd_check_format_matches): Likewise.
170 * archive.c (BFD_GNU960_ARMAG): Likewise.
171 (bfd_generic_archive_p): Likewise.
172 (_bfd_write_archive_contents): Likewise.
173
60b779bf
L
1742005-02-24 H.J. Lu <hongjiu.lu@intel.com>
175
176 * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.95.
177 * configure: Regenerate.
178
1f02cbd9
JB
1792005-02-24 Julian Brown <julian@sirius.codesourcery.com>
180
181 * elflink.c (elf_link_add_object_symbols): Force symbols in discarded
182 COMDAT group sections to have default visibility.
183
f60ca5e3
AM
1842005-02-24 Alan Modra <amodra@bigpond.net.au>
185
186 * coffcode.h (coff_print_aux): Warning fix.
187 * elf-m10300.c (mn10300_elf_relax_section): Use section->id
188 instead of section pointer to identify.
189 * coff-h8300.c (h8300_reloc16_extra_cases): Likewise. Allocate
190 the correct size buffer for local sym mangling too.
191 (h8300_bfd_link_add_symbols): Likewise.
192 * elf32-sh-symbian.c (sh_symbian_process_embedded_commands): Fix
193 warning.
194 * elf32-sh64.c (shmedia_prepare_reloc): Use %B and %p in error message
195 * elf32-xtensa.c (literal_value_hash): Warning fix.
196 * versados.c (process_otr): Warning fix.
197 (versados_canonicalize_reloc): Likewise.
198 * vms-gsd.c (_bfd_vms_slurp_gsd): Warning fix.
199 * vms.c (fill_section_ptr): Warning fix.
200
9a5d8e72
L
2012005-02-23 H.J. Lu <hongjiu.lu@intel.com>
202
203 * coff-tic54x.c (SWAP_OUT_RELOC_EXTRA): Defined.
204 * coff-tic80.c (SWAP_OUT_RELOC_EXTRA): Likewise.
205
4b6c0f2f
NC
2062005-02-23 Nick Clifton <nickc@redhat.com>
207
abc0f8d0
NC
208 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Initialise
209 the relvaddr field of the Elf32_crinfo structure.
210
9b69b847
NC
211 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Initialise
212 variables that are passed by reference to
213 m68hc11_get_relocation_value in case that function does not
214 initialise them.
215
90e868ac
NC
216 * elf32-cr16c.c (cr16c_elf_final_link_relocate): Remove duplicated
217 return statements and replace with a single return at the end of
218 the function. This helps pacify the flow analysis code in gcc 4.0.
219
4b6c0f2f
NC
220 * elf.c (_bfd_elf_compute_section_file_positions): Initialise
221 strtab to avoid compile time warning.
222
c3e8c140
BE
2232005-02-23 Ben Elliston <bje@au.ibm.com>
224
225 * opncls.c (bfd_zalloc): Document this function.
226
ebe372c1
L
2272005-02-21 H.J. Lu <hongjiu.lu@intel.com>
228
229 * coffcode.h (sec_to_styp_flags): Replaced SEC_CLINK with
230 SEC_TIC54X_CLINK. Replace SEC_BLOCK with SEC_TIC54X_BLOCK.
231 Replace SEC_SHARED with SEC_COFF_SHARED.
232 (styp_to_sec_flags): Likewise.
233
234 * elfxx-target.h (TARGET_BIG_SYM): Remove SEC_ARCH_BIT_0.
235 (TARGET_LITTLE_SYM): Likewise.
236
237 * section.c (SEC_ARCH_BIT_0): Removed.
238 (SEC_LINK_DUPLICATES_SAME_CONTENTS): Defined with
239 SEC_LINK_DUPLICATES_ONE_ONLY and SEC_LINK_DUPLICATES_SAME_SIZE.
240 (SEC_SHARED): Renamed to ...
241 (SEC_COFF_SHARED): This.
242 (SEC_BLOCK): Renamed to ...
243 (SEC_TIC54X_BLOCK): This.
244 (SEC_CLINK): Renamed to ...
245 (SEC_TIC54X_CLINK): This.
246 (SEC_XXX): Rearranged. Move SEC_COFF_SHARED_LIBRARY,
247 SEC_COFF_SHARED, SEC_TIC54X_BLOCK and SEC_TIC54X_CLINK to the
248 end.
249 * bfd-in2.h: Regenerated.
250
26bf4e33
FF
2512005-02-21 Fred Fish <fnf@specifixinc.com>
252
253 * dwarf2.c (find_abstract_instance_name): Call recursively
254 to handle a DW_AT_specification.
255
e6daada3
TS
2562005-02-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
257
258 * elfxx-mips.c (ecoff_swap_rpdr_out, mips_elf_output_extsym,
259 mips_elf_create_dynamic_relocation,
260 _bfd_mips_elf_size_dynamic_sections, _bfd_mips_elf_final_link):
261 Remove #if 0'd code.
262
d25604af
AM
2632005-02-21 Alan Modra <amodra@bigpond.net.au>
264
265 * Makefile.am: Run "make dep-am"
266 * Makefile.in: Regenerate.
267
fedf8d51
AM
2682005-02-21 Alan Modra <amodra@bigpond.net.au>
269
270 * coffgen.c (bfd_coff_get_comdat_section): Check that
271 coff_section_data isn't NULL.
272
f075ee0c
AM
2732005-02-21 Alan Modra <amodra@bigpond.net.au>
274
275 * bfd-in.h (bfd_elf_bfd_from_remote_memory): Warning fix.
276 * coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): Likewise.
277 * coff-rs6000.c (xcoff_write_armap_big): Warning fixes. Remove
278 useless assignments.
279 (xcoff_write_archive_contents_big): Likewise.
280 (_bfd_xcoff_put_ldsymbol_name): Likewise.
281 * coff64-rs6000.c (_bfd_xcoff64_put_ldsymbol_name): Likewise.
282 * coffgen.c (coff_write_symbols): Make "written" a bfd_vma.
283 * cofflink.c (process_embedded_commands): Warning fixes.
284 * cpu-arm.c: Delete unnecessary prototypes. Convert to C90.
285 Warning fixes.
286 * dwarf2.c: Warning fixes.
287 * elf-bfd.h: Likewise.
288 * elf-eh-frame.c: Likewise.
289 * elf-strtab.c: Likewise.
290 * elf.c: Likewise.
291 * elf32-m68k.c: Likewise.
292 * elf32-ppc.c: Likewise.
293 * elf32-sh-symbian.c: Likewise.
294 * elf32-sh.c: Delete unnecessary prototypes. Warning fixes.
295 * elf64-sh64.c: Likewise.
296 * peicode.h: Likewise.
297 * elf64-mmix.c: Warning fixes.
298 * elfcode.h: Likewise.
299 * elfxx-mips.c: Likewise.
300 * libbfd-in.h: Likewise.
301 * libbfd.c: Likewise.
302 * mach-o.c: Likewise.
303 * merge.c: Likewise.
304 * mmo.c: Likewise.
305 * opncls.c: Likewise.
306 * pef.c: Likewise.
307 * srec.c: Likewise.
308 * vms-hdr.c: Likewise.
309 * vms-tir.c: Likewise.
310 * xtensa-isa.c: Likewise.
311 * xtensa-modules.c: Likewise.
312 * xsym.c: Likewise.
313 (pstrcmp): Use correct choice of string lengths. Fix return value.
314 (bfd_sym_module_name): Correct string length.
315 * bfd-in2.h: Regenerate.
316 * libbfd.h: Regenerate.
317
68320ddb
AO
3182005-02-17 Alexandre Oliva <aoliva@redhat.com>
319
320 * elf32-frv.c (elf32_frv_relocate_section): Remove warning from
fedf8d51 321 uninitialized check_segment[1] in TLSMOFF case.
68320ddb
AO
322 Reported by Alan Modra.
323 (elf32_frv_relocate_section): Improve errors and warnings.
324
1808e341
AM
3252005-02-17 Alan Modra <amodra@bigpond.net.au>
326
327 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Fix warning.
328
5ff625e9
AM
3292005-02-16 Alan Modra <amodra@bigpond.net.au>
330
331 * coff-arm.c (coff_arm_is_local_label_name): Warning fix.
332 * elf32-frv.c (frvfdpic_relocs_info_hash): Likewise.
333 * pef.c (bfd_pef_scan): Don't ignore return value of
334 bfd_pef_scan_start_address.
7e3102a7
AM
335 * mach-o.c (bfd_mach_o_scan): Don't ignore return value of
336 bfd_mach_o_scan_start_address.
337 * elfxx-ia64.c (elfNN_ia64_relax_brl): Rewrite for 32-bit bfd_vma.
338 * elfxx-mips.c: Remove unnecessary prototypes.
339 (sort_dynamic_relocs_64): Abort if not BFD64.
5ff625e9 340
92b7a70f
AM
3412005-02-16 Alan Modra <amodra@bigpond.net.au>
342
343 * elf64-ppc.c (ppc64_elf_edit_toc): Skip toc if size is zero.
344 Skip toc reloc adjust if reloc_count is zero.
345
d6f16593 3462005-02-15 Nigel Stephens <nigel@mips.com>
fedf8d51 347 Maciej W. Rozycki <macro@mips.com>
d6f16593
MR
348
349 * elf32-mips.c (elf_mips16_howto_table_rel): New array for MIPS16
350 reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16 relocs and
351 R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
352 (elf_mips16_jump_howto): Move into elf_mips16_howto_table_rel.
353 (elf_mips16_gprel_howto): Likewise. Redefine src_mask and
354 dst_mask.
355 (mips16_gprel_reloc): Remove bit shuffling; call
356 _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
357 and _bfd_mips16_elf_reloc_shuffle() instead.
358 (mips16_reloc_map): New reloc map for MIPS16 relocs.
359 (bfd_elf32_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
360 relocs.
361 (mips_elf32_rtype_to_howto): Fetch MIPS16 howtos from
362 elf_mips16_howto_table_rel.
363 * elf64-mips.c (mips16_elf64_howto_table_rel): New array for
364 MIPS16 REL reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16
365 relocs and R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
366 (elf_mips16_jump_howto): Move into mips16_elf64_howto_table_rel.
367 (elf_mips16_gprel_howto): Likewise. Redefine src_mask and
368 dst_mask.
369 (mips16_elf64_howto_table_rela): New array for MIPS16 RELA
370 reloc howtos. Add R_MIPS16_26, R_MIPS16_GPREL, R_MIPS16_HI16 and
371 R_MIPS16_LO16 relocs and R_MIPS16_GOT16 and R_MIPS16_CALL16
372 placeholders.
373 (mips16_gprel_reloc): Remove bit shuffling; call
374 _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
375 and _bfd_mips16_elf_reloc_shuffle() instead.
376 (mips16_reloc_map): New reloc map for MIPS16 relocs.
377 (bfd_elf64_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
378 relocs.
379 (mips_elf64_rtype_to_howto): Fetch MIPS16 howtos from
380 mips16_elf64_howto_table_rela or mips16_elf64_howto_table_rel.
381 * elfn32-mips.c (elf_mips16_howto_table_rel): New array for MIPS16
382 REL reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16 relocs and
383 R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
384 (elf_mips16_jump_howto): Move into elf_mips16_howto_table_rel.
385 (elf_mips16_gprel_howto): Likewise. Redefine src_mask and
386 dst_mask.
387 (mips16_gprel_reloc): Remove bit shuffling; call
388 _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
389 and _bfd_mips16_elf_reloc_shuffle() instead.
390 (mips16_reloc_map): New reloc map for MIPS16 relocs.
391 (bfd_elf32_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
392 relocs.
393 (mips_elf_n32_rtype_to_howto): Fetch MIPS16 howtos from
394 elf_mips16_howto_table_rela or elf_mips16_howto_table_rel.
395 * elfxx-mips.c (_bfd_mips16_elf_reloc_unshuffle): New function to
396 handle bit shuffling for MIPS16 relocs.
397 (_bfd_mips16_elf_reloc_shuffle): Likewise.
398 (_bfd_mips_elf_lo16_reloc): Use _bfd_mips16_elf_reloc_unshuffle()
399 and _bfd_mips16_elf_reloc_shuffle().
400 (_bfd_mips_elf_generic_reloc): Likewise.
401 (mips_elf_calculate_relocation): Likewise. Handle R_MIPS16_HI16
402 and R_MIPS16_LO16.
403 (mips_elf_obtain_contents): Remove bit shuffling.
404 (mips_elf_perform_relocation): Likewise; call
405 _bfd_mips16_elf_reloc_unshuffle() and _bfd_mips16_elf_reloc_shuffle()
406 instead.
407 (_bfd_mips_elf_relocate_section): Likewise. Handle R_MIPS16_HI16
408 and R_MIPS16_LO16.
409 * elfxx-mips.h (_bfd_mips16_elf_reloc_unshuffle): Declare.
410 (_bfd_mips16_elf_reloc_shuffle): Likewise.
411 * reloc.c (BFD_RELOC_MIPS16_HI16): New reloc.
412 (BFD_RELOC_MIPS16_HI16_S): Likewise.
413 (BFD_RELOC_MIPS16_LO16): Likewise.
414 * bfd-in2.h: Regenerate.
415 * libbfd.h: Regenerate.
416
0ca3e455
JB
4172005-02-15 Jan Beulich <jbeulich@novell.com>
418
419 * elfxx-ia64.c (ia64_howto_table): Correct strings for
420 R_IA64_DTPMOD64[LM]SB.
421
c5509b92
L
4222005-02-14 H.J. Lu <hongjiu.lu@intel.com>
423
424 * elfxx-ia64.c (elfNN_ia64_relax_section): Allow relax
425 backward branch in the same section.
426 (elfNN_ia64_relocate_section): Inform users that the input
427 section is too big to relax br instruction when overflow
428 happens to R_IA64_PCREL21B, R_IA64_PCREL21BI, R_IA64_PCREL21M
429 and R_IA64_PCREL21F.
430
5cba516c
NC
4312005-02-14 Orjan Friberg <orjanf@axis.com>
432
433 * elfcore.h (elf_core_file_p): Move the call to
434 elf_backend_object_p to allow the correct machine to be set before
435 processing the program headers.
436
b59a68e1
NC
4372005-02-14 Nick Clifton <nickc@redhat.com>
438
439 PR binutils/716
440 * peicode.h (pe_bfd_copy_private_bfd_data): Copy the large address
441 aware flag from the input bfd to the output bfd.
442
254f0426
MR
4432005-02-11 Maciej W. Rozycki <macro@mips.com>
444
445 * elf32-mips.c (_bfd_mips_elf32_gprel16_reloc): Reject
446 R_MIPS_LITERAL relocations for external symbols.
447 * elf64-mips.c (mips_elf64_literal_reloc): Likewise.
448 * elfn32-mips.c (mips_elf_literal_reloc): Likewise.
449
e91cdea7
L
4502005-02-11 H.J. Lu <hongjiu.lu@intel.com>
451
452 * bfd-in2.h: Rebuilt.
453
67687978
PB
4542005-02-11 Paul Brook <paul@codesourcery.com>
455
456 * elf-bfd.h (struct elf_link_hash_table): Add
457 is_relocatable_executable.
458 * elf.c (_bfd_elf_link_hash_table_init): Initialize it.
459 * elflink.c (bfd_elf_link_record_dynamic_symbol): Create local dynamic
460 symbols in relocatable executables.
461 (bfd_elf_record_link_assignment): Create dynamic section symbols in
462 relocatable executables.
463 (_bfd_elf_link_renumber_dynsyms): Ditto.
464 (bfd_elf_final_link): Ditto.
465 * elf32-arm.c (elf32_arm_final_link_relocate): Copy absolute
466 relocations into relocatable executables.
467 (elf32_arm_check_relocs): Crate dynamic sections for relocatable
468 executables. Also copy absolute relocations.
469 (elf32_arm_adjust_dynamic_symbol): Don't create copy relocations
470 in relocatable executables.
471 (allocate_dynrelocs): Copy relocations for relocatable executables.
472 Output dynamic symbols for symbols defined in linker scripts.
473
ca724bf2
NC
4742005-02-11 Nick Clifton <nickc@redhat.com>
475
4b74b983
NC
476 * libbfd.c (read_signed_leb128): Use an unsigned type for 'shift'
477 to avoid a compile time warning.
478
ca724bf2
NC
479 * coff-alpha.c (alpha_adjust_reloc_in): Remove redundant test from
480 BFD_ASSERT.
481
3e25964f
NC
482 * coff-tic4x.c (coff_rtype_to_howto): Move definition before
483 inclusion of coffcode.h so that it is actually picked up.
484
cb7a88a4
NC
485 * coffcode.h (coff_std_swap_table): Add an unused attribute in
486 case it is not used.
487
596c83ec
NC
488 * elf32-ip2k.c (ip2k_call_opcode, IS_CALL_OPCODE): Remove unused
489 structure and macro.
490
6c408f53
NC
491 * elf32-iq2000.c (iq2000_reloc_map): Remove unused structure and
492 array.
493
d5b2f13b
NC
494 * elf32-m32r.c (m32r_reloc_map_old): Use #ifdef USE_M32R_OLD_RELOC
495 to protect the declaration of this array.
496
169a6afd
NC
497 * xsym.c (bfd_sym_parse_contained_variables_table_entry_v32):
498 Avoid call to memcpy with a size of 0.
499
2917689a
AM
5002005-02-12 Alan Modra <amodra@bigpond.net.au>
501
502 * elf64-ppc.c (toc_adjusting_stub_needed): Return true for
503 old-style branches to undefined dot-symbols which will be
504 satisfied by a plt call.
505
40d16e0b
AM
5062005-02-11 Alan Modra <amodra@bigpond.net.au>
507
508 * elf64-ppc.c (move_plt_plist): New function, extracted from..
509 (ppc64_elf_copy_indirect_symbol): ..here.
510 (func_desc_adjust): Use move_plt_plist.
511
e37c699c
PB
5122005-02-10 Paul Brook <paul@codesourcery.com>
513
514 * elf32-arm.c (elf32_arm_final_link_relocate): Handle R_ARM_THM_PC9.
515
6fa3860b
PB
5162005-02-10 Paul Brook <paul@codesourcery.com>
517
518 * elflink.c (bfd_elf_record_link_assignment): Make hidden and internal
519 symbols local.
520 (elf_link_renumber_hash_table_dynsyms): Ignore local symbols.
521 (elf_link_renumber_local_hash_table_dynsyms): New function.
522 (_bfd_elf_link_renumber_dynsyms): Number local dynamic symbols.
523
d457dcf6
JJ
5242005-02-10 Jakub Jelinek <jakub@redhat.com>
525
526 * bfd-in.h (BFD_LINKER_CREATED): Define.
527 * bfd-in2.h: Rebuilt.
528 * elflink.c (bfd_elf_size_dynamic_sections): Disregard
529 BFD_LINKER_CREATED bfds when determining input bfds without
530 .note.GNU-stack section.
531
7f05722e
MR
5322005-02-10 Maciej W. Rozycki <macro@mips.com>
533
534 * elf64-mips.c (mips16_gprel_reloc): Update a comment.
535 * elfn32-mips.c (mips16_gprel_reloc): Keep R_MIPS16_GPREL
536 relocations against external symbols unchanged.
537
ccf5f610
PB
5382005-02-08 Paul Brook <paul@codesourcery.com>
539
540 * elflink.c (elf_link_input_bfd): Ignore symbols from null input
541 sections.
542
370a0e1b
HPN
5432005-02-08 Hans-Peter Nilsson <hp@axis.com>
544
545 * elflink.c (elf_link_add_object_symbols): Don't add "warning: "
546 prefix here.
547
99277196
MR
5482005-02-07 Maciej W. Rozycki <macro@mips.com>
549
550 * elf64-mips.c: Fix formatting throughout.
551
6422fbef
MR
5522005-02-07 Maciej W. Rozycki <macro@mips.com>
553
554 * elfn32-mips.c (elf_mips_howto_table_rela): Fix a comment typo.
555
303e4c21
AO
5562005-02-07 Alexandre Oliva <aoliva@redhat.com>
557
558 * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove special handling for
559 *ABS*/*UND* sections.
560 (elf32_frv_relocate_section): Move zero-addend-required error...
561 (_frv_emit_got_relocs_plt_entries): ... here. Report error for
562 missing needed TLS section.
563
c3864421
HPN
5642005-02-07 Hans-Peter Nilsson <hp@axis.com>
565
566 * aoutx.h (NAME(aout,find_nearest_line)): Correct case for N_SO
567 being the last symbol.
9f400ee9
HPN
568 (aout_link_add_symbols): Just return TRUE if a warning
569 symbol was last.
c3864421 570
765f2ef6
MR
5712005-02-07 Maciej W. Rozycki <macro@mips.com>
572
573 * elf32-mips.c (mips_elf_gprel32_reloc): Reject
574 R_MIPS_GPREL32 relocations against external symbols.
575 * elf64-mips.c (mips_elf64_gprel32_reloc): Replace an incorrect
576 comment.
577
1b3a8575
AM
5782005-02-07 Alan Modra <amodra@bigpond.net.au>
579
580 * elf-bfd.h (elf_string_from_elf_strtab): Delete macro.
581 * elf.c (bfd_elf_string_from_elf_section): Expand occurrence of
582 elf_string_from_elf_strtab.
583 (_bfd_elf_setup_group_pointers, bfd_section_from_shdr): Likewise.
584 (bfd_section_from_shdr): For SHT_SYMTAB, load SHT_SYMTAB_SHNDX too
585 if it exists. Don't do the reverse for SHT_SYMTAB_SHNDX. For
586 SHT_STRTAB, check whether the strtab is for symtab or dynsymtab by
587 looking at cached symtab info first, before iterating over headers.
588 For SHT_REL and SHT_RELA, load dynsymtab if needed.
589 * elfcode.h (elf_object_p): Don't load section header stringtab
590 specially.
591
90f487df
L
5922005-02-06 H.J. Lu <hongjiu.lu@intel.com>
593
594 * elf32-i386.c (elf_i386_relocate_section): Disallow R_386_GOTOFF
595 against protected function when building shared library.
596
597 PR 584
598 * elf64-x86-64.c (is_32bit_relative_branch): New.
599 (elf64_x86_64_relocate_section): Alllow R_X86_64_PC32 on a
600 protected function symbol when building shared library for
601 32bit relative branch instruction.
602
c4f68ce3
AM
6032005-02-06 Alan Modra <amodra@bigpond.net.au>
604
605 * elf64-ppc.c (add_symbol_adjust): Don't create fake descriptor
606 syms when doing a relocatable link.
607 (ppc64_elf_gc_mark_hook): Check that syms are defined before looking
608 at u.def.section.
609 (ppc64_elf_tls_setup): Likewise.
610 (ppc64_elf_edit_opd): Don't use an undefined func desc sym.
611
908b32fc
AM
6122005-02-04 Alan Modra <amodra@bigpond.net.au>
613
614 * elf64-ppc.c (struct ppc_link_hash_entry): Add "fake".
615 (link_hash_newfunc): Clear all locals using memset.
616 (make_fdh): Remove flags param. Always create fake func desc
617 weak. Link the descriptor with the code entry sym.
618 (ppc64_elf_archive_symbol_lookup): Don't return fake syms.
619 (add_symbol_adjust): Adjust make_fdh call.
620 (func_desc_adjust): Likewise. Twiddle any pre-existing fake
621 descriptor to strong undefined if code entry is strong.
622
4ea42fb7
AM
6232005-02-04 Alan Modra <amodra@bigpond.net.au>
624
625 * elflink.c (bfd_elf_record_link_assignment): Do "provide" symbol
626 lookup here. Set to new before calling bfd_link_repair_undef_list.
627 (elf_smash_syms): Check that u.undef.weak isn't the not_needed bfd.
628
10d86c8a
AM
6292005-02-03 Alan Modra <amodra@bigpond.net.au>
630
631 * linker.c (_bfd_link_hash_newfunc): Set all local fields.
632
11f25ea6
AM
6332005-02-03 Alan Modra <amodra@bigpond.net.au>
634
635 * linker.c (_bfd_generic_link_add_one_symbol): Set u.undef.weak.
636 * elflink.c (elf_smash_syms): Restore symbols that were undefweak
637 before the as-needed lib was loaded. Abort on unexpected refs.
638
4f40114d
AM
6392005-02-02 Alan Modra <amodra@bigpond.net.au>
640
ec13b3bb
AM
641 * elflink.c (elf_smash_syms): Expand comments.
642 (elf_link_add_object_symbols): Only call elf_smash_syms for
643 as-needed dynamic objects.
644
4f40114d
AM
645 * elfxx-ia64.c (elfNN_ia64_new_elf_hash_entry): Don't clear
646 everything, just the field specific to ia64.
336549c1 647 * elf64-hppa.c (elf64_hppa_new_dyn_hash_entry): Likewise.
4f40114d 648
bb700d78
AM
6492005-02-01 Alan Modra <amodra@bigpond.net.au>
650
651 * elf64-ppc.c (func_desc_adjust): Move code creating func desc sym to..
652 (make_fdh): ..here. New function. Don't set BSF_OBJECT for
653 undefined syms.
654 (struct add_symbol_adjust_data): New.
655 (add_symbol_adjust): Make an undefweak func desc for old ABI
656 objects to link with --as-needed shared libs. Return fail status.
657 Don't adjust old ABI func entry sym to weak if func desc syms
658 isn't defined.
659 (ppc64_elf_check_directives): Adjust call to add_symbol_adjust,
660 and return status.
661
1ffd1c2f
HPN
6622005-02-01 Hans-Peter Nilsson <hp@axis.com>
663
664 * cpu-cris.c (get_compatible): Rearrange disabled code and comment
665 for clarity.
666
77cfaee6
AM
6672005-02-01 Alan Modra <amodra@bigpond.net.au>
668
669 * elf64-ppc.c (ppc64_elf_check_directives): Move undefs list fixup..
670 * linker.c (bfd_link_repair_undef_list): ..to new function, but don't
671 remove anything but new and undefweak.
672 * elflink.c (_bfd_elf_link_create_dynamic_sections): Override any
673 existing _DYNAMIC.
674 (_bfd_elf_create_dynamic_sections): Formatting.
675 (bfd_elf_record_link_assignment): Call bfd_link_repair_undef_list.
676 (_bfd_elf_merge_symbol): Don't handle as-needed syms here.
677 (struct elf_smash_data): New.
678 (elf_smash_syms): New function.
679 (elf_link_add_object_symbols): Call elf_smash_syms. Don't add
680 unneeded dynamic objects to loaded list.
681 (elf_link_output_extsym): Don't handle as-needed here. Strip
682 bfd_link_hash_new symbols.
683 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
684 delref when dynindx is already -1.
685 * elf64-alpha.c (elf64_alpha_output_extsym): Strip bfd_link_hash_new
686 symbols.
687 * elfxx-mips.c (mips_elf_output_extsym): Likewise.
688
b15c48d1
BE
6892005-02-01 Ben Elliston <bje@au.ibm.com>
690
691 * elfxx-target.h (bfd_elfNN_bfd_discard_group): Redefine.
692
0983f4eb 6932005-02-01 Ben Elliston <bje@au.ibm.com>
0e71e495
BE
694
695 * aout-arm.c, aout-target.h, aoutx.h, archive.c, armnetbsd.c,
696 bfd-in.h, bfdio.c, coff-alpha.c, coff-arm.c, coff-h8300.c,
697 coff-i860.c, coff-mcore.c, coff-or32.c, coff-ppc.c, coff-sh.c,
698 coff-sparc.c, coffcode.h, coffgen.c, cofflink.c, cpu-cris.c,
699 cpu-h8500.c, cpu-ns32k.c, ecoff.c, ecofflink.c, elf.c,
700 elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-hppa.c,
701 elf32-i860.c, elf32-ip2k.c, elf32-m32r.c, elf32-sh.c,
702 elf32-v850.c, elf64-mips.c, elf64-sparc.c, elflink.c,
703 i386aout.c, i386msdos.c, i386os9k.c, ieee.c, mach-o.c,
704 nlm32-sparc.c, oasys.c, opncls.c, pdp11.c, pe-mips.c, peXXigen.c,
705 pef.c, peicode.h, reloc.c, riscix.c, section.c, simple.c, som.c,
706 sparclynx.c, targets.c, vms-misc.c, vms-tir.c, xsym.c, doc/chew.c,
707 hosts/delta68.h, hosts/vaxbsd.h: Remove #if 0'd code
708 throughout. Similarly, collapse #if 1'd code.
709
7102005-02-01 Ben Elliston <bje@au.ibm.com>
711
0983f4eb
BE
712 * elf-bfd.h (bfd_elf_discard_group): Remove.
713 * elf.c (bfd_elf_discard_group): Likewise.
714 * elfxx-target.h (bfd_elfNN_bfd_discard_group): Remove macro.
715
8c946ed5
RS
7162005-01-31 Richard Sandiford <rsandifo@redhat.com>
717
718 * elf-bfd.h (elf_backend_data): Add elf_backend_eh_frame_address_size.
719 (_bfd_elf_eh_frame_address_size): Declare.
720 * elfxx-target.h (elf_backend_eh_frame_address_size): Define a default.
721 (elfNN_bed): Initialize elf_backend_eh_frame_address_size.
722 * elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Declare.
723 (elf_backend_eh_frame_address_size): Define.
724 * elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): New function.
725 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Get the address
726 size from the new backend hook.
727 (_bfd_elf_write_section_eh_frame): Likewise.
728 (_bfd_elf_eh_frame_address_size): New function.
729
c46f8c51
AC
7302005-01-31 Andrew Cagney <cagney@gnu.org>
731
732 * configure: Regenerate to track ../gettext.m4.
733
5cd3778d
MM
7342005-01-31 Mark Mitchell <mark@codesourcery.com>
735
736 * elf32-arm.c (elf32_arm_symbian_special_sections): Do not set
737 SHF_WRITE for .init_array, .fini_array, and .preinit_array.
ec13b3bb 738
d6486796
NC
7392005-01-31 Nick Clifton <nickc@redhat.com>
740
741 * confg.bfd: Make targets scheduled for obsoletion (m68k-lynxos,
742 sparc-lynxos, vax-vms) be obsolete.
743
b1342370
DJ
7442005-01-28 Daniel Jacobowitz <dan@codesourcery.com>
745
746 * elf-bfd.h (struct elf_backend_data): Add minpagesize.
747 * elf32-arm.c (ELF_MINPAGESIZE): Define.
748 * elf32-ppc.c (ELF_MINPAGESIZE): Define.
749 * elfcode.h (elf_object_p): Use minpagesize instead of
750 maxpagesize.
751 * elfxx-target.h (ELF_MINPAGESIZE): Default to ELF_MAXPAGESIZE.
752 (elfNN_bed): Include ELF_MINPAGESIZE.
753
319850b4
JB
7542005-01-28 Julian Brown <julian@codesourcery.com>
755
756 * bin-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
757 * bin-in2.h (bfd_elf32_arm_set_target_relocs): Update prototype.
758 * elf32-arm.c (elf32_arm_link_hash_table): Add fix_v4bx flag.
759 (bfd_elf32_arm_set_target_relocs): Add formal parameter fix_v4bx for
ec13b3bb 760 passing flag value from ld. Set flag value in global hash table entry.
319850b4 761 (elf32_arm_final_link_relocate): Add code to implement R_ARM_V4BX
ec13b3bb 762 relocation.
319850b4 763
a53bf506
AC
7642005-01-27 Andrew Cagney <cagney@gnu.org>
765
766 * configure: Regenerate to track ../gettext.m4 change.
767
dc4c9c19
MM
7682005-01-25 Mark Mitchell <mark@codesourcery.com>
769
770 * elf32-arm.c (elf_backend_default_use_rela_p): Define to zero for
ec13b3bb 771 SymbianOS.
dc4c9c19 772
90219bd0
AO
7732005-01-25 Alexandre Oliva <aoliva@redhat.com>
774
775 2004-12-10 Alexandre Oliva <aoliva@redhat.com>
776 * elf32-frv.c (elf32_frv_relocate_section): Force local binding
777 for TLSMOFF.
778 * reloc.c: Add R_FRV_TLSMOFF.
779 * elf32-frv.c (elf32_frv_howto_table): Likewise.
780 (frv_reloc_map, frv_reloc_type_lookup): Map it.
781 (elf32_frv_relocate_section): Handle it.
782 (elf32_frv_check_relocs): Likewise.
783 * libbfd.h, bfd-in2.h: Rebuilt.
784 2004-11-26 Alexandre Oliva <aoliva@redhat.com>
785 * elf32-frv.c (_frvfdpic_emit_got_relocs_plt_entries): Don't crash
786 when given an undefweak TLS symbol. Fix constant TLS PLT entries
787 such that they return the constant in gr9.
788 (_frvfdpic_relax_tls_entries): Don't crash for undefweak TLS
789 symbols.
790 (_frvfdpic_size_got_plt): Set _cooked_size of dynamic sections.
791 too, such that they shrink on relaxation.
792 (elf32_frvfdpic_finish_dynamic_sections): Check __ROFIXUP_END__ as
793 marking the position right past the _GLOBAL_OFFSET_TABLE_ value.
794 (_frvfdpic_assign_plt_entries): Shrink constant TLS PLT entries
795 if we can guarantee the use of 16-bit constants.
796 2004-11-10 Alexandre Oliva <aoliva@redhat.com>
797 Introduce TLS support for FR-V FDPIC.
798 * reloc.c: Add TLS relocations.
799 * elf32-frv.c (elf32_frv_howto_table): Add TLS relocations.
800 (elf32_frv_rel_tlsdesc_value_howto): New.
801 (elf32_frv_rel_tlsoff_howto): New.
802 (frv_reloc_map): Add new mappings.
803 (struct frvfdpic_elf_link_hash_table): Add pointer to summary
804 reloc information.
805 (frvfdpic_dynamic_got_plt_info): New.
806 (frvfdpic_plt_tls_ret_offset): New.
807 (ELF_DYNAMIC_INTERPRETER, DEFAULT_STACK_SIZE): Move earlier.
808 (struct _frvfdpic_dynamic_got_info): Likewise. Add TLS members.
809 (struct _frvfdpic_dynamic_got_plt_info): Likewise.
810 (FRVFDPIC_SYM_LOCAL): Regard symbols defined in the absolute
811 section as local.
812 (struct frvfdpic_relocs_info): Add TLS fields.
813 (frvfdpic_relocs_info_hash): Warning clean up.
814 (frvfdpic_relocs_info_find): Initialize tlsplt_entry.
815 (frvfdpic_pic_merge_early_relocs_info): Merge TLS fields.
816 (FRVFDPIC_TLS_BIAS): Define.
817 (tls_biased_base): New.
818 (_frvfdpic_emit_got_relocs_plt_entries): Deal with TLS
819 relocations.
820 (frv_reloc_type_lookup): Likewise.
821 (frvfdpic_info_to_howto_rel): Likewise.
822 (elf32_frv_relocate_section): Likewise.
823 (_frv_create_got_section): Create the PLT section here.
824 (elf32_frvfdpic_create_dynamic_sections): Not here.
825 (_frvfdpic_count_nontls_entries): Move out of...
826 (_frvfdpic_count_got_plt_entries): ... here.
827 (_frvfdpic_count_tls_entries): Likewise. Add TLS support.
828 (_frvfdpic_count_relocs_fixups): Likewise. Add relaxation
829 support.
830 (_frvfdpic_relax_tls_entries): New.
831 (_frvfdpic_compute_got_alloc_data): Add TLS support.
832 (_frvfdpic_get_tlsdesc_entry): New.
833 (_frvfdpic_assign_got_entries): Add TLS support.
834 (_frvfdpic_assign_plt_entries): Likewise.
835 (_frvfdpic_reset_got_plt_entries): New.
836 (_frvfdpic_size_got_plt): Move out of...
837 (elf32_frvfdpic_size_dynamic_sections): ... here.
838 (_frvfdpic_relax_got_plt_entries): New.
839 (elf32_frvfdpic_relax_section): New.
840 (elf32_frvfdpic_finish_dynamic_sections): Add TLS sanity check.
841 (elf32_frv_check_relocs): Add TLS support.
842 (bfd_elf32_bfd_relax_section): Define for FDPIC.
843 * libbfd.h, bfd-in2.h: Rebuilt.
844
8615f3f2
AM
8452005-01-25 Alan Modra <amodra@bigpond.net.au>
846
847 * elf.c (_bfd_elf_get_dynamic_reloc_upper_bound): Only include
848 loadable reloc sections.
849 (_bfd_elf_canonicalize_dynamic_reloc): Likewise.
850 (_bfd_elf_get_synthetic_symtab): Return 0 if no dynamic syms.
851
7e9f0867
AM
8522005-01-25 Alan Modra <amodra@bigpond.net.au>
853
854 * elflink.c (elf_link_add_object_symbols): Don't create link dynamic
855 sections immediately when linking shared libs. Instead, wait until
856 we know a lib is needed.
857 (_bfd_elf_link_create_dynstrtab): Extract from..
858 (_bfd_elf_link_create_dynamic_sections_): ..here.
859 (elf_add_dt_needed_tag): Call _bfd_elf_link_create_dynstrtab and
860 _bfd_elf_link_create_dynamic_sections. Add abfd param. Allow
861 for non-existent .dynamic.
862 (elf_link_output_extsym): Don't complain about undefined symbols
863 in as-needed dynamic libs that aren't actually linked.
864
45181ed1
AC
8652005-01-24 Andrew Cagney <cagney@gnu.org>
866
867 * configure: Regenerate, ../gettext.m4 was updated.
868
753e3eb6
BE
8692005-01-21 Ben Elliston <bje@au.ibm.com>
870
871 * aout-encap.c: Remove unused file.
872
1c16dfa5
L
8732005-01-19 H.J. Lu <hongjiu.lu@intel.com>
874
875 PR 679
876 * elflink.c (_bfd_elf_dynamic_symbol_p): Only protected
877 non-function symbols are local.
878 (_bfd_elf_symbol_refs_local_p): Likewise.
879
1449d79b
AM
8802005-01-18 Alan Modra <amodra@bigpond.net.au>
881
882 * bfd.c (bfd_link_just_syms): Add abfd param.
883 * bfd-in2.h: Regenerate.
884
dcf507a6
RS
8852005-01-17 Richard Sandiford <rsandifo@redhat.com>
886
887 * elf-eh-frame.c (skip_cfa_op, skip_non_nops): New functions.
888 (_bfd_elf_discard_section_eh_frame): Use them to interpret the CFA
889 instructions. If the amount of padding is known, reduce the size
890 of the CIE or FDE by that amount.
891
2c42be65
RS
8922005-01-17 Richard Sandiford <rsandifo@redhat.com>
893
894 * elf-bfd.h (struct cie): Use bfd_vmas for code_align, ra_column and
895 augmentation_size. Use bfd_signed_vmas for data_align.
896 * elf-eh-frame.c (read_uleb128, read_sleb128): Delete in favor of...
897 (read_byte, skip_leb128, read_uleb128, read_sleb128): ...these new
898 functions. Don't read past the end of the enclosing CIE or FDE.
899 (skip_bytes): New utility function.
900 (_bfd_elf_discard_section_eh_frame): Use new functions, adding more
901 sanity checking.
902 (_bfd_elf_write_section_eh_frame): Use new functions.
903
acfe5567
RS
9042005-01-17 Richard Sandiford <rsandifo@redhat.com>
905
906 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use an
907 assert-style REQUIRE() macro to handle sanity checks.
908
c0c28ab8
L
9092005-01-17 H.J. Lu <hongjiu.lu@intel.com>
910
911 * dwarf2.c (dwarf2_debug): Move info_ptr_unit to ...
912 (comp_unit): Here.
913 (read_unsigned_leb128): Removed.
914 (read_signed_leb128): Removed.
915 (find_abstract_instance_name): Updated.
916 (parse_comp_unit): Accept info_ptr_unit.
917 (_bfd_dwarf2_find_nearest_line): Set info_ptr_unit for each
918 comp unit and pass it to parse_comp_unit.
919
920 * elf-eh-frame.c (read_unsigned_leb128): Moved to ...
921 (read_signed_leb128): Moved to ...
922 * libbfd.c: Here.
923
924 * libbfd-in.h (read_unsigned_leb128): New prototype.
925 (read_signed_leb128): Likewise.
926 * libbfd.h: Regenerated.
927
e38bc3b5
NC
9282005-01-17 Andrew Stubbs <andrew.stubbs@st.com>
929 Nick Clifton <nickc@redhat.com>
930
931 * cpu-sh.c (bfd_to_arch_table): Change arch_sh1_up to arch_sh_up,
932 arch__sh4_nofp_up to arch_sh4_nofpu_up and arch_sh4a_nofp_up to
933 arch_sh4a_nofpu_up in order to match the external names and make the
934 testsuite's job easier.
935 * archuires.c: Rename bfd_mach_sh2a_fake? to more meaningful
936 names.
937 * bfd-in2.h: Regenerate.
938
8fb84ecc
AC
9392005-01-15 Andrew Cagney <cagney@gnu.org>
940
941 * bfd.m4: New file.
942 * acinclude.m4: Move BFD_NEED_DECLARATION,
943 BFD_HAVE_SYS_PROCFS_TYPE and BFD_HAVE_SYS_PROCFS_TYPE_MEMBER to
944 the new file bfd.m4. Include ../bfd/bfd.m4.
945 * configure: Re-generate.
8615f3f2 946
b4a38de6
AM
9472005-01-12 Alan Modra <amodra@bigpond.net.au>
948
949 * elf32-ppc.c (ppc_elf_howto_raw): Delete RELAX32* entries.
950 (ppc_elf_relax_section): Use PLT variants of RELAX32 relocs for
951 reaching PLT.
952 (ppc_elf_relocate_section): Handle R_PPC_RELAX32_PLT and
953 R_PPC_RELAX32PC_PLT.
954
3eb128b2
AM
9552005-01-11 Alan Modra <amodra@bigpond.net.au>
956
957 * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Follow indirect and warning
958 symbols.
959 * elf32-arm.c (elf32_arm_gc_sweep_hook): Likewise.
960 * elf32-cris.c (cris_elf_gc_sweep_hook): Likewise.
961 * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Likewise.
962 * elf32-i386.c (elf_i386_gc_sweep_hook): Likewise.
963 * elf32-m32r.c (m32r_elf_gc_sweep_hook): Likewise.
964 * elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise.
965 * elf32-ppc.c (ppc_elf_gc_sweep_hook): Likewise.
966 * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
967 * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
968 * elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise.
969 * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
970 * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Likewise.
971 * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
972 * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
973
264a1fe0
AM
9742005-01-11 Alan Modra <amodra@bigpond.net.au>
975
976 * elf32-ppc.c (ppc_elf_create_dynamic_sections): Correct
977 .dynsbss flags.
978
5c4504f7
NC
9792005-01-10 Inderpreet Singh <inderpreetb@noida.hcltech.com>
980
981 * archures.c: Define bfd_mach_maxq10 and bfd_mach_maxq20.
982 * bfd-in2.h: Regenerate.
983 * coffcode.h (coff_set_arch_mach_hook, coff_set_flags): Add code
984 to support these new machine values.
985 * cpu-maxq.c (bfd_maxq10_arch): New architecture definition for
986 the maxq10.
987 (bfd_maxq_arch): Update values for the maxq20.
988
669460c7
EB
9892005-01-10 Eric Botcazou <ebotcazou@libertysurf.fr>
990
991 * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): When linking a
992 non-shared object, do not reserve space in .plt and .rela.plt for
993 regular symbols neither defined nor referenced in shared objects.
994
a51a7930
EB
9952005-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
996
01aac484
EB
997 * elf32-sparc.c (elf32_sparc_link_hash_table_create): Use bfd_zmalloc
998 to zero the structure.
999 (create_got_section): Use BFD_ASSERT instead of abort.
a51a7930
EB
1000 * elf64-sparc.c (struct sparc64_elf_link_hash_table): New 'sgot' and
1001 'srelgot' fields.
1002 (create_got_section): New function.
1003 (sparc64_elf_create_dynamic_sections): Likewise.
1004 (sparc64_elf_check_relocs): Invoke create_got_section instead of
1005 _bfd_elf_create_got_section. Use the sgot and srelgot shortcuts.
1006 (sparc64_elf_size_dynamic_sections): Use the srelgot shortcut.
1007 (sparc64_elf_relocate_section): Use the sgot and srelgot shortcuts.
1008 (sparc64_elf_finish_dynamic_symbol): Likewise.
1009 (sparc64_elf_finish_dynamic_sections): Use the sgot shortcut.
1010 (elf_backend_create_dynamic_sections): Define to
1011 sparc64_elf_create_dynamic_sections.
1012
151e5294
EB
10132005-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
1014
1015 * elf32-sparc.c (elf32_sparc_omit_section_dynsym): New function.
1016 (elf_backend_omit_section_dynsym): Define to it.
1017 * elf64-sparc.c (sparc64_elf_omit_section_dynsym): New function.
1018 (elf_backend_omit_section_dynsym): Define to it.
1019
6f79b219
JJ
10202005-01-07 Jakub Jelinek <jakub@redhat.com>
1021
1022 * bfd/elf.c (INCLUDE_SECTION_IN_SEGMENT): Don't put empty sections into
1023 PT_DYNAMIC segment, unless .dynamic.
1024
4e7fd91e
PB
10252005-01-06 Paul Brook <paul@codesourcery.com>
1026
1027 * config.bfd: Add entry for arm-*-vxworks and arm-*-windiss.
1028 * configure.in: Add bfd_elf32_{big,little}arm_vxworks_vec.
1029 * configure: Regenerate.
1030 * elf32-arm.c: Add VxWorks target bfd.
1031 (USE_REL): Remove.
1032 (elf32_arm_link_hash_table): Add use_rel.
1033 (elf32_arm_link_hash_table_create, elf32_arm_final_link_relocate,
1034 elf32_arm_relocate_section): Replace USE_REL with runtime check.
1035 Correct offset calculation for RELA case.
1036 (elf_backend_may_use_rel_p, elf_backend_may_use_rela_p,
1037 elf_backend_default_use_rela_p, elf_backend_rela_normal): Define.
1038 (elf32_arm_vxworks_link_hash_table_create): New function.
1039 * targets.c (bfd_elf32_bigarm_vxworks_vec): Add declaration.
1040 (bfd_elf32_littlearm_vxworks_vec): Ditto.
1041 (_bfd_target_vector): Add bfd_elf32_{big,little}arm_vxworks_vec.
1042
4c52953f
AM
10432005-01-06 Alan Modra <amodra@bigpond.net.au>
1044
1045 * elf64-ppc.c (struct ppc_link_hash_table): Add no_multi_toc and
1046 multi_toc_needed.
1047 (has_toc_reloc, makes_toc_func_call, call_check_in_progress): Define.
1048 (ppc64_elf_check_relocs): Update references to has_gp_reloc.
1049 (ppc64_elf_setup_section_lists): Add no_multi_toc parm, set htab bit.
1050 (ppc64_elf_next_toc_section): Heed no_multi_toc.
1051 (ppc64_elf_reinit_toc): Set multi_toc_needed.
1052 (toc_adjusting_stub_needed): Rewrite.
1053 (ppc64_elf_next_input_section): Use multi_toc_needed to shortcut
1054 toc tests. Adjust for toc_adjusting_stub_needed changes.
1055 (ppc64_elf_size_stubs): Update references to has_gp_reloc.
1056 * elf64-ppc.h (ppc64_elf_setup_section_lists): Update prototype.
1057 * section.c: Expand comment on backend bits.
1058 * bfd-in2.h: Regenerate.
1059 * libbfd.h: Regenerate.
1060
f03d65b4
AM
10612005-01-06 Alan Modra <amodra@bigpond.net.au>
1062
1063 * elf64-ppc.c (ppc64_elf_size_stubs): When determining need for
1064 toc adjusting stub, do not test source section flags.
1065
8af139b3
EB
10662005-01-05 Eric Botcazou <ebotcazou@libertysurf.fr>
1067
1068 * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
1069 from STABS debugging sections again.
1070
06f22d7e
FF
10712005-01-05 Fred Fish <fnf@specifixinc.com>
1072
1073 * dwarf2.c (struct dwarf2_debug): Add info_ptr_unit member.
1074 (find_abstract_instance_name): New function.
1075 (scan_unit_for_functions): Handle DW_TAG_inlined_subroutine.
1076 (scan_unit_for_functions): Handle DW_AT_abstract_origin.
1077 (_bfd_dwarf2_find_nearest_line): Initialize info_ptr_unit.
1078
83a358aa
PB
10792004-12-31 Paul Brook <paul@copdesourcery.com>
1080
1081 * elf32-arm.c (elf32_arm_symbian_plt_entry): Fix comment typo.
1082
b996922c
AM
10832004-12-31 Alan Modra <amodra@bigpond.net.au>
1084
1085 * reloc.c (BFD_RELOC_AVR_LDI, BFD_RELOC_AVR_6, BFD_RELOC_AVR_6_ADIW):
1086 Commit missing changes from 2004-12-22.
1087 * bfd-in2.h: Regenerate.
1088
17a83432
TL
10892004-12-23 Tomer Levi <Tomer.Levi@nsc.com>
1090
1091 * elf32-crx.c (elf32_crx_relax_section): Support 'bcop' relaxation.
1092
d69f560c
KW
10932004-12-21 Kris Warkentin <kewarken@qnx.com>
1094
1095 * elf.c (elfcore_grok_nto_gregs): Change name to elfcore_grok_nto_regs.
1096 Add 'base' argument for constructing register sections. Reformat.
1097 (elfcore_grok_nto_note): Call elfcore_grok_nto_regs for both
1098 gp and fp regs. Reformat.
4c52953f 1099
750bce0e
NC
11002004-12-22 Klaus Rudolph <lts-rudolph@gmx.de>
1101
1102 * reloc.c: Add new relocs R_AVR_LDI, R_AVR_6, R_AVR_6_ADIW.
1103 * bfd-in2.h: Regenerate.
1104 * elf32-avr.c (elf_avr_nowto_table): Add the new relocs.
1105 (avr_reloc_map): Likewise.
1106 (avr_final_link_relocate): Likewise.
1107
a5db907e
AM
11082004-12-22 Alan Modra <amodra@bigpond.net.au>
1109
1110 * elflink.c (_bfd_elf_merge_symbol): Treat old definitions from
1111 as-needed dynamic libs as undefined.
1112 (elf_link_add_object_symbols): Remove DYN_AS_NEEDED from as-needed
1113 libs when finding they are needed.
1114
8860955f
AM
11152004-12-20 Alan Modra <amodra@bigpond.net.au>
1116
1117 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add opd_relocs.
1118 (opd_entry_value): Use opd_relocs if available.
1119 (ppc64_elf_relocate_section): Don't set reloc_done. Instead
1120 copy .opd relocations to opd_relocs.
1121 (ppc64_elf_edit_toc): Set rel_hdr.sh_size after editing relocs.
1122
1e50d24d
RS
11232004-12-16 Richard Sandiford <rsandifo@redhat.com>
1124
1125 * reloc.c (BFD_RELOC_V850_LO16_SPLIT_OFFSET): New bfd_reloc_code_type.
1126 * elf32-v850.c (v850_elf_howto_table): Add entry for
1127 R_V850_LO16_SPLIT_OFFSET.
1128 (v850_elf_reloc_map): Map it to BFD_RELOC_V850_LO16_SPLIT_OFFSET.
1129 (v850_elf_perform_lo16_relocation): New function, extracted from...
1130 (v850_elf_perform_relocation): ...here. Use it to handle
1131 R_V850_LO16_SPLIT_OFFSET.
1132 (v850_elf_check_relocs, v850_elf_final_link_relocate): Handle
1133 R_V850_LO16_SPLIT_OFFSET.
1134 * libbfd.h, bfd-in2.h: Regenerate.
1135
2fbd2a87
NC
11362004-12-14 P.J. Darcy <darcypj@us.ibm.com>
1137
1138 * config.bfd: Add s390x-ibm-tpf support.
1139
06302770
TL
11402004-12-14 Tomer Levi <Tomer.Levi@nsc.com>
1141
8860955f 1142 * elf32-crx.c (elf32_crx_relax_delete_bytes): Add 'struct bfd_link_info *'
06302770
TL
1143 to prototype, to make hash info available.
1144 Prevent wrapped symbols from being adjusted twice.
1145
c314987d
RS
11462004-12-14 Richard Sandiford <rsandifo@redhat.com>
1147
1148 * elfxx-mips.c (mips_elf_calculate_relocation): Don't report an
1149 overflow for calls to undefined weak symbols.
1150
5c799c07
AM
11512004-12-11 Alan Modra <amodra@bigpond.net.au>
1152
1153 * elfcode.h (elf_slurp_symbol_table): Use bfd_elf_sym_name so that
1154 canonical sections syms have a name.
1155
645ea6a9
AM
11562004-12-11 Alan Modra <amodra@bigpond.net.au>
1157
1158 * elf64-ppc.c (opd_entry_value): Don't use cached relocs if they
1159 have been adjusted for output.
1160 (ppc64_elf_relocate_section): Mark sections with reloc_done.
1161
0e2cfdce
AM
11622004-12-10 Alan Modra <amodra@bigpond.net.au>
1163
be8dd2ca
AM
1164 * elf.c (bfd_elf_sym_name): Rename from bfd_elf_local_sym_name and
1165 add symtab_hdr param.
0e2cfdce
AM
1166 (group_signature): Update calls.
1167 * elf-bfd.h (bfd_elf_sym_name): Update.
1168 * elf32-ppc.c (ppc_elf_relocate_section): Update.
8860955f
AM
1169 * elf64-ppc.c (ppc64_elf_edit_opd, ppc64_elf_edit_toc): Update.
1170 (ppc64_elf_relocate_section): Update.
0e2cfdce
AM
1171 * elflink.c (elf_link_input_bfd): Update.
1172
138f35cc
JJ
11732004-12-10 Jakub Jelinek <jakub@redhat.com>
1174
1175 * elf.c (bfd_elf_local_sym_name): Avoid crashes with invalid
1176 st_shndx on STT_SECTION sections.
1177
f9cfae62
DJ
11782004-12-09 Daniel Jacobowitz <dan@codesourcery.com>
1179
1180 * elfcode.h (elf_slurp_reloc_table_from_section): Don't canonicalize
1181 ELF section symbols.
1182
0d2e43ed
ILT
11832004-12-09 Ian Lance Taylor <ian@wasabisystems.com>
1184
1367d393
ILT
1185 * elfxx-mips.c (mips_elf_calculate_relocation): For R_MIPS_JALR,
1186 return a real value, unless it is a PLT symbol.
1187 (mips_elf_perform_relocation): On the RM9000, turn a jal into a
1188 bal if possible.
1189
74f79d8d
ILT
1190 * elfn32-mips.c (elf_mips_howto_table_rela): Change dst_mask of
1191 R_MIPS_JALR entry to 0.
1192
0d2e43ed
ILT
1193 * archures.c: Define bfd_mach_mips9000.
1194 * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_9000.
1195 (mips_set_isa_flags): Handle bfd_mach_mips9000.
1196 * cpu-mips.c (I_mips9000): Define.
1197 (arch_info_struct): Add case for bfd_mach_mips9000.
1198 * aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mips9000.
1199 * bfd-in2.h: Regenerate.
1200
728b2f21
ILT
12012004-12-08 Ian Lance Taylor <ian@wasabisystems.com>
1202
1203 * elfxx-mips.c (mips_elf_calculate_relocation): Test for R_MIPS_26
1204 overflow.
1205
45ab555d
BE
12062004-12-07 Ben Elliston <bje@gnu.org>
1207
1208 * netbsd-core.c (netbsd_core_file_p): Make `i' unsigned.
1209
1511ddaf
DJ
12102004-12-06 Daniel Jacobowitz <dan@debian.org>
1211
1212 Suggested by Fergal Daly <fergal@esatclear.ie>:
1213 * simple.c (simple_dummy_multiple_definition): New function.
1214 (bfd_simple_get_relocated_section_contents): Use it.
1215
12162004-12-03 Jan Beulich <jbeulich@novell.com>
57426232
JB
1217
1218 * elf.c (elf_find_function): Don't use the last file symbol ever,
1219 seen, but the last one seen prior to the symbol being reported.
1220 Don't report a filename at all for global symbols when that might
1221 be ambiguous/wrong.
1222
94a3258f
PB
12232004-12-01 Paul Brook <paul@codesourcery.com>
1224
1225 * elf32-arm.c (elf32_arm_copy_private_bfd_data): Set EI_OSABI.
1226 (elf32_arm_post_process_headers): Set EI_OSABI depending on ABI
1227 version.
1228
529fcb95
PB
12292004-12-01 Paul Brook <paul@codesourcery.com>
1230
1231 * elflink.c (elf_link_add_object_symbols): Make symbols from discarded
1232 sections undefined.
1233
dea514f5
PB
12342004-11-30 Paul Brook <paul@codesourcery.com>
1235
1236 * elf32-arm.c (struct elf32_arm_link_hash_table): Remove
1237 no_pipeline_knowledge
1238 (elf32_arm_link_hash_table_create): Ditto.
1239 (bfd_elf32_arm_process_before_allocation): Ditto.
1240 (elf32_arm_final_link_relocate): Ditto. Remove oabi relocation
1241 handling.
1242 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
1243 prototype.
1244 * bfd-in2.h: Regenerate.
1245
edfc032f
AM
12462004-11-30 Randolph Chung <tausq@debian.org>
1247
1248 * elf32-hppa.c (elf32_hppa_grok_prstatus): New function.
1249 (elf32_hppa_grok_psinfo): New function.
1250 (elf_backend_grok_prstatus): Define.
1251 (elf_backend_grok_psinfo): Define.
1252
0be9069d
L
12532004-11-24 H.J. Lu <hongjiu.lu@intel.com>
1254
1255 PR 574:
1256 * elfcode.h (elf_slurp_symbol_table): Handle STT_TLS.
1257
47cc2cf5
PB
12582004-11-24 Paul Brook <paul@codesourcery.com>
1259
1260 * elf.c (assign_section_numbers): Number SHT_GROUP sections first.
1261
0beaef2b
PB
12622004-11-24 Paul Brook <paul@codesourcery.com>
1263
1264 * elf32-arm.c (elf32_arm_swap_symbol_in): New function.
1265 (elf32_arm_swap_symbol_out): New function.
1266 (elf32_arm_size_info): Add.
1267 (elf_backend_size_info): Define.
1268
3dd2fcf0
DA
12692004-11-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1270
1271 * hpux-core.c (hpux_core_core_file_p): Use offsetof macro in calls to
1272 make_bfd_asection.
1273
de52dba4
AM
12742004-11-19 Alan Modra <amodra@bigpond.net.au>
1275
1276 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Warning fix.
1277 * elf32-iq2000.c (iq2000_reloc_type_lookup): C90 function decl.
1278 * nlmcode.h (nlm_write_object_contents): Warning fix.
1279
288f74fa
BW
12802004-11-18 Bob Wilson <bob.wilson@acm.org>
1281
1282 * elf32-xtensa.c (ebb_propose_action): Fix argument order.
1283
b7693d02
DJ
12842004-11-17 Daniel Jacobowitz <dan@codesourcery.com>
1285
1286 * elf32-arm.c (PLT_THUMB_STUB_SIZE): Define.
1287 (elf32_arm_plt_thumb_stub): New.
1288 (struct elf32_arm_link_hash_entry): Add plt_thumb_refcount
1289 and plt_got_offset.
1290 (elf32_arm_link_hash_traverse): Fix typo.
1291 (elf32_arm_link_hash_table): Add obfd.
1292 (elf32_arm_link_hash_newfunc): Initialize new fields.
1293 (elf32_arm_copy_indirect_symbol): Copy plt_thumb_refcount.
1294 (elf32_arm_link_hash_table_create): Initialize obfd.
1295 (record_arm_to_thumb_glue): Mark the glue as a local ARM function.
1296 (record_thumb_to_arm_glue): Mark the glue as a local Thumb function.
1297 (bfd_elf32_arm_get_bfd_for_interworking): Verify that the
1298 interworking BFD is not dynamic.
1299 (bfd_elf32_arm_process_before_allocation): Handle R_ARM_PLT32. Do
1300 not emit glue for PLT references.
1301 (elf32_arm_final_link_relocate): Handle Thumb functions. Do not
1302 emit glue for PLT references. Support the Thumb PLT prefix.
1303 (elf32_arm_gc_sweep_hook): Handle R_ARM_THM_PC22 and
1304 plt_thumb_refcount.
1305 (elf32_arm_check_relocs): Likewise.
1306 (elf32_arm_adjust_dynamic_symbol): Handle Thumb functions and
1307 plt_thumb_refcount.
1308 (allocate_dynrelocs): Handle Thumb PLT references.
1309 (elf32_arm_finish_dynamic_symbol): Likewise.
1310 (elf32_arm_symbol_processing): New function.
1311 (elf_backend_symbol_processing): Define.
1312
353057a5
RS
13132004-11-16 Richard Sandiford <rsandifo@redhat.com>
1314
1315 * elf-bfd.h (eh_cie_fde): Add new fields: add_augmentation_size and
1316 add_fde_encoding. Remove need_relative.
1317 * elf-eh-frame.c (extra_augmentation_string_bytes)
1318 (extra_augmentation_data_bytes, size_of_output_cie_fde): New functions.
1319 (_bfd_elf_discard_section_eh_frame): Consider changing the FDE encoding
1320 in cases where the CIE has no existing 'R' augmentation. Use
1321 size_of_output_cie_fde when assigning offsets. Use the final offset
1322 as the new section size.
1323 (_bfd_elf_eh_frame_section_offset): Remove need_relative handling.
1324 Account for any extra augmentation bytes in the returned offset.
1325 (_bfd_elf_write_section_eh_frame): Rework so that the entries are
1326 moved before being modified. Pad growing entries with DW_CFA_nops.
1327 Add 'z' and 'R' augmentations as directed by add_augmentation_size
1328 and add_fde_encoding.
1329
b32d3aa2
MM
13302004-11-15 Mark Mitchell <mark@codesourcery.com>
1331
1332 * elf32-arm.c (elf32_arm_relocate_section): Use
1333 arm_real_reloc_type.
1334
5d41f0b6
RS
13352004-11-16 Richard Sandiford <rsandifo@redhat.com>
1336
1337 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Return early
1338 for discard relocations; don't add an R_MIPS_NONE to the main body
1339 of .rel.dyn.
1340
fc0e6df6
PB
13412004-11-04 Paul Brook <paul@codesourcery.com>
1342
1343 * elf-bfd.h (_bfd_elf_slurp_version_tables): Update prototype.
1344 * elf.c (_bfd_elf_print_private_bfd_data): Pass extra argument.
1345 (_bfd_elf_slurp_version_tables): Add extra argument. Create extra
1346 default version definition for unversioned symbols.
1347 * elfcode.h (elf_slurp_symbol_table): Pass extra argument.
1348 * elflink.c (elf_link_add_object_symbols): Pass extra argument to
1349 _bfd_elf_slurp_version_tables. Set default version for unversioned
1350 imported symbols.
1351
b23e50e2
PB
13522004-11-15 Paul Brook <paul@codesourcery.com>
1353
1354 * elflink.c (elf_link_add_object_symbols): Don't assume version
1355 indices are consecutive.
1356
f4a6705c
RS
13572004-11-14 Richard Sandiford <rsandifo@redhat.com>
1358
1359 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Deal with
1360 composite relocations against the personality data.
1361
ee06dc07
PB
13622004-11-13 Paul Brook <paul@codesourcery.com>
1363
1364 * bfd/elf32-arm.c (elf32_arm_final_link_relocate): Resolve
1365 R_ARM_PREL31 relocations to PLT entries.
1366 (elf32_arm_relocate_section, elf32_arm_gc_sweep_hook): Ditto.
1367 (elf32_arm_check_relocs): Ditto.
1368
a1ace8d8
BW
13692004-11-12 Bob Wilson <bob.wilson@acm.org>
1370
1371 * xtensa-isa.c (xtensa_interface_class_id): New.
1372
e4115460
BW
13732004-11-11 Bob Wilson <bob.wilson@acm.org>
1374
1375 * elf32-xtensa.c (property_table_compare): Remove assertion about
1376 entries with the same address and non-zero size.
1377 (xtensa_read_table_entries): Report such entries as errors.
1378
6366ff1e
MM
13792004-11-11 Mark Mitchell <mark@codesourcery.com>
1380
1381 * elf32-arm.c (elf32_arm_final_link_relocate): Correct logic for
1382 R_ARM_RELATIVE on Symbian OS.
1383
b34af79c
MM
13842004-11-09 Mark Mitchell <mark@codesourcery.com>
1385
e6dc21b6
MM
1386 * som.c (som_bfd_print_private_bfd_data): New function.
1387 (som_object_setup): Save the auxiliary header. Don't assume that
1388 zero is an invalid entry point for a shared library.
1389 (som_object_p): Allocate the auxiliary header on the heap.
1390
b34af79c
MM
1391 * elf32-arm.c (elf32_arm_begin_write_processing): Do not use a K&R
1392 declaration.
1393 (elf32_arm_symbian_modify_segment_map): Likewise.
1394
08d1f311
DJ
13952004-11-09 Daniel Jacobowitz <dan@debian.org>
1396
1397 From David Poole <daveml@mbuf.com>:
1398 * elf32-arm.c (elf32_arm_readonly_dynrelocs): New function.
1399 (elf32_arm_size_dynamic_sections): Call it.
1400
0306b3bf
AM
14012004-11-09 Alan Modra <amodra@bigpond.net.au>
1402
1403 * Makefile.am (SOURCE_HFILES): Remove elf32-arm.h.
1404 (ALL_MACHINES_CFILES): Fix typo.
1405 * Makefile.in: Regenerate.
1406 * po/SRC-POTFILES.in: Regenerate.
1407
a16385dc
MM
14082004-11-08 Mark Mitchell <mark@codesourcery.com>
1409
1410 * elf32-arm.c (elf32_arm_final_link_relocate): When generating an
1411 R_ARM_RELATIVE relocation for Symbian OS, mention the section
1412 symbol in the relocation.
1413
0306b3bf
AM
14142004-11-08 Inderpreet Singh <inderpreetb@nioda.hcltech.com>
1415 Vineet Sharma <vineets@noida.hcltech.com>
7499d566
NC
1416
1417 * coff-maxq.c: New File.
0306b3bf
AM
1418 * cpu-maxq.c: New File.
1419 * coffcode.h: Likewise.
1420 * config.bfd: Likewise.
1421 * configure.in (maxqcoff_vec): New target vector.
7499d566
NC
1422 * Makefile.am: Add support for maxq target.
1423 * configure.in: Likewise.
0306b3bf
AM
1424 * archures.c:. Likewise.
1425 * targets.c: Likewise.
1426 * bfd_in2.h : Regenerated.
7499d566
NC
1427 * Makefile.in: Regenerated.
1428 * configure: Regenerated.
1429 * doc/Makefile.in: Regenerated.
1430
977cdf5a
NC
14312004-11-08 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
1432
1433 * coff-i386.c (coff_i386_reloc): Fix weak symbols.
1434 * cofflink.c (_bfd_coff_link_input_bfd): Don't process
1435 C_NT_WEAK aux entries.
1436 (_bfd_coff_generic_relocate_section): Handle undefined
1437 aliases.
1438
9dfe8738
AS
14392004-11-07 Andreas Schwab <schwab@suse.de>
1440
1441 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Use
1442 SYMBOL_CALLS_LOCAL and check for undefweak symbols with
1443 non-default visibility.
1444
c3c76620
MM
14452004-11-01 Mark Mitchell <mark@codesourcery.com>
1446
1447 * elf32-arm.c (elf32_arm_symbian_begin_write_processing): Clear
0306b3bf 1448 D_PAGED.
c3c76620
MM
1449 (elf32_arm_symbian_modify_segment_map): Don't
1450 reset includes_filehdr and includes_phdrs here.
1451
7f266840
DJ
14522004-11-04 Daniel Jacobowitz <dan@debian.org>
1453
1454 * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Replace
1455 elfarm-nabi with elf32-arm. Remove elfarm-oabi.
1456 (elf32-arm.lo): Replace elfarm-nabi.lo rule. Remove elf32-arm.h
1457 dependency.
1458 * config.bfd: Move arm-*-oabi* and thumb-*-oabi* from obsolete list
1459 to a new removed list. Remove normal configuration stanzas.
1460 * configure.in: (bfd_elf32_bigarm_vec, bfd_elf32_bigarm_symbian_vec)
1461 (bfd_elf32_littlearm_symbian_vec, bfd_elf32_littlearm_vec): Replace
1462 elfarm-nabi.lo with elf32-arm.lo.
1463 (bfd_elf32_bigarm_oabi_vec, bfd_elf32_littlearm_oabi_vec): Remove.
1464 * elf32-arm.c: Renamed from elfarm-nabi.c. Inline elf32-arm.h.
1465 * elf32-arm.h: Remove.
1466 * elfarm-oabi.c: Remove.
1467 * targets.c (_bfd_target_vector): Remove bfd_elf32_bigarm_oabi_vec
1468 and bfd_elf32_littlearm_oabi_vec.
1469 * aclocal.m4, Makefile.in, configure, doc/Makefile.in: Regenerated.
1470
bac23f82
HPN
14712004-11-04 Hans-Peter Nilsson <hp@axis.com>
1472
1473 * config.bfd: Support crisv32-*-* like cris-*-*.
1474 * archures.c (bfd_mach_cris_v0_v10, bfd_mach_cris_v32)
1475 (bfd_mach_cris_v10_v32): New macros.
1476 * cpu-cris.c: Tweak formatting.
1477 (get_compatible): New function.
1478 (N): New macro.
1479 (bfd_cris_arch_compat_v10_v32, bfd_cris_arch_v32): New
1480 bfd_arch_info_type:s.
1481 (bfd_cris_arch): Use bfd_mach_cris_v0_v10 for member mach,
1482 get_compatible for member compatible and link bfd_cris_arch_v32 as
1483 next.
1484 * elf32-cris.c (cris_elf_pcrel_reloc)
1485 (cris_elf_set_mach_from_flags): New functions.
1486 (cris_elf_howto_table) <R_CRIS_8_PCREL, R_CRIS_16_PCREL>
1487 <R_CRIS_32_PCREL>: Use cris_elf_pcrel_reloc.
1488 (cris_elf_grok_prstatus, cris_elf_grok_psinfo): Give correct
1489 numbers for bfd_mach_cris_v32.
1490 (PLT_ENTRY_SIZE_V32): New macro.
1491 (elf_cris_plt0_entry): Drop last comma in initializer.
1492 (elf_cris_plt0_entry_v32, elf_cris_plt_entry_v32)
1493 (elf_cris_pic_plt0_entry_v32, elf_cris_pic_plt_entry_v32): New
1494 PLT initializers.
1495 (cris_elf_relocate_section): Change all "%B(%A)" messages to
1496 "%B, section %A".
1497 (elf_cris_finish_dynamic_symbol): Do V32-specific PLT entries.
1498 (elf_cris_finish_dynamic_sections): Similar.
1499 (elf_cris_adjust_dynamic_symbol): Similar.
1500 (cris_elf_check_relocs): Change all "%B(%A)" messages to "%B,
1501 section %A".
1502 <switch with PIC relocs>: Emit error and return FALSE for
1503 bfd_mach_cris_v10_v32.
1504 <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
1505 Emit warning when generating textrel reloc.
1506 (cris_elf_object_p): Call cris_elf_set_mach_from_flags.
1507 (cris_elf_final_write_processing): Set flags according to mach.
1508 (cris_elf_print_private_bfd_data): Display
1509 EF_CRIS_VARIANT_COMMON_V10_V32 and EF_CRIS_VARIANT_V32.
1510 (cris_elf_merge_private_bfd_data): Drop variables old_flags,
1511 new_flags. Don't call cris_elf_final_write_processing. Don't
1512 look at the actual elf header flags at all; use
1513 bfd_get_symbol_leading_char to check ibfd, obfd. Trap difference
1514 in bfd_get_mach for ibfd and obfd and handle merging of compatible
1515 objects.
1516 (bfd_elf32_bfd_copy_private_bfd_data): Define.
1517 * reloc.c (BFD_RELOC_CRIS_SIGNED_8, BFD_RELOC_CRIS_UNSIGNED_8)
1518 (BFD_RELOC_CRIS_SIGNED_16, BFD_RELOC_CRIS_UNSIGNED_16)
1519 (BFD_RELOC_CRIS_LAPCQ_OFFSET): New relocs.
1520 * bfd-in2.h, libbfd.h: Regenerate.
1521
c5614fa4
AM
15222004-11-04 Alan Modra <amodra@bigpond.net.au>
1523
1524 * elf64-ppc.h (ppc64_elf_edit_toc): Declare.
1525 * elf64-ppc.c (struct ppc_link_hash_entry <adjust_done>): Update
1526 comment.
1527 (struct adjust_toc_info): New.
1528 (adjust_toc_syms, ppc64_elf_edit_toc): New functions.
1529
0ebdbb83
BW
15302004-11-03 Bob Wilson <bob.wilson@acm.org>
1531
1532 * elf.c (assign_file_positions_for_segments): Set next_file_pos even
1533 if there are no segments.
1534
675b2ace
DJ
15352004-11-02 Daniel Jacobowitz <dan@debian.org>
1536
1537 * config.bfd: Mark arm-*-oabi and thumb-*-oabi as obsolete.
1538
58852c27
NC
15392004-11-02 Nick Clifton <nickc@redhat.com>
1540
1541 * elf32-iq2000.c: Convert to ISO C90 formatting.
1542
e6857c0c
HPN
15432004-11-02 Hans-Peter Nilsson <hp@axis.com>
1544
20288ed6 1545 * elflink.c (_bfd_elf_create_got_section): Hide _GLOBAL_OFFSET_TABLE_.
e6857c0c 1546
bf718458
L
15472004-10-28 H.J. Lu <hongjiu.lu@intel.com>
1548
1549 * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle weak
1550 undefined symbols for R_IA64_SECREL32MSB, R_IA64_SECREL32LSB,
1551 R_IA64_SECREL64MSB and R_IA64_SECREL64LSB.
1552
044ad7e3
KK
15532004-10-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
1554
1555 * elf32-sh.c (tpoff): Take alignment into account.
1556
d5cb4bb8
NC
15572004-10-28 Nick Clifton <nickc@redhat.com>
1558
1559 * elf32-iq2000.c (iq2000_elf_relocate_section): Do nothing when
0d48eab6 1560 performing a relocatable link.
d5cb4bb8
NC
1561 (iq2000_elf_object_p): Do not set elf_bad_symtab. This is only
1562 for MIPS ports under Irix.
1563
5b5bb741
PB
15642004-10-27 Richard Earnshaw <rearnsha@arm.com>
1565
1566 * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Handle
1567 R_ARM_CALL and R_ARM_JUMP24 as aliases of R_ARM_PC24.
1568 (elf32_arm_final_link_relocate): Ditto.
1569 (arm_add_to_rel, elf32_arm_relocate_section): Ditto.
1570 (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto
1571 (elf32_arm_adjust_dynamic_symbol): Ditto.
1572 * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_CALL and
1573 R_ARM_JUMP32. Move R_ARM_R{REL32,ABS32,PC24,BASE}...
1574 (elf32_arm_r_howto): ... To here.
1575 (elf32_arm_howto_from_type): Use elf32_arm_r_howto.
1576
97ecf322
L
15772004-10-26 H.J. Lu <hongjiu.lu@intel.com>
1578
1579 PR 475
1580 * elfxx-ia64.c (elfNN_ia64_relocate_section): Correct
1581 R_IA64_SECREL32MSB, R_IA64_SECREL32LSB, R_IA64_SECREL64MSB
1582 and R_IA64_SECREL64LSB.
1583
3e3b46e5
PB
15842004-10-26 Paul Brook <paul@codesourcery.com>
1585
1586 * elflink.c (elf_finalize_dynstr): Skip shared aux structure.
1587 (bfd_elf_size_dynamic_sections): Create default version definition.
1588 (elf_link_output_extsym): Adjust for default symbol version.
1589
aa69fe43
HPN
15902004-10-24 Hans-Peter Nilsson <hp@bitrange.com>
1591
278b4623
HPN
1592 * mmo.c: Adjust to ISO C.
1593
aa69fe43
HPN
1594 * mmo.c (mmo_write_section_description): New function broken out
1595 of mmo_internal_write_section.
1596 (mmo_internal_write_section): For each of .text and .data, call
1597 mmo_write_section_description before outputting contents if it has
1598 nontrivially deducible vma or contents.
1599 (mmo_has_leading_or_trailing_zero_tetra_p): New function.
1600 (mmo_canonicalize_symtab): Adjust absolute symbols to .data
1601 symbols if found within the .data address range.
1602
ed040321
DJ
16032004-10-24 Daniel Jacobowitz <dan@debian.org>
1604
1605 * opncls.c (bfd_close): Return TRUE for BFD_IN_MEMORY.
1606
830866af
HPN
16072004-10-24 Hans-Peter Nilsson <hp@bitrange.com>
1608
1609 * mmo.c (File Layout): Correct place of misplaced blurb about
1610 special data.
1611
5f417ca3
MK
16122004-10-22 Mark Kettenis <kettenis@gnu.org>
1613
1614 * config.bfd: Add mips64*-*-openbsd.
1615
823fc61f
BW
16162004-10-21 Bob Wilson <bob.wilson@acm.org>
1617
1618 * elf32-xtensa.c (ebb_propose_action): Put declarations before
1619 statements.
1620
8697aafb
L
16212004-10-21 H.J. Lu <hongjiu.lu@intel.com>
1622
1623 * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.94.
1624 * configure: Regenerate.
1625
dfeffb9f
L
16262004-10-21 H.J. Lu <hongjiu.lu@intel.com>
1627
1628 PR 463
1629 * aoutx.h (aout_link_input_section_std): Pass proper hash entry
1630 to linker reloc_overflow callback.
1631 (aout_link_input_section_ext): Likewise.
1632 (aout_link_reloc_link_order): Likewise.
1633 * coff-a29k.c (coff_a29k_relocate_section): Likewise.
1634 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
1635 Likewise.
1636 (alpha_relocate_section): Likewise.
1637 * coff-arm.c (coff_arm_relocate_section): Likewise.
1638 * coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
1639 * coff-h8500.c (extra_case): Likewise.
1640 * coff-i960.c (coff_i960_relocate_section): Likewise.
1641 * coff-mcore.c (coff_mcore_relocate_section): Likewise.
1642 * coff-mips.c (mips_relocate_section): Likewise.
1643 * coff-or32.c (coff_or32_relocate_section): Likewise.
1644 * coff-ppc.c (coff_ppc_relocate_section): Likewise.
1645 * coff-rs6000.c (xcoff_ppc_relocate_section): Likewise.
1646 * coff-sh.c (sh_relocate_section): Likewise.
1647 * coff-tic80.c (coff_tic80_relocate_section): Likewise.
1648 * coff-w65.c (w65_reloc16_extra_cases): Likewise.
1649 * coff-z8k.c (extra_case): Likewise.
1650 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
1651 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
1652 (_bfd_coff_generic_relocate_section): Likewise.
1653 * ecoff.c (ecoff_reloc_link_order): Likewise.
1654 * elf-hppa.h (elf_hppa_relocate_section): Likewise.
1655 * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
1656 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
1657 * elf32-arm.h (elf32_arm_relocate_section): Likewise.
1658 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
1659 * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
1660 * elf32-cris.c (cris_elf_relocate_section): Likewise.
1661 * elf32-crx.c (elf32_crx_relocate_section): Likewise.
1662 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
1663 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
1664 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
1665 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
1666 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
1667 * elf32-i370.c (i370_elf_relocate_section): Likewise.
1668 * elf32-i386.c (elf_i386_relocate_section): Likewise.
1669 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
1670 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
1671 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
1672 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
1673 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
1674 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1675 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
1676 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
1677 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
1678 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1679 * elf32-s390.c (elf_s390_relocate_section): Likewise.
1680 * elf32-sh.c (sh_elf_relocate_section): Likewise.
1681 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1682 * elf32-v850.c (v850_elf_relocate_section): Likewise.
1683 * elf32-vax.c (elf_vax_relocate_section): Likewise.
1684 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
1685 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
1686 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
1687 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1688 * elf64-s390.c (elf_s390_relocate_section): Likewise.
1689 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
1690 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1691 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1692 * elflink.c (elf_reloc_link_order): Likewise.
1693 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
1694 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
1695 (_bfd_elf_mips_get_relocated_section_contents): Likewise.
1696 * linker.c (_bfd_generic_reloc_link_order): Likewise.
1697 * pdp11.c (pdp11_aout_link_input_section): Likewise.
1698 (aout_link_reloc_link_order): Likewise.
1699 * reloc.c (bfd_generic_get_relocated_section_contents):
1700 Likewise.
1701 * xcofflink.c (xcoff_reloc_link_order): Likewise.
1702 * simple.c (simple_dummy_reloc_overflow): Updated.
1703
1715e0e3
AS
17042004-10-20 Andreas Schwab <schwab@suse.de>
1705
1706 * elf32-m68k.c (elf_m68k_plt_sym_val): New function.
1707 (elf_backend_plt_sym_val): Define.
1708
db3d41a8
DS
17092004-10-19 Danny Smith <dannysmith@users.sourceforege.net>
1710
1711 * config.bfd: Set targ_underscore=yes for PE COFF targets
1712
4b85d634
AM
17132004-10-19 Alan Modra <amodra@bigpond.net.au>
1714
1715 * elf64-ppc.c (opd_entry_value): Handle --just-symbols objects.
1716 (ppc64_elf_edit_opd): Likewise.
1717
6df4d94c
MM
17182004-10-18 Mark Mitchell <mark@codesourcery.com>
1719
1720 * elfarm-nabi.c (ELF_DYNAMIC_SEC_FLAGS): Add comment.
1721 * elflink.c (_bfd_elf_create_dynamic_sections): For a loaded PLT,
1722 set SEC_ALLOC and SEC_LOAD.
1723
00d962d1
NC
17242004-10-18 Nick Clifton <nickc@redhat.com>
1725
1726 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Compute
1727 'name' for relocs against both local and global symbols.
1728
b58f81ae
DJ
17292004-10-16 Daniel Jacobowitz <dan@debian.org>
1730
1731 * bfd-in2.h: Regenerate.
1732 * bfd.c (struct bfd): Add no_export.
1733 * elflink.c (elf_link_add_object_symbols): Handle no_export.
1734
7d3f158f
AM
17352004-10-15 Alan Modra <amodra@bigpond.net.au>
1736
1737 * config.bfd: Whitespace cleanup.
1738 * Makefile.am: Run "make dep-am"
1739 * Makefile.in: Regenerate.
1740
6d2cd210
JJ
17412004-10-15 Jakub Jelinek <jakub@redhat.com>
1742
1743 * elflink.c (struct already_linked_section): Removed.
1744 (try_match_symbols_in_sections, already_linked): Removed.
1745 (_bfd_elf_section_already_linked): Skip ^\.gnu\.linkonce\.[^.]*\.
1746 prefix of section names when finding already_linked_table
1747 chain. Compare section names. Instead of calling already_linked,
1748 do it inline and only for sections in the same already_linked_list.
1749
92e4ec35
AM
17502004-10-15 Alan Modra <amodra@bigpond.net.au>
1751
1752 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Add "info"
1753 parameter. If called after _bfd_elf_write_section_eh_frame,
1754 don't allow a -2 return unless need_* bit is already set, and
1755 handle offsets adjusted for output_offset.
1756 * elf-bfd.h (_bfd_elf_eh_frame_section_offset): Update prototype.
1757 * elf.c (_bfd_elf_section_offset): Update call.
1758
7bf6dede
L
17592004-10-13 H.J. Lu <hongjiu.lu@intel.com>
1760
1761 PR 440
1762 * coffcode.h (coff_compute_section_file_positions): Cast to
1763 bfd_vma when computing page alignment.
1764
c0042f5d
MM
17652004-10-13 Mark Mitchell <mark@codesourcery.com>
1766
1767 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
1768 offsets, not VMAs, for DT_VERSYM, DT_VERDEF, DT_VERNEED.
1769
2a1b9a48
MM
17702004-10-12 Mark Mitchell <mark@codesourcery.com>
1771
1772 * elf32-arm.h (elf32_arm_finish_dynamic_symbol): Make .rel.plt
1773 relocations use a virtual address, not a section offset.
1774
b08b5071
BW
17752004-10-12 Bob Wilson <bob.wilson@acm.org>
1776
1777 * elf32-xtensa.c (elf_xtensa_get_private_bfd_flags): Delete.
1778 (narrow_instruction, widen_instruction): Remove unnecessary calls to
1779 xtensa_format_encode.
1780 (ebb_propose_action): Inline call to ebb_add_proposed_action.
1781 (ebb_add_proposed_action): Delete.
1782
7fa3d080
BW
17832004-10-12 Bob Wilson <bob.wilson@acm.org>
1784
1785 * elf32-xtensa.c: Use ISO C90 formatting.
1786
3656d5e3
PB
17872004-10-12 Paul Brook <paul@codesourcery.com>
1788
1789 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Rephrase error
1790 message.
1791
8cb51566
PB
17922004-10-12 Paul Brook <paul@codesourcery.com>
1793
1794 * elf32-arm.h: Support EABI version 4 objects.
1795
1abc8597
AM
17962004-10-12 Alan Modra <amodra@bigpond.net.au>
1797
1798 PR 325
1799 * cpu-i386.c (bfd_x86_64_arch_intel_syntax): Place last in chain.
1800 Don't mark as default.
1801 (bfd_x86_64_arch): Don't mark as default.
1802
9e66c942
AM
18032004-10-12 Alan Modra <amodra@bigpond.net.au>
1804
1805 * elflink.c (enum action_discarded): New.
1806 (elf_section_complain_discarded): Delete.
1807 (elf_action_discarded): New function subsuming the above and also
1808 controlling reloc behaviour.
1abc8597 1809 (elf_link_input_bfd): Use it.
9e66c942 1810
7f1204bb
JJ
18112004-10-11 Jakub Jelinek <jakub@redhat.com>
1812
1813 * elf.c (bfd_section_from_shdr): Handle SHT_GNU_LIBLIST.
1814 (special_sections): Add .gnu.liblist and .gnu.conflict.
1815 (assign_section_numbers): Handle SHT_GNU_LIBLIST.
1816
87e5235d
AM
18172004-10-11 Alan Modra <amodra@bigpond.net.au>
1818
1819 PR 233
1820 * elflink.c (elf_link_input_bfd): Try harder to support
1821 relocations against symbols in removed linkonce sections.
1822
2ad770c3
AM
18232004-10-11 Alan Modra <amodra@bigpond.net.au>
1824
029446c4
AM
1825 * elflink.c (elf_link_input_bfd): Revert PR 354 change.
1826
2ad770c3
AM
1827 PR 354
1828 * elflink.c (elf_link_input_bfd): Check that relocs in SEC_ALLOC
1829 sections do not reference symbols in non-SEC_ALLOC sections.
1830
1da212d6
AM
18312004-10-11 Alan Modra <amodra@bigpond.net.au>
1832
1833 PR 437
1834 * elflink.c (elf_link_sort_relocs): Don't bomb on unusual sections.
1835 (_bfd_elf_link_omit_section_dynsym): Formatting.
1836
f12123c0
AM
18372004-10-10 Alan Modra <amodra@bigpond.net.au>
1838
1839 * libbfd-in.h (BFD_ASSERT, BFD_FAIL): Wrap macro body in do while.
1840 * libbfd.h: Regnerate.
1841 * elf32-cris.c: Add missing semicolon to BFD_ASSERTs.
1842 * elf32-frv.c: Likewise.
1843 * elf32-m32r.c: Likewise.
1844 * elf32-ppc.c: Likewise.
1845 * elf64-hppa.c: Likewise.
1846 * elfxx-ia64.c: Likewise.
1847 * opncls.c: Likewise.
1848
fda3ecf2
AM
18492004-10-10 Alan Modra <amodra@bigpond.net.au>
1850
3472e2e9
AM
1851 * elf-bfd.h (struct eh_frame_hdr_info): Add offsets_adjusted.
1852 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust
1853 offsets stored in struct eh_cie_fde entries before doing other
1854 work.
1855
fda3ecf2
AM
1856 * elf-bfd.h (struct eh_cie_fde): Add cie_inf, remove sec.
1857 (struct eh_frame_hdr_info): Add last_cie_inf, remove last_cie_offset.
1858 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete code
1859 setting offsets for removed CIEs. Don't set "sec", instead set
1860 cie_inf for FDEs. Keep a pointer to last struct eh_cie_fde for a
1861 CIE in hdr_info. Only set make_relative and make_lsda_relative
1862 for CIEs. Use pointers rather than array indices.
1863 (_bfd_elf_eh_frame_section_offset): Test/set make_relative,
1864 make_lsda_relative, need_* on cie_inf for FDEs.
1865 (_bfd_elf_write_section_eh_frame): Adjust offset and new_offset for
1866 section output_offset. Delete cie_offset, instead use cie_inf
1867 pointer to CIE entry. Use need_relative and need_lsda_relative on
1868 CIE entry for FDEs. Use pointers rather than array indices.
1869
7db6994f
AM
18702004-10-09 Alan Modra <amodra@bigpond.net.au>
1871
1872 * coff-rs6000.c (rs6000coff_vec): Add initializer for
1873 bfd_is_target_special_symbol.
1874 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
1875 * som.c (som_bfd_is_target_special_symbol): Define.
1876
3c9458e9
NC
18772004-10-08 Nick Clifton <nickc@redhat.com>
1878
1879 * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.93.
1880 * configure: Regenerate.
1881 * bfd-in2.h: Regenerate.
1882 * syms.c (bfd_is_target_special_symbol): New interface function.
1883 Returns true when a symbol should be considered to be special.
7db6994f 1884 * targets.c (bfd_target): Include bfd_is_target_special_symbol in
3c9458e9
NC
1885 the symbol jump table.
1886 * elf32-arm.h (elf32_arm_is_target_special_symbol): New function.
1887 Return true iff the symbol is a mapping symbol.
1888 (bfd_elf32_bfd_is_target_special_symbol): Define.
1889 * elfxx-target.h: Provide a default definition for
1890 bfd_is_target_special_symbol.
1891 * aout-target.h: Likewise.
1892 * aout-tic30.c: Likewise.
873d03ee 1893 * binary.c: Likewise.
3c9458e9
NC
1894 * coffcode.h: Likewise.
1895 * i386msdos.c: Likewise.
1896 * ieee.c: Likewise.
873d03ee 1897 * ihex.c: Likewise.
3c9458e9
NC
1898 * libaout.h: Likewise.
1899 * libbfd-in.h: Likewise
1900 * libecoff.h: Likewise.
1901 * mach-o.c: Likewise.
1902 * mmo.c: Likewise.
1903 * nlm-target.h: Likewise.
1904 * oasys.c: Likewise.
1905 * pef.c: Likewise.
1906 * ppcboot.c: Likewise.
1907 * srec.c: Likewise.
1908 * tekhex.c: Likewise.
1909 * versados.c: Likewise.
1910 * vms.c: Likewise.
1911 * xcoff-target.h: Likewise.
1912 * xsym.c: Likewise.
1913 * libbfd.h: Regenerate.
1914
d2b2c203
DJ
19152004-10-08 Daniel Jacobowitz <dan@debian.org>
1916
1917 * config.bfd: Include 64-bit support for i[3-7]86-*-solaris2*.
1918 * elf64-x86-64.c (elf64_x86_64_section_from_shdr): New function.
1919 (elf_backend_section_from_shdr): Define.
1920
864274b0
AM
19212004-10-08 Alan Modra <amodra@bigpond.net.au>
1922
1923 * syms.c (bfd_is_local_label): Return false for file symbols.
1924
43cd72b9 19252004-10-07 Bob Wilson <bob.wilson@acm.org>
85a5ac80 1926 David Heine <dlheine@tensilica.com>
43cd72b9
BW
1927
1928 * elf32-xtensa.c (elf32xtensa_size_opt): New global variable.
1929 (xtensa_default_isa): Global variable moved here from xtensa-isa.c.
1930 (elf32xtensa_no_literal_movement): New global variable.
1931 (elf_howto_table): Add entries for new relocations.
1932 (elf_xtensa_reloc_type_lookup): Handle new relocations.
1933 (property_table_compare): When addresses are equal, compare sizes and
1934 various property flags.
1935 (property_table_matches): New.
1936 (xtensa_read_table_entries): Extend to read new property tables. Add
1937 output_addr parameter to indicate that output addresses should be used.
1938 Use bfd_get_section_limit.
1939 (elf_xtensa_find_property_entry): New.
1940 (elf_xtensa_in_literal_pool): Use elf_xtensa_find_property_entry.
1941 (elf_xtensa_check_relocs): Handle new relocations.
1942 (elf_xtensa_do_reloc): Use bfd_get_section_limit. Handle new
1943 relocations. Use new xtensa-isa.h functions.
1944 (build_encoding_error_message): Remove encode_result parameter. Add
1945 new target_address parameter used to detect alignment errors.
1946 (elf_xtensa_relocate_section): Use bfd_get_section_limit. Clean up
1947 error handling. Use new is_operand_relocation function.
1948 (elf_xtensa_combine_prop_entries, elf_xtensa_merge_private_bfd_data):
1949 Use underbar macro for error messages. Formatting.
1950 (get_const16_opcode): New.
1951 (get_l32r_opcode): Add a separate flag for initialization.
1952 (get_relocation_opnd): Operand number is no longer explicit in the
1953 relocation. Change to decode the opcode and analyze its operands.
1954 (get_relocation_slot): New.
1955 (get_relocation_opcode): Add bfd parameter. Use bfd_get_section_limit.
1956 Use new xtensa-isa.h functions to handle multislot instructions.
1957 (is_l32r_relocation): Add bfd parameter. Use is_operand_relocation.
1958 (get_asm_simplify_size, is_alt_relocation, is_operand_relocation,
1959 insn_decode_len, insn_decode_opcode, check_branch_target_aligned,
1960 check_loop_aligned, check_branch_target_aligned_address, narrowable,
1961 widenable, narrow_instruction, widen_instruction, op_single_fmt_table,
1962 get_single_format, init_op_single_format_table): New.
1963 (elf_xtensa_do_asm_simplify): Add error_message parameter and use it
1964 instead of calling _bfd_error_handler. Use new xtensa-isa.h functions.
1965 (contract_asm_expansion): Add error_message parameter and pass it to
1966 elf_xtensa_do_asm_simplify. Replace use of R_XTENSA_OP0 relocation
1967 with R_XTENSA_SLOT0_OP.
1968 (get_expanded_call_opcode): Extend to handle either L32R or CONST16
1969 instructions. Use new xtensa-isa.h functions.
1970 (r_reloc struct): Add new virtual_offset field.
1971 (r_reloc_init): Add contents and content_length parameters. Set
1972 virtual_offset field to zero. Add contents to target_offset field for
1973 partial_inplace relocations.
1974 (r_reloc_is_defined): Check for null.
1975 (print_r_reloc): New debug function.
1976 (source_reloc struct): Replace xtensa_operand field with pair of the
1977 opcode and the operand position. Add is_abs_literal field.
1978 (init_source_reloc): Specify operand by opcode/position pair. Set
1979 is_abs_literal field.
1980 (source_reloc_compare): When target_offsets are equal, compare other
1981 fields to make sorting predictable.
1982 (literal_value struct): Add is_abs_literal field.
1983 (value_map_hash_table struct): Add has_last_loc and last_loc fields.
1984 (init_literal_value): New.
1985 (is_same_value): Replace with ...
1986 (literal_value_equal): ... this function. Add comparisons of
1987 virtual_offset and is_abs_literal fields.
1988 (value_map_hash_table_init): Use bfd_zmalloc. Check for allocation
1989 failure. Initialize has_last_loc field.
1990 (value_map_hash_table_delete): New.
1991 (hash_literal_value): Rename to ...
1992 (literal_value_hash): ... this. Include is_abs_literal flag and
1993 virtual_offset field in the hash value.
1994 (get_cached_value): Rename to ...
1995 (value_map_get_cached_value): ... this. Update calls to
1996 literal_value_hash and literal_value_equal.
1997 (add_value_map): Check for allocation failure. Update calls to
1998 value_map_get_cached_value and literal_value_hash.
1999 (text_action, text_action_list, text_action_t): New types.
2000 (find_fill_action, compute_removed_action_diff, adjust_fill_action,
2001 text_action_add, text_action_add_literal, offset_with_removed_text,
2002 offset_with_removed_text_before_fill, find_insn_action,
2003 print_action_list, print_removed_literals): New.
2004 (offset_with_removed_literals): Delete.
2005 (xtensa_relax_info struct): Add is_relaxable_asm_section, action_list,
2006 fix_array, fix_array_count, allocated_relocs, relocs_count, and
2007 allocated_relocs_count fields.
2008 (init_xtensa_relax_info): Initialize new fields.
2009 (reloc_bfd_fix struct): Add new translated field.
2010 (reloc_bfd_fix_init): Add translated parameter and use it to set the
2011 translated field.
2012 (fix_compare, cache_fix_array): New.
2013 (get_bfd_fix): Remove fix_list parameter and get all relax_info for the
2014 section via get_xtensa_relax_info. Use cache_fix_array to set up
2015 sorted fix_array and use bsearch instead of linear search.
2016 (section_cache_t): New struct.
2017 (init_section_cache, section_cache_section, clear_section_cache): New.
2018 (ebb_t, ebb_target_enum, proposed_action, ebb_constraint): New types.
2019 (init_ebb_constraint, free_ebb_constraint, init_ebb, extend_ebb_bounds,
2020 extend_ebb_bounds_forward, extend_ebb_bounds_backward,
2021 insn_block_decodable_len, ebb_propose_action, ebb_add_proposed_action):
2022 New.
2023 (retrieve_contents): Use bfd_get_section_limit.
2024 (elf_xtensa_relax_section): Add relocations_analyzed flag. Update call
2025 to compute_removed_literals. Free value_map_hash_table when no longer
2026 needed.
2027 (analyze_relocations): Check is_relaxable_asm_section flag. Call
2028 compute_text_actions for all sections.
2029 (find_relaxable_sections): Mark sections as relaxable if they contain
2030 ASM_EXPAND relocations that can be optimized. Adjust r_reloc_init
2031 call. Increment relax_info src_count field only for appropriate
2032 relocation types. Remove is_literal_section check.
2033 (collect_source_relocs): Use bfd_get_section_limit. Adjust calls to
2034 r_reloc_init and find_associated_l32r_irel. Check
2035 is_relaxable_asm_section flag. Handle L32R instructions with absolute
2036 literals. Pass is_abs_literal flag to init_source_reloc.
2037 (is_resolvable_asm_expansion): Use bfd_get_section_limit. Check for
2038 CONST16 instructions. Adjust calls to r_reloc_init and
fda3ecf2 2039 pcrel_reloc_fits. Handle weak symbols conservatively.
43cd72b9
BW
2040 (find_associated_l32r_irel): Add bfd parameter and pass it to
2041 is_l32r_relocation.
2042 (compute_text_actions, compute_ebb_proposed_actions,
2043 compute_ebb_actions, check_section_ebb_pcrels_fit,
2044 check_section_ebb_reduces, text_action_add_proposed,
2045 compute_fill_extra_space): New.
2046 (remove_literals): Replace with ...
2047 (compute_removed_literals): ... this function. Call
2048 init_section_cache. Use bfd_get_section_limit. Sort internal_relocs.
2049 Call xtensa_read_table_entries to get the property table. Skip
2050 relocations other than R_XTENSA_32 and R_XTENSA_PLT. Use new
2051 is_removable_literal, remove_dead_literal, and
fda3ecf2 2052 identify_literal_placement functions.
43cd72b9
BW
2053 (get_irel_at_offset): Rewrite to use bsearch on sorted relocations
2054 instead of linear search.
2055 (is_removable_literal, remove_dead_literal,
2056 identify_literal_placement): New.
2057 (relocations_reach): Update check for literal not referenced by any
2058 PC-relative relocations. Adjust call to pcrel_reloc_fits.
2059 (coalesce_shared_literal, move_shared_literal): New.
2060 (relax_section): Use bfd_get_section_limit. Call
2061 translate_section_fixes. Update calls to r_reloc_init and
2062 offset_with_removed_text. Check new is_relaxable_asm_section flag.
2063 Add call to pin_internal_relocs. Add special handling for
2064 R_XTENSA_ASM_SIMPLIFY and R_XTENSA_DIFF* relocs. Use virtual_offset
2065 info to calculate new addend_displacement variable. Replace code for
2066 deleting literals with more general code to perform the actions
2067 determined by the action_list for the section.
2068 (translate_section_fixes, translate_reloc_bfd_fix): New.
2069 (translate_reloc): Check new is_relaxable_asm_section flag. Call
2070 find_removed_literal only if is_operand_relocation. Update call to
2071 offset_with_removed_text. Use new target_offset and removed_bytes
2072 variables.
2073 (move_literal): New.
2074 (relax_property_section): Use bfd_get_section_limit. Set new
2075 is_full_prop_section flag and handle new property tables. Update calls
2076 to r_reloc_init and offset_with_removed_text. Check
2077 is_relaxable_asm_section flag. Handle expansion of zero-sized
2078 unreachable entries, with use of offset_with_removed_text_before_fill.
2079 For relocatable links, combine entries only for literal tables.
2080 (relax_section_symbols): Check is_relaxable_asm_section flag. Update
2081 calls to offset_with_removed_text. Translate st_size field for
2082 function symbols.
2083 (do_fix_for_relocatable_link): Change to return bfd_boolean to indicate
2084 failure. Add contents parameter. Update call to get_bfd_fix. Update
2085 call to r_reloc_init. Call _bfd_error_handler and return FALSE for
2086 R_XTENSA_ASM_EXPAND relocs.
2087 (do_fix_for_final_link): Add input_bfd and contents parameters. Update
2088 call to get_bfd_fix. Include offset from contents for partial_inplace
2089 relocations.
2090 (is_reloc_sym_weak): New.
2091 (pcrel_reloc_fits): Use new xtensa-isa.h functions.
2092 (prop_sec_len): New.
2093 (xtensa_is_property_section): Handle new property sections.
2094 (is_literal_section): Delete.
2095 (internal_reloc_compare): When r_offset matches, compare r_info and
2096 r_addend to make sorting predictable.
2097 (internal_reloc_matches): New.
2098 (xtensa_get_property_section_name): Handle new property sections.
2099 (xtensa_get_property_predef_flags): New.
2100 (xtensa_callback_required_dependence): Use bfd_get_section_limit.
2101 Update calls to xtensa_isa_init, is_l32r_relocation, and r_reloc_init.
2102 * xtensa-isa.c (xtensa_default_isa): Moved to elf32-xtensa.c.
2103 (xtisa_errno, xtisa_error_msg): New variables.
2104 (xtensa_isa_errno, xtensa_isa_error_msg): New.
2105 (xtensa_insnbuf_alloc): Add error handling.
2106 (xtensa_insnbuf_to_chars): Add num_chars parameter. Update to
2107 use xtensa_format_decode. Add error handling.
2108 (xtensa_insnbuf_from_chars): Add num_chars parameter. Decode the
2109 instruction length to find the number of bytes to copy.
2110 (xtensa_isa_init): Add error handling. Replace calls to
2111 xtensa_load_isa and xtensa_extend_isa with code to initialize lookup
2112 tables in the xtensa_modules structure.
2113 (xtensa_check_isa_config, xtensa_add_isa, xtensa_load_isa,
2114 xtensa_extend_isa): Delete.
2115 (xtensa_isa_free): Change to only free lookup tables.
2116 (opname_lookup_compare): Replace with ...
2117 (xtensa_isa_name_compare): ... this function. Use strcasecmp.
2118 (xtensa_insn_maxlength): Rename to ...
2119 (xtensa_isa_maxlength): ... this.
2120 (xtensa_insn_length): Delete.
2121 (xtensa_insn_length_from_first_byte): Replace with ...
2122 (xtensa_isa_length_from_chars): ... this function.
2123 (xtensa_num_opcodes): Rename to ...
2124 (xtensa_isa_num_opcodes): ... this.
2125 (xtensa_isa_num_pipe_stages, xtensa_isa_num_formats,
2126 xtensa_isa_num_regfiles, xtensa_isa_num_stages,
2127 xtensa_isa_num_sysregs, xtensa_isa_num_interfaces,
2128 xtensa_isa_num_funcUnits, xtensa_format_name, xtensa_format_lookup,
2129 xtensa_format_decode, xtensa_format_encode, xtensa_format_length,
2130 xtensa_format_num_slots, xtensa_format_slot_nop_opcode,
2131 xtensa_format_get_slot, xtensa_format_set_slot): New functions.
2132 (xtensa_opcode_lookup): Add error handling.
2133 (xtensa_decode_insn): Replace with ...
2134 (xtensa_opcode_decode): ... this function, with new format and
2135 slot parameters. Add error handling.
2136 (xtensa_encode_insn): Replace with ...
2137 (xtensa_opcode_encode): ... this function, which does the encoding via
2138 one of the entries in the "encode_fns" array. Add error handling.
2139 (xtensa_opcode_name): Add error handling.
2140 (xtensa_opcode_is_branch, xtensa_opcode_is_jump, xtensa_opcode_is_loop,
2141 xtensa_opcode_is_call): New.
2142 (xtensa_num_operands): Replace with ...
2143 (xtensa_opcode_num_operands): ... this function. Add error handling.
2144 (xtensa_opcode_num_stateOperands,
2145 xtensa_opcode_num_interfaceOperands, xtensa_opcode_num_funcUnit_uses,
2146 xtensa_opcode_funcUnit_use, xtensa_operand_name,
2147 xtensa_operand_is_visible): New.
2148 (xtensa_get_operand, xtensa_operand_kind): Delete.
2149 (xtensa_operand_inout): Add error handling and special-case for
2150 "sout" operands.
2151 (xtensa_operand_get_field, xtensa_operand_set_field): Rewritten to
2152 operate on one slot of an instruction. Added error handling.
2153 (xtensa_operand_encode): Handle default operands with no encoding
2154 functions. Check for success by comparing against decoded value.
2155 Add error handling.
2156 (xtensa_operand_decode): Handle default operands. Return decoded value
2157 through argument pointer. Add error handling.
2158 (xtensa_operand_is_register, xtensa_operand_regfile,
2159 xtensa_operand_num_regs, xtensa_operand_is_known_reg): New.
2160 (xtensa_operand_isPCRelative): Rename to ...
2161 (xtensa_operand_is_PCrelative): ... this. Add error handling.
2162 (xtensa_operand_do_reloc, xtensa_operand_undo_reloc): Return value
2163 through argument pointer. Add error handling.
2164 (xtensa_stateOperand_state, xtensa_stateOperand_inout,
2165 xtensa_interfaceOperand_interface, xtensa_regfile_lookup,
2166 xtensa_regfile_lookup_shortname, xtensa_regfile_name,
2167 xtensa_regfile_shortname, xtensa_regfile_view_parent,
2168 xtensa_regfile_num_bits, xtensa_regfile_num_entries,
2169 xtensa_state_lookup, xtensa_state_name, xtensa_state_num_bits,
2170 xtensa_state_is_exported, xtensa_sysreg_lookup,
2171 xtensa_sysreg_lookup_name, xtensa_sysreg_name, xtensa_sysreg_number,
2172 xtensa_sysreg_is_user, xtensa_interface_lookup, xtensa_interface_name,
2173 xtensa_interface_num_bits, xtensa_interface_inout,
2174 xtensa_interface_has_side_effect, xtensa_funcUnit_lookup,
2175 xtensa_funcUnit_name, xtensa_funcUnit_num_copies): New.
2176 * xtensa-modules.c: Rewrite to use new data structures.
2177 * reloc.c (BFD_RELOC_XTENSA_DIFF8, BFD_RELOC_XTENSA_DIFF16,
2178 BFD_RELOC_XTENSA_DIFF32, BFD_RELOC_XTENSA_SLOT0_OP,
2179 BFD_RELOC_XTENSA_SLOT1_OP, BFD_RELOC_XTENSA_SLOT2_OP,
2180 BFD_RELOC_XTENSA_SLOT3_OP, BFD_RELOC_XTENSA_SLOT4_OP,
2181 BFD_RELOC_XTENSA_SLOT5_OP, BFD_RELOC_XTENSA_SLOT6_OP,
2182 BFD_RELOC_XTENSA_SLOT7_OP, BFD_RELOC_XTENSA_SLOT8_OP,
2183 BFD_RELOC_XTENSA_SLOT9_OP, BFD_RELOC_XTENSA_SLOT10_OP,
2184 BFD_RELOC_XTENSA_SLOT11_OP, BFD_RELOC_XTENSA_SLOT12_OP,
2185 BFD_RELOC_XTENSA_SLOT13_OP, BFD_RELOC_XTENSA_SLOT14_OP,
2186 BFD_RELOC_XTENSA_SLOT0_ALT, BFD_RELOC_XTENSA_SLOT1_ALT,
2187 BFD_RELOC_XTENSA_SLOT2_ALT, BFD_RELOC_XTENSA_SLOT3_ALT,
2188 BFD_RELOC_XTENSA_SLOT4_ALT, BFD_RELOC_XTENSA_SLOT5_ALT,
2189 BFD_RELOC_XTENSA_SLOT6_ALT, BFD_RELOC_XTENSA_SLOT7_ALT,
2190 BFD_RELOC_XTENSA_SLOT8_ALT, BFD_RELOC_XTENSA_SLOT9_ALT,
2191 BFD_RELOC_XTENSA_SLOT10_ALT, BFD_RELOC_XTENSA_SLOT11_ALT,
2192 BFD_RELOC_XTENSA_SLOT12_ALT, BFD_RELOC_XTENSA_SLOT13_ALT,
2193 BFD_RELOC_XTENSA_SLOT14_ALT): Add new relocations.
2194 * Makefile.am (xtensa-isa.lo, xtensa-modules.lo): Update dependencies.
2195 * Makefile.in: Regenerate.
2196 * bfd-in2.h: Likewise.
2197 * libbfd.h: Likewise.
2198
99022dfb
RS
21992004-10-07 Richard Sandiford <rsandifo@redhat.com>
2200
2201 * elf64-mips.c (mips_elf64_write_rel): Use STN_UNDEF for relocs
2202 against the absolute section.
2203 (mips_elf64_write_rela): Likewise.
2204
b67ae299
NC
22052004-10-07 Jan Beulich <jbeulich@novell.com>
2206
2207 * elf.c (elf_find_function): Don't generally check for matching
2208 section, just for non-file symbols. Remove redunant comparison
2209 for the latter.
2210 * elf32-arm.h (arm_elf_find_function): Likewise.
2211
8fdd7217
NC
22122004-10-07 Jeff Baker <jbaker@qnx.com>
2213
2214 * elflink.c (_bfd_elf_add_dynamic_entry): Add code to warn if
2215 adding a DT_TEXTREL to a shared object and --warn-shared-textrel
2216 was specified.
2217
073a2dc3
RM
22182004-10-04 Roland McGrath <roland@redhat.com>
2219
2220 * hash.c (bfd_hash_set_default_size): Use const for table.
2221 Use size_t instead of int for variable compared to sizeof results.
2222
7785be14
AM
22232004-10-05 Alan Modra <amodra@bigpond.net.au>
2224
2225 PR 425
2226 * syms.c (_bfd_stab_section_find_nearest_line): Ignore R_*_NONE relocs.
2227
40a18ebd
NC
22282004-10-01 Paul Brook <paul@codesourcery.com>
2229
2230 * elf32-arm.h (elf32_arm_fake_sections,
2231 is_arm_elf_unwind_section_name, elf32_arm_section_from_shdr): New
2232 functions.
2233 (elf_backend_fake_sections, elf_backend_section_from_shdr): Define.
2234
8935b81f
AM
22352004-10-01 Alan Modra <amodra@bigpond.net.au>
2236
2237 * elf-bfd.h (struct eh_cie_fde): Add need_relative and
2238 need_lsda_relative.
2239 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Set
2240 need_relative or need_lsda_relative if we are processing an
2241 offset for a reloc on a FDE initial loc or LSDA field
2242 respectively.
2243 (_bfd_elf_write_section_eh_frame): Test need_relative and
2244 need_lsda_relative in place of corresponding make_* field
2245 when deciding to use pc-relative encodings.
2246
eeac373a
PB
22472004-09-30 Paul Brook <paul@codesourcery.com>
2248
2249 * elf32-arm.h (bfd_elf32_arm_set_target_relocs): Handle "abs"
2250 target2 relocation type.
2251
7479dfd4
L
22522004-09-30 H.J. Lu <hongjiu.lu@intel.com>
2253
2254 PR 414
2255 * elflink.c (_bfd_elf_merge_symbol): Check TLS symbol.
2256
0dd132b6
NC
22572004-09-30 Paul Brook <paul@codesourcery.com>
2258
2259 * reloc.c: Add BFD_RELOC_ARM_SMI.
2260 * bfd-in2.h: Regenerate.
2261 * libbfd.h: Ditto.
2262
1ba54ee0
AM
22632004-09-24 Alan Modra <amodra@bigpond.net.au>
2264
2265 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Add output section
2266 vma and output offset to address.
2267 * simple.c (simple_save_output_info): Only set output section
2268 and offset for debug sections, or those not already set up by
2269 the linker.
2270 (bfd_simple_get_relocated_section_contents): Update comment.
2271
5efb6261
AM
22722004-09-24 Alan Modra <amodra@bigpond.net.au>
2273
2274 * elf.c (IS_LOADED): Delete.
2275 (assign_file_positions_for_segments): Just test SEC_LOAD instead.
2276 Restore SEC_HAS_CONTENTS test to the one place it was used prior
2277 to 2004-09-22.
2278
fca870e4
AM
22792004-09-23 Alan Modra <amodra@bigpond.net.au>
2280
2281 PR gas/396
2282 * elf32-sparc.c (elf32_sparc_final_write_processing): Handle
2283 bfd_mach_sparc_sparclet and bfd_mach_sparc_sparclite. Remove
2284 redundant assignment of EM_SPARC.
2285
c86696a3
BF
22862004-09-22 Brian Ford <ford@vss.fsi.com>
2287
2288 * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
2289 alignment for .rdata sections so sse[2] code works with gcc >= 3.3.3
2290 constants.
2291 * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
2292
73adb214
AM
22932004-09-22 Alan Modra <amodra@bigpond.net.au>
2294
2295 * elf32-ppc.c (ppc_elf_modify_segment_map): Delete.
2296 (elf_backend_modify_segment_map): Don't define.
2297
b301b248
AM
22982004-09-22 Alan Modra <amodra@bigpond.net.au>
2299
2300 * elf.c (IS_LOADED): Define.
2301 (assign_file_positions_for_segments): Don't round up file offset of
2302 PT_LOAD segments containing no SEC_LOAD sections, instead round down.
2303 Delete code handling link script adjustment of lma. Do the adjust
2304 in later code handling similar ajustments. Remove dead code error
2305 check. Warn if section lma would require a negative offset
2306 adjustment. Tweak lma adjustment to use p_filesz rather than p_memsz.
2307 Use p_vaddr + p_memsz inside section loop in place of voff. Don't
2308 update voff in section loop. Change voff in segment loop to be an
2309 adjustment on top of "off". Set sec->filepos and update "off" later.
2310 Test for loadable sections consistently using IS_LOADED. Similarly,
073a2dc3 2311 test for alloc-only sections other than .tbss consistently.
b301b248
AM
2312 Don't bother checking SEC_ALLOC in PT_LOAD segments. Remove FIXME.
2313 Tidy PT_NOTE handling. Use %B and %A in error messages.
2314 (assign_file_positions_except_relocs): Use %B in error message.
2315
3f85e526
L
23162004-09-17 H.J. Lu <hongjiu.lu@intel.com>
2317
2318 * Makefile.am (AUTOMAKE_OPTIONS): Require 1.9.
2319 (CONFIG_STATUS_DEPENDENCIES): New.
2320 (Makefile): Removed.
2321 (config.status): Likewise.
2322 * Makefile.in: Regenerated.
2323
eb043451
PB
23242004-09-17 Paul Brook <paul@codesourcery.com>
2325
2326 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add prototype.
2327 (bfd_elf32_arm_process_before_allocation): Update prototype.
2328 * bfd-in2.h: Regenerate.
2329 * bfd/elf32-arm.h (elf32_arm_link_hash_table): Add target2_reloc.
2330 (elf32_arm_link_hash_table_create): Set it.
2331 (bfd_elf32_arm_process_before_allocation): Remove target1_is_rel.
2332 (bfd_elf32_arm_set_target_relocs): New function.
2333 (arm_real_reloc_type): New function.
2334 (elf32_arm_final_link_relocate): Use it. Handle R_ARM_PREL31 and
2335 R_ARM_GOT_PREL. Remove R_ARM_TARGET1.
2336 (elf32_arm_gc_sweep_hook): Ditto.
2337 (elf32_arm_check_relocs): Ditto.
2338 (elf32_arm_relocate_section): Handle R_ARM_GOT_PREL.
2339 * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_PREL31 and
2340 R_ARM_GOT_TARGET2.
2341 (elf32_arm_got_prel): New variable.
2342 (elf32_arm_howto_from_type): New function.
2343 (elf32_arm_info_to_howto): Use it.
2344 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_PREL31 and
2345 BFD_RELOC_ARM_TARGET2.
2346 * libbfd.h: Regenerate.
2347 * reloc.c: Add BFD_RELOC_ARM_TARGET2 and BFD_RELOC_ARM_PREL31.
2348
f6e332e6
AM
23492004-09-17 Alan Modra <amodra@bigpond.net.au>
2350
2351 * ecoff.c: Update u.undef.next refs.
2352 * elf64-ppc.c: Likewise.
2353 * elflink.c: Likewise.
2354 * linker.c: Likewise.
2355 * xcofflink.c: Likewise.
2356
2357 * elf-bfd.h (struct elf_link_hash_entry): Rearrange. Add FIXME to
2358 dynamic_def. Combine weakdef and elf_hash_value. Move vtable
2359 fields to indirect struct.
2360 * elf-m10300.c: Update u.weakdef refs.
2361 * elf32-arm.h: Likewise.
2362 * elf32-cris.c: Likewise.
2363 * elf32-frv.c: Likewise.
2364 * elf32-hppa.c: Likewise.
2365 * elf32-i370.c: Likewise.
2366 * elf32-i386.c: Likewise.
2367 * elf32-m32r.c: Likewise.
2368 * elf32-m68k.c: Likewise.
2369 * elf32-ppc.c: Likewise.
2370 * elf32-s390.c: Likewise.
2371 * elf32-sh.c: Likewise.
2372 * elf32-sparc.c: Likewise.
2373 * elf32-vax.c: Likewise.
2374 * elf32-xtensa.c: Likewise.
2375 * elf64-alpha.c: Likewise.
2376 * elf64-hppa.c: Likewise.
2377 * elf64-ppc.c: Likewise.
2378 * elf64-s390.c: Likewise.
2379 * elf64-sh64.c: Likewise.
2380 * elf64-sparc.c: Likewise.
2381 * elf64-x86-64.c: Likewise.
2382 * elfxx-ia64.c: Likewise.
2383 * elfxx-mips.c: Likewise.
2384 * elflink.c: Likewise. Also u.elf_hash_value.
2385 (elf_gc_propagate_vtable_entries_used): Update for h->vtable
2386 indirection.
2387 (elf_gc_smash_unused_vtentry_relocs): Likewise.
2388 (bfd_elf_gc_record_vtinherit): Alloc vtable.
2389 (bfd_elf_gc_record_vtentry): Likewise.
2390 * elf.c (_bfd_elf_link_hash_newfunc): Use memset.
2391
90c0a373
AM
23922004-09-17 Alan Modra <amodra@bigpond.net.au>
2393
2394 * Makefile.am: Run "make dep-am".
2395 * Makefile.in: Regenerate.
2396 * bfd-in2.h: Regenerate.
2397 * po/SRC-POTFILES.in: Regenerate.
2398 * po/bfd.pot: Regenerate.
2399
f5385ebf
AM
24002004-09-16 Alan Modra <amodra@bigpond.net.au>
2401
2402 * elf-bfd.h (struct elf_link_hash_entry): Replace elf_link_hash_flags
2403 with bitfields. Make "type" and "other" bitfields too.
2404 (ELF_LINK_HASH_REF_REGULAR, ELF_LINK_HASH_DEF_REGULAR,
2405 ELF_LINK_HASH_REF_DYNAMIC, ELF_LINK_HASH_DEF_DYNAMIC,
2406 ELF_LINK_HASH_REF_REGULAR_NONWEAK, ELF_LINK_HASH_DYNAMIC_ADJUSTED,
2407 ELF_LINK_HASH_NEEDS_COPY, ELF_LINK_HASH_NEEDS_PLT, ELF_LINK_NON_ELF,
2408 ELF_LINK_HIDDEN, ELF_LINK_FORCED_LOCAL, ELF_LINK_HASH_MARK,
2409 ELF_LINK_NON_GOT_REF, ELF_LINK_DYNAMIC_DEF, ELF_LINK_DYNAMIC_WEAK,
2410 ELF_LINK_POINTER_EQUALITY_NEEDED): Delete.
2411 (ELF_COMMON_DEF_P, WILL_CALL_FINISH_DYNAMIC_SYMBOL): Update.
2412 * elf-hppa.h: Update all uses of elf_link_hash_flags.
2413 * elf-m10300.c: Likewise.
2414 * elf.c: Likewise.
2415 * elf32-arm.h: Likewise.
2416 * elf32-cris.c: Likewise.
2417 * elf32-frv.c: Likewise.
2418 * elf32-hppa.c: Likewise.
2419 * elf32-i370.c: Likewise.
2420 * elf32-i386.c: Likewise.
2421 * elf32-m32r.c: Likewise.
2422 * elf32-m68k.c: Likewise.
2423 * elf32-ppc.c: Likewise.
2424 * elf32-s390.c: Likewise.
2425 * elf32-sh-symbian.c: Likewise.
2426 * elf32-sh.c: Likewise.
2427 * elf32-sh64.c: Likewise.
2428 * elf32-sparc.c: Likewise.
2429 * elf32-vax.c: Likewise.
2430 * elf32-xtensa.c: Likewise.
2431 * elf64-alpha.c: Likewise.
2432 * elf64-hppa.c: Likewise.
2433 * elf64-ppc.c: Likewise.
2434 * elf64-s390.c: Likewise.
2435 * elf64-sh64.c: Likewise.
2436 * elf64-sparc.c: Likewise.
2437 * elf64-x86-64.c: Likewise.
2438 * elflink.c: Likewise.
2439 * elfxx-ia64.c: Likewise.
2440 * elfxx-mips.c: Likewise.
2441 * configure.in (AM_INIT_AUTOMAKE): Set version to 2.15.92.
2442 * configure: Regenerate.
2443 * aclocal.m4: Regenerate.
2444
b6ee372a
AM
24452004-09-16 Alan Modra <amodra@bigpond.net.au>
2446
2447 * elf32-arm.h (elf32_arm_gc_sweep_hook): Add #ifndef OLD_ARM_ABI
2448 around uses of R_ARM_TARGET1.
2449 (elf32_arm_check_relocs): Likewise.
2450
9c504268
PB
24512004-09-13 Paul Brook <paul@codesourcery.com>
2452
2453 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
2454 prototype.
2455 * bfd-in2.h: Regenerate.
2456 * libbfd.h: Regenerate.
2457 * elf32-arm.h (elf32_arm_link_hash_table): Add target1_is_rel.
2458 (elf32_arm_link_hash_table_create): Set target1_is_rel.
2459 (bfd_elf32_arm_process_before_allocation): Ditto.
2460 (elf32_arm_final_link_relocate): Handle R_ARM_TARGET1.
2461 (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto.
2462 * elfarm-nabi.c (elf32_arm_howto_table): Rename RELABS to TARGET1.
2463 * reloc.c: Ditto.
2464
94ea025a
JB
24652004-09-10 Joel Brobecker <brobecker@gnat.com>
2466
2467 * hpux-core.c (thread_section_p): New function.
2468 (hpux_core_core_file_p): Fix computation of offset in call
2469 to bfd_seek. Create a ".reg" section from an arbitrary
2470 ".reg/<id>" section if none was created after having read
2471 all sections.
2472
24443139
AS
24732004-09-11 Andreas Schwab <schwab@suse.de>
2474
2475 * acinclude.m4: Fix spelling of ACX_NONCANONICAL_*.
2476 * aclocal.m4: Rebuild.
2477 * configure: Rebuild.
2478
f4eae89c
JB
24792004-09-10 Joel Brobecker <brobecker@gnat.com>
2480
2481 * section.c (bfd_sections_find_if): Fix parameter name in
2482 comment to match code.
2483
e0638f70
AM
24842004-09-10 Alan Modra <amodra@bigpond.net.au>
2485
2486 * elf.c (assign_file_positions_except_relocs): Assign relocs
2487 stored in a bfd section.
2488
5e0f5ae3
HPN
24892004-09-08 Hans-Peter Nilsson <hp@axis.com>
2490
2491 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Reset
2492 h->gotplt_refcount to 0, not -1.
2493
ada1953e
HPN
24942004-09-07 Hans-Peter Nilsson <hp@axis.com>
2495
2496 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
2497 case R_CRIS_32_GOTPLT>: For internal error message, handle NULL
2498 symname.
2499 (cris_elf_check_relocs) <case R_CRIS_32_PLT_PCREL>: Don't try to
2500 handle symbol visibility here.
2501
ee75fd95
AM
25022004-09-07 Alan Modra <amodra@bigpond.net.au>
2503
2504 * elf64-ppc.c (struct ppc_link_hash_table): Add stub_globals.
2505 (is_ppc64_elf_target): Rename from is_ppc64_target. Update all
2506 callers.
2507 (ppc_stub_name): Remove trailing "+0" on stub name.
2508 (create_linkage_sections): Create relocations for
2509 branch lookup table when --emit-relocs as well as when --shared.
2510 (ppc_build_one_stub): Emit relocs for long branch stubs. Adjust
2511 relbrlt test. For --emit-stub-syms, always output a sym even when
2512 one already exists on a plt call stub. Put stub type in the stub
2513 symbol name.
2514 (ppc_size_one_stub): Size long branch stub relocs. Adjust relbrlt
2515 test.
2516 (ppc64_elf_size_stubs): Count global sym stubs added. Zero
2517 reloc_count in stub sections. Adjust relbrlt test.
2518 (ppc64_elf_build_stubs): Adjust relbrlt test. Tweak stats output.
2519 * elflink.c (bfd_elf_size_dynamic_sections): Fix comment typo.
2520 (elf_link_input_bfd): Ignore symbol index zero relocs when checking
2521 for relocs against discarded symbols. Fix comments.
2522
229fcec5
MM
25232004-09-06 Mark Mitchell <mark@codesourcery.com>
2524
2525 * elf-bfd.h (_bfd_elf_make_dynamic_segment): Declare it.
2526 * elf.c (_bfd_elf_make_dynamic_segment): New function, split out
2527 from ...
2528 (map_sections_to_segments): ... here. Use it. Assign a file
2529 position to the .dynamic section if it is not loadable, but part
2530 of the PT_DYNAMIC segment.
2531 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
2532 offsets, not VMAs, for the BPABI. Do not fill in the header in
2533 the .got.plt section for the BPABI.
2534 * elfarm-nabi.c (elf32_arm_symbian_modify_segment_map): Add a
2535 PT_DYNAMIC segment.
2536 (elf_backend_want_got_plt): Define to zero for Symbian OS.
073a2dc3 2537
9a0789ec
NC
25382004-09-06 Nick Clifton <nickc@redhat.com>
2539
2540 * elflink.c (elf_link_add_object_symbols): Set the error code to
2541 bfd_error_wrong_format when the input format does not match the
2542 output format.
2543
7b53ace3
AM
25442004-09-06 Alan Modra <amodra@bigpond.net.au>
2545
2546 * elf64-ppc.c (is_ppc64_target): New function, extracted from..
2547 (ppc64_elf_check_directives): ..here.
2548 (ppc64_elf_size_dynamic_sections): Use it here to check bfd type
2549 before accessing ppc64_elf_tdata.
2550 (ppc64_elf_finish_dynamic_sections): And here too.
2551
3e540f25
AM
25522004-09-04 Alan Modra <amodra@bigpond.net.au>
2553
2554 * bfd.c (_bfd_default_error_handler): Correct loop exit.
2555
e5a52504
MM
25562004-09-03 Mark Mitchell <mark@codesourcery.com>
2557
2558 * config.bfd (arm*-*-symbianelf*): Use OS-specific target vectors.
2559 * configure.in (bfd_elf32_bigarm_symbian_vec): Add it.
2560 (bfd_elf32_littlearm_symbian_vec): Likewise.
2561 * configure: Regenerated.
2562 * elf-bfd.h (elf_backend_data): Add dynamic_sec_flags.
2563 * elf32-arm.h (PLT_HEADER_SIZE): Do not define.
2564 (PLT_ENTRY_SIZE): Likewise.
2565 (bfd_vma_elf32_arm_symbian_plt_entry): New
2566 variable.
2567 (elf32_arm_link_hash_table): Add plt_header_size, plt_entry_size,
2568 and symbian_p.
2569 (create_got_section): Don't create sections when generating BPABI
2570 objects.
2571 (elf32_arm_create_dynamic_sections): Tidy.
2572 (elf32_arm_link_hash_table_create): Set plt_header_size,
2573 plt_entry_size, and symbian_p.
2574 (elf32_arm_check_relocs): Do not mark .rel.dyn as loadable when
2575 generating BPABI objects.
2576 (allocate_dynrelocs): Use htab->plt_header_size, not
2577 PLT_HEADER_SIZE. Do not add to .got.plt when
2578 generating BPABI objects.
2579 (elf32_arm_finish_dynamic_symbol): Generate Symbian OS PLTs.
2580 * elfarm-nabi.c: Add SymbianOS target vectors.
2581 * elflink.c (_bfd_elf_create_got_section): Use dynamic_sec_flags.
2582 (_bfd_elf_link_create_dynamic_sections): Likewise.
2583 * elfxx-target.h (ELF_DYNAMIC_SEC_FLAGS): New macro.
2584 (elfNN_bed): Use it.
2585 * targets.c (bfd_elf32_bigarm_symbian_vec): New variable.
2586 (bfd_elf32_littlearm_symbian_vec): Likewise.
2587 (_bfd_target_vector): Add them.
2588
6e3b6835
NC
25892004-09-03 Nick Clifton <nickc@redhat.com>
2590
2591 PR 360
2592 * coffcode.h (handle_COMDAT): Replace abort with an warning
2593 message and allow the scan to continue.
2594
595da8c5
AM
25952004-09-02 Alan Modra <amodra@bigpond.net.au>
2596
2597 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Use static_syms passed
2598 in when reading relocs, not our sorted syms. Remove unnecessary
2599 var.
2600
6723a9f4
EB
26012004-08-31 Eric Botcazou <ebotcazou@libertysurf.fr>
2602
2603 * elf.c (special_sections): Add .gnu.linkonce.b modelled on .bss.
2604
5464f5a1
NN
26052004-08-30 Nathanael Nerode <neroden@gcc.gnu.org>
2606
2607 * acinclude.m4: Require AC_CANONICAL_TARGET, not AC_CANONICAL_SYSTEM.
2608 Include ../config/acx.m4 and use ACX_NONCANONICAL_* where appropriate;
2609 replace uses of *_alias with *_noncanonical.
2610 * aclocal.m4: Rebuild with aclocal 1.4p6.
2611 * Makefile.in: Rebuild with automake 1.4p6.
2612 * doc/Makefile.in: Rebuild with automake 1.4p6.
2613 * configure.in: Autoupdate with autoupdate 2.59.
2614 * config.in: Regenerate with autoheader 2.59.
2615 * configure: Regnerate with autoconf 2.59.
2616
a7535cf3
AM
26172004-08-28 Alan Modra <amodra@bigpond.net.au>
2618
2619 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Copy input
2620 symbol pointer arrays before modifying.
2621
c9727e01
AM
26222004-08-28 Alan Modra <amodra@bigpond.net.au>
2623
b91e2ae2 2624 * bfd.c (bfd_get_synthetic_symtab): Pass counts and both symbol tables.
c9727e01
AM
2625 * elf-bfd.h (_bfd_elf_get_synthetic_symtab): Adjust.
2626 * elf.c (_bfd_elf_get_synthetic_symtab): Adjust.
2627 * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Adjust.
b91e2ae2
AM
2628 * targets.c (struct bfd_target <_bfd_get_synthetic_symtab>): Adjust.
2629 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't read symbols.
2630 Use both symbol tables on non-relocatable objects. Use a common
2631 error exit. Fix "mid" warning.
c9727e01
AM
2632 * libbfd.h: Regenerate.
2633 * bfd-in2.h: Regenerate.
2634
699733f6
AM
26352004-08-28 Alan Modra <amodra@bigpond.net.au>
2636
2637 * elf64-ppc.c (ppc64_elf_branch_reloc): Check .opd is in a regular
2638 object file.
2639 (struct sfpr_def_parms): Save some space.
2640 (sfpr_define): Here too.
2641
2642 * elf64-ppc.c (compare_symbols): Put section syms first.
2643 (sym_exists_at): New function.
2644 (ppc64_elf_get_synthetic_symtab): Use relocs to find code entry
2645 points only for relocatable files. Use .opd section contents
2646 otherwise. Generally clean up the code.
2647
deb0e272
AM
26482004-08-27 Alan Modra <amodra@bigpond.net.au>
2649
2650 * elf64-ppc.c (STD_R0_0R1, STD_R0_0R12, LD_R0_0R1, LD_R0_0R12,
2651 LI_R12_0, STVX_VR0_R12_R0, LVX_VR0_R12_R0, MTLR_R0, SFPR_MAX): Define.
2652 (struct sfpr_def_parms): New.
2653 (sfpr_define): New function.
2654 (savegpr0, savegpr0_tail, restgpr0, restgpr0_tail): New functions.
2655 (savegpr1, savegpr1_tail, restgpr1, restgpr1_tail): New functions.
2656 (savefpr, savefpr0_tail, restfpr, restfpr0_tail): New functions.
2657 (savefpr1_tail, restfpr1_tail): New functions.
2658 (savevr, savevr_tail, restvr, restvr_tail): New functions.
2659 (MIN_SAVE_FPR, MAX_SAVE_FPR): Don't define.
2660 (ppc64_elf_func_desc_adjust): Use sfpr_define in place of existing
2661 code. Define all ABI mandated _save and _rest functions.
2662
85a84e7a
PB
26632004-08-26 Paul Brook <paul@codesourcery.com>
2664
deb0e272 2665 * elf32-arm.h (INTERWORK_FLAG): Return true for EABIv3 objects.
85a84e7a 2666
688c58f3
AM
26672004-08-26 Alan Modra <amodra@bigpond.net.au>
2668
2669 * elf32-m32r.c (m32r_elf_relocate_section): Don't compare with
2670 TRUE or FALSE.
2671
3e95eabc
AM
26722004-08-26 Alan Modra <amodra@bigpond.net.au>
2673
2674 * elf32-i386.c (elf_i386_relocate_section): Tweak last change so
2675 that pcrel correction is applied for R_386_PC32.
2676
f855931b
AM
26772004-08-25 Alan Modra <amodra@bigpond.net.au>
2678
2679 * elf32-i386.c (elf_i386_relocate_section): Zero section contents
2680 for R_386_32 and R_386_PC32 relocs against symbols defined in
2681 discarded sections.
2682
b18c562e
NC
26832004-08-25 Dmitry Diky <diwil@spec.ru>
2684
2685 * reloc.c (BFD_RELOC_MSP430_2X_PCREL,BFD_RELOC_MSP430_RL_PCREL):
2686 Add new relocations.
2687 * bfd-in2.h: Regenerate.
f855931b 2688 * libbfd.h: Regenerate.
b18c562e
NC
2689 * elf32-msp430.c: Clean-up code.
2690 (elf_msp430_howto_table): Add new relocation entries.
2691 (bfd_elf32_bfd_reloc_type_lookup): New relocation handlers.
2692 (msp430_elf_relax_section): New function.
2693 (msp430_elf_relax_delete_bytes): New function.
2694 (msp430_elf_symbol_address_p): New function.
2695
af705ba8
NC
26962004-08-24 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2697
2698 * elf32-m32r.c (m32r_elf_relocate_section): Handle
2699 R_M32R_SDA16_RELA in the same way as R_M32R_SDA16.
2700
ea5158d8
DJ
27012004-08-20 Daniel Jacobowitz <dan@debian.org>
2702
2703 * elflink.c (_bfd_elf_section_already_linked): Handle
2704 SEC_LINK_DUPLICATES_SAME_CONTENTS.
2705
49d934f1
MM
27062004-08-19 Mark Mitchell <mark@codesourcery.com>
2707
2708 * config.bfd (arm*-*-symbianelf*): New target.
2709 (arm*-*-eabi*): Likewise.
2710
039b3fef
AM
27112004-08-19 Alan Modra <amodra@bigpond.net.au>
2712
2713 * elf64-ppc.c (ppc_get_stub_entry): Change third param to a
2714 "struct ppc_link_hash_entry *".
2715 (ppc64_elf_relocate_section): Ditto for type of h. Introduce h_elf
2716 to satisfy RELOC_FOR_GLOBAL_SYMBOL.
2717
3f764659
JJ
27182004-08-19 Jakub Jelinek <jakub@redhat.com>
2719
2720 * elf64-ppc.c (ppc64_elf_edit_opd): Support 16 byte long .opd
2721 entries (where fd_aux overlaps next entry's fd_func).
2722 Add non_overlapping argument, use it.
2723 (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, adjust_opd_syms,
2724 ppc64_elf_size_stubs, ppc64_elf_relocate_section,
2725 ppc64_elf_output_symbol_hook): Use address / 8 instead of address / 24
2726 as indexes into opd_sym_map/opd_adjust array.
2727 * elf64-ppc.h (ppc64_elf_edit_opd): Adjust prototype.
2728
c09bdfe5
AM
27292004-08-18 Alan Modra <amodra@bigpond.net.au>
2730
2731 * elf64-ppc.c (func_desc_adjust): Give undefined dot-symbols a value
2732 if we can look up their function descriptor in a regular file.
2733
271d0fc3
NC
27342004-08-18 Nick Clifton <nickc@redhat.com>
2735
2736 PR 324
2737 * cofflink.c (coff_link_add_symbols): Check that the comdat
2738 pointer in the coff_section_data structure has been initialised
2739 before using it.
2740
a010d60f
AM
27412004-08-18 Alan Modra <amodra@bigpond.net.au>
2742
2743 PR 338
2744 * elflink.c (bfd_elf_record_link_assignment): Add comment about
2745 changing bfd_link_hash_undefined to bfd_link_hash_new.
2746
90e3cdf2
JJ
27472004-08-17 Jakub Jelinek <jakub@redhat.com>
2748
2749 * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Only define
2750 if not yet defined.
2751 * elf64-ppc.c (bfd_elf64_get_synthetic_symtab): Define.
2752 (synthetic_opd, synthetic_relocatable): New variables.
2753 (compare_symbols, compare_relocs): New helper routines.
2754 (ppc64_elf_get_synthetic_symtab): New function.
2755 * bfd.c (bfd_get_synthetic_symtab): Rename dynsyms argument
2756 to relsyms.
2757 * bfd-in2.h: Regenerated.
2758 * elf.c (_bfd_elf_get_synthetic_symtab): Rename dynsyms argument
2759 to relsyms. Return 0 if abfd is relocatable.
2760
7c2c8505
AM
27612004-08-17 Alan Modra <amodra@bigpond.net.au>
2762
2763 * elflink.h (elf_gc_sweep): Keep non-alloc, non-load sections.
2764
0367ecfb
NC
27652004-08-17 Nick Clifton <nickc@redhat.com>
2766
2767 * (is_arm_mapping_symbol_name): New function - return true
2768 when a symbol name matches the requirements for an ARM mapping
2769 symbol name.
2770 (arm_elf_find_function): New function based on
2771 elf_find_function in elf.c but skipping ARM mapping symbols
2772 and including thumb function symbols.
2773 (elf32_arm_find_nearest_line): Use arm_elf_find_function.
2774 (elf32_arm_output_symbol_hook): Use is_arm_mapping_symbol_name.
2775
2441e016
AM
27762004-08-17 Alan Modra <amodra@bigpond.net.au>
2777
2778 * elf64-ppc.c (ppc64_elf_branch_reloc): New function.
2779 (ppc64_elf_howto_raw): Use ppc64_elf_branch_reloc.
2780 (ppc64_elf_brtaken_reloc): Here too.
2781
35b0ce59
AM
27822004-08-17 Alan Modra <amodra@bigpond.net.au>
2783
2784 * elf64-ppc.c (add_symbol_adjust): Correct mismatched function
2785 symbol visibility.
2786 (ppc64_elf_check_directives): Check that we have the right hash
2787 table before proceeding.
2788
81688140
AM
27892004-08-17 Alan Modra <amodra@bigpond.net.au>
2790
2791 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add "deleted_section".
2792 (adjust_opd_syms): Attach opd syms for deleted entries to one of
2793 the sections that will be discarded.
2794
327c1315
AM
27952004-08-16 Alan Modra <amodra@bigpond.net.au>
2796
2797 * elflink.c (elf_section_complain_discarded): Ignore .fixup.
2798
45fc9e4a
AM
27992004-08-16 Alan Modra <amodra@bigpond.net.au>
2800
2801 * bfd.c (_bfd_default_error_handler): Account for doubled '%' in
2802 free space available.
2803
9dadfa79
AM
28042004-08-16 Alan Modra <amodra@bigpond.net.au>
2805
2806 * pdp11.c (struct pdp11_aout_reloc_external): Delete. Replace
f89c4dec 2807 occurrences with bfd_byte * thoughout file.
9dadfa79
AM
2808
2809 * coff-rs6000.c (do_shared_object_padding): Warning fix.
2810 (xcoff_write_armap_big): Likewise.
2811 (xcoff_write_archive_contents_old): Likewise.
2812 (xcoff_write_archive_contents_big): Likewise.
2813
2814 * elf64-mmix.c (mmix_elf_get_section_contents): Delete declaration.
2815
57e8b36a
NC
28162004-08-13 Nick Clifton <nickc@redhat.com>
2817
2818 * elf32-arm.h: Convert to ISO C90.
2819
a005f94e
AM
28202004-08-13 Alan Modra <amodra@bigpond.net.au>
2821
2822 PR 293
2823 * elf32-hppa.c (elf32_hppa_hide_symbol): Use init_refcount to
2824 zero the plt field.
2825
d003868e
AM
28262004-08-13 Alan Modra <amodra@bigpond.net.au>
2827
2828 * bfd.c (_bfd_default_error_handler): Handle %A and %B.
2829 (bfd_archive_filename, bfd_get_section_ident): Delete.
2830 * ecofflink.c (bfd_ecoff_debug_accumulate_other): Don't call
2831 bfd_archive_filename.
2832 * elflink.c (elf_link_input_bfd): Don't use callbacks->error_handler
2833 to warn about symbols in discarded sections. Use _bfd_error_handler.
2834 * aout-adobe.c (aout_adobe_callback): See below.
2835 * aout-cris.c (swap_ext_reloc_in): ..
2836 * coff-arm.c (find_thumb_glue, find_arm_glue,
2837 coff_arm_relocate_section, bfd_arm_process_before_allocation,
2838 coff_arm_merge_private_bfd_data, _bfd_coff_arm_set_private_flags,
2839 coff_arm_copy_private_bfd_data): ..
2840 * coff-i860.c (i860_reloc_processing): ..
2841 * coff-mcore.c (mcore_coff_unsupported_reloc,
2842 coff_mcore_relocate_section): ..
2843 * coff-ppc.c (coff_ppc_relocate_section): ..
2844 * coff-rs6000.c (xcoff_create_csect_from_smclas
2845 * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
2846 sh_swap_insns, sh_relocate_section): ..
2847 * coff-tic54x.c (tic54x_reloc_processing): ..
2848 * coff-tic80.c (coff_tic80_relocate_section): ..
2849 * coff64-rs6000.c (xcoff64_create_csect_from_smclas): ..
2850 * coffcode.h (styp_to_sec_flags, coff_slurp_line_table,
2851 coff_slurp_symbol_table, coff_classify_symbol,
2852 coff_slurp_reloc_table): ..
2853 * coffgen.c (_bfd_coff_read_string_table): ..
2854 * cofflink.c (coff_link_add_symbols, _bfd_coff_link_input_bfd,
2855 _bfd_coff_generic_relocate_section): ..
2856 * cpu-arm.c (bfd_arm_merge_machines): ..
2857 * cpu-sh.c (sh_merge_bfd_arch): ..
2858 * elf-hppa.h (elf_hppa_relocate_section): ..
2859 * elf.c (bfd_elf_string_from_elf_section, setup_group,
2860 _bfd_elf_setup_group_pointers, bfd_section_from_shdr,
2861 assign_section_numbers, _bfd_elf_symbol_from_bfd_symbol,
2862 copy_private_bfd_data, _bfd_elf_validate_reloc): ..
2863 * elf32-arm.h (find_thumb_glue, find_arm_glue,
2864 bfd_elf32_arm_process_before_allocation, elf32_thumb_to_arm_stub,
2865 elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate,
2866 elf32_arm_relocate_section, elf32_arm_set_private_flags,
2867 elf32_arm_copy_private_bfd_data, elf32_arm_merge_private_bfd_data): ..
2868 * elf32-cris.c (cris_elf_relocate_section, cris_elf_check_relocs,
2869 cris_elf_merge_private_bfd_data
2870 * elf32-frv.c (elf32_frv_relocate_section, elf32_frv_check_relocs): ..
2871 * elf32-gen.c (elf32_generic_link_add_symbols): ..
2872 * elf32-hppa.c (hppa_add_stub, hppa_build_one_stub,
2873 elf32_hppa_check_relocs, get_local_syms, final_link_relocate,
2874 elf32_hppa_relocate_section): ..
2875 * elf32-i370.c (i370_elf_merge_private_bfd_data,
2876 i370_elf_check_relocs, i370_elf_relocate_section): ..
2877 * elf32-i386.c (elf_i386_info_to_howto_rel, elf_i386_check_relocs,
2878 elf_i386_relocate_section): ..
2879 * elf32-m32r.c (m32r_elf_relocate_section,
2880 m32r_elf_merge_private_bfd_data): ..
2881 * elf32-m68hc1x.c (m68hc12_add_stub,
2882 _bfd_m68hc11_elf_merge_private_bfd_data): ..
2883 * elf32-m68k.c (elf_m68k_relocate_section): ..
2884 * elf32-mcore.c (mcore_elf_unsupported_reloc,
2885 mcore_elf_relocate_section): ..
2886 * elf32-ppc.c (ppc_elf_merge_private_bfd_data, bad_shared_reloc,
2887 ppc_elf_check_relocs, ppc_elf_relocate_section,
2888 ppc_elf_begin_write_processing): ..
2889 * elf32-s390.c (elf_s390_check_relocs, invalid_tls_insn,
2890 elf_s390_relocate_section): ..
2891 * elf32-sh-symbian.c (sh_symbian_import_as,
2892 sh_symbian_process_embedded_commands,
2893 sh_symbian_relocate_section): ..
2894 * elf32-sh.c (sh_elf_relax_section, sh_elf_relax_delete_bytes,
2895 sh_elf_swap_insns, sh_elf_relocate_section, sh_elf_check_relocs,
2896 sh_elf_merge_private_data): ..
2897 * elf32-sparc.c (elf32_sparc_check_relocs,
2898 elf32_sparc_relocate_section,
2899 elf32_sparc_merge_private_bfd_data): ..
2900 * elf32-v850.c (v850_elf_check_relocs,
2901 v850_elf_merge_private_bfd_data): ..
2902 * elf32-xtensa.c (elf_xtensa_check_relocs,
2903 elf_xtensa_relocate_section, elf_xtensa_merge_private_bfd_data): ..
2904 * elf64-alpha.c (elf64_alpha_relax_with_lituse,
2905 elf64_alpha_relax_got_load, elf64_alpha_size_got_sections,
2906 elf64_alpha_relocate_section_r, elf64_alpha_relocate_section): ..
2907 * elf64-gen.c (elf64_generic_link_add_symbols): ..
2908 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data, ppc_add_stub,
2909 ppc64_elf_check_relocs, ppc64_elf_edit_opd,
2910 ppc64_elf_relocate_section): ..
2911 * elf64-s390.c (elf_s390_check_relocs, invalid_tls_insn,
2912 elf_s390_relocate_section): ..
2913 * elf64-sh64.c (sh_elf64_relocate_section): ..
2914 * elf64-sparc.c (sparc64_elf_check_relocs,
2915 sparc64_elf_add_symbol_hook, sparc64_elf_relocate_section,
2916 sparc64_elf_merge_private_bfd_data): ..
2917 * elf64-x86-64.c (elf64_x86_64_check_relocs,
2918 elf64_x86_64_relocate_section): ..
2919 * elflink.c (_bfd_elf_add_default_symbol,
2920 _bfd_elf_link_assign_sym_version, elf_link_read_relocs_from_section,
2921 _bfd_elf_link_output_relocs, elf_link_add_object_symbols,
2922 bfd_elf_size_dynamic_sections, elf_link_output_extsym,
2923 elf_get_linked_section_vma, elf_fixup_link_order,
2924 bfd_elf_final_link, bfd_elf_gc_record_vtinherit,
2925 bfd_elf_gc_record_vtinherit, _bfd_elf_section_already_linked): ..
2926 * elfxx-ia64.c (elfNN_ia64_relax_section,
2927 elfNN_ia64_relocate_section, elfNN_ia64_merge_private_bfd_data): ..
2928 * elfxx-mips.c (mips_elf_perform_relocation,
2929 _bfd_mips_elf_check_relocs,
2930 _bfd_mips_elf_merge_private_bfd_data): ..
2931 * ieee.c (ieee_slurp_external_symbols): ..
2932 * ihex.c (ihex_bad_byte, ihex_scan, ihex_read_section): ..
2933 * libbfd.c (_bfd_generic_verify_endian_match): ..
2934 * linker.c (_bfd_generic_link_add_one_symbol,
2935 _bfd_generic_section_already_linked): ..
2936 * pdp11.c (translate_to_native_sym_flags): ..
2937 * pe-mips.c (coff_pe_mips_relocate_section): ..
2938 * peicode.h (pe_ILF_build_a_bfd): ..
2939 * srec.c (srec_bad_byte): ..
2940 * stabs.c (_bfd_link_section_stabs): ..
2941 * xcofflink.c (xcoff_link_add_symbols, xcoff_link_input_bfd): ..
2942 Replace all uses of bfd_archive_filename and bfd_get_section_ident
2943 with corresponding %B and %A in _bfd_error_handler format string.
2944 Replace occurrences of "fprintf (stderr," with _bfd_error_handler
2945 calls to use %A and %B. Fix "against symbol .. from section" and
2946 similar error messages. Combine multiple _bfd_error_handler calls
2947 where they were separated due to bfd_archive_filename deficiencies.
2948 * bfd-in2.h: Regenerate.
2949
6ba842b6
L
29502004-08-12 H.J. Lu <hongjiu.lu@intel.com>
2951
2952 * elf32-i386.c (elf_i386_relocate_section): Report unrecognized
2953 relocation.
2954
99877b66
AM
29552004-08-10 Alan Modra <amodra@bigpond.net.au>
2956
2957 * elf64-ppc.c (struct ppc_link_hash_entry): Add was_undefined.
2958 (struct ppc_link_hash_table): Remove no_multi_toc, multi_toc_needed.
2959 Make emit_stub_syms, stub_error and has_14bit_branch bit-fields.
2960 Add twiddled_syms.
2961 (link_hash_newfunc): Init was_undefined.
2962 (add_symbol_adjust): Don't set undefined dot symbols to defweak;
2963 Use undefweak instead.
2964 (ppc64_elf_check_directives): Fix undefs chain.
2965 (ppc64_elf_next_toc_section): Remove no_multi_toc and multi_toc_needed
2966 references.
2967 (ppc64_elf_size_stubs): Adjust for add_symbol_adjust change.
2968 (undo_symbol_twiddle, ppc64_elf_restore_symbols): New functions.
2969 * elf64-ppc.h (ppc64_elf_restore_symbols): Declare.
2970
ba3bee0b
JJ
29712004-08-09 Jakub Jelinek <jakub@redhat.com>
2972
2973 * elf64-x86-64.c (elf64_x86_64_relocate_section): For -fno-pic
2974 error, test input_section flags rather than sec.
2975
8387904d
AM
29762004-08-09 Alan Modra <amodra@bigpond.net.au>
2977
2978 * elf-bfd.h (struct elf_backend_data): Add
2979 elf_backend_archive_symbol_lookup.
2980 (_bfd_elf_archive_symbol_lookup): Declare.
2981 * elflink.c (_bfd_elf_archive_symbol_lookup): New function..
2982 (elf_link_add_archive_symbols): ..extracted from here. Call the
2983 backend version.
2984 * elfxx-target.h (elf_backend_archive_symbol_lookup): Provide default.
2985 (elfNN_bed): Init new field.
2986 * elf64-ppc.c (elf_backend_check_directives): Define.
2987 (elf_backend_archive_symbol_lookup): Define.
2988 (struct ppc_link_hash_table): Add tls_get_add_fd. Make tls_get_add
2989 a ppc_link_hash_entry pointer.
2990 (get_fdh): Move.
2991 (ppc64_elf_archive_symbol_lookup, opd_entry_value): New functions.
2992 (add_symbol_adjust, ppc64_elf_check_directives): New functions.
2993 (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, func_desc_adjust,
2994 ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup,
2995 ppc64_elf_tls_optimize, allocate_dynrelocs, ppc_type_of_stub,
2996 ppc_build_one_stub, ppc64_elf_size_stubs, ppc64_elf_relocate_section,
2997 ppc64_elf_finish_dynamic_symbol): Handle branch relocs to function
2998 descriptor symbols.
2999
b25116a9
AM
30002004-08-09 Alan Modra <amodra@bigpond.net.au>
3001
8843416a
AM
3002 * elf64-ppc.c (struct ppc_link_hash_entry): Expand adjust_done comment.
3003 (ppc64_elf_add_symbol_hook): Test for NULL section.
3004 (get_sym_h): Formatting.
3005 (ppc64_elf_size_stubs): Include reloc addend in value stored as
3006 stub target_value.
3007
b25116a9
AM
3008 * elf64-ppc.c (ppc64_elf_relocate_section): Combine handling of
3009 long branch stubs with code handling plt and r2off branch stubs.
3010
ccfa59ea
AM
30112004-08-09 Alan Modra <amodra@bigpond.net.au>
3012
3013 * elf-bfd.h (_bfd_elf_gc_mark): Declare.
3014 * elflink.c (elf_link_input_bfd): Formatting.
3015 (_bfd_elf_gc_mark): Rename from elf_gc_mark and make global. Adjust
3016 all callers.
3017 * elf64-ppc.c (struct ppc_link_hash_entry): Remove is_entry.
3018 (link_hash_newfunc): Don't set it.
3019 (ppc64_elf_copy_indirect_symbol): Nor copy it.
3020 (ppc64_elf_mark_entry_syms): Delete.
3021 (ppc64_elf_gc_mark_hook): Mark entry syms here. Also mark opd
3022 sections. Use get_opd_info.
3023 * elf64-ppc.h (ppc64_elf_mark_entry_syms): Delete.
3024
4025353c
AM
30252004-08-09 Alan Modra <amodra@bigpond.net.au>
3026
4f800a42
AM
3027 * elf64-ppc.c (adjust_opd_syms): Fix merge error.
3028
06da1e8e
AM
3029 * elf64-ppc.c (struct ppc_link_hash_table): Remove have_undefweak.
3030 (func_desc_adjust): Don't set have_undefweak.
3031 (ppc64_elf_func_desc_adjust): Don't add an extr nop to sfpr.
3032 (ppc64_elf_relocate_section): NOP out calls to undefweak functions.
3033
34814b9f
AM
3034 * elf64-ppc.c (struct ppc_link_hash_entry): Make "oh" a
3035 "struct ppc_link_hash_entry *". Adjust all references.
3036 (ppc64_elf_hide_symbol): Correct a comment.
3037
4025353c
AM
3038 * elf64-ppc.c (get_opd_info): New function.
3039 (adjust_opd_syms): Use get_opd_info. Define removed symbols as zero.
3040 (ppc64_elf_edit_opd): Use get_opd_info. Check that sym has a dot
3041 before calling get_fdh. Test fdh rather than h before dereferencing
3042 fdh. Mark removed symbols in opd_adjust.
3043 (ppc64_elf_tls_optimize): Don't bother with opd adjustment here.
3044 (ppc64_elf_relocate_section): Use get_opd_info, and handle removed
3045 opd symbols.
3046 (ppc64_elf_output_symbol_hook): Likewise.
3047
db6579d4
PB
30482004-08-06 Paul Brook <paul@codesourcery.com>
3049
3050 * elfarm-nabi.c (elf32_arm_howto_table): Add new EABI relocations.
3051 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_RELABS32,
3052 BFD_RELOC_ARM_ROSEGREL32 and BFD_RELOC_ARM_SBREL32.
3053 * reloc.c: Add BFD_RELOC_ARM_RELABS32, BFD_RELOC_ARM_ROSEGREL32
3054 and BFD_RELOC_ARM_SBREL32.
3055 * bfd-in2.h, bbfd.h: Regenerate.
3056
a4d0f181
TS
30572004-08-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3058
3059 * elfxx-mips.c (mips_elf_calculate_relocation): Test only for
3060 the dynamic link symbol actually in use.
3061
83774818
SC
30622004-08-01 Stephane Carrez <stcarrez@nerim.fr>
3063
3064 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Handle bfd_link_hash_new
3065
a4d0f181 30662004-07-31 Joel Brobecker <brobecker@gnat.com>
00b4930b
TS
3067 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3068
3069 * elfxx-mips.c (_bfd_mips_elf_symbol_processing): Handle
3070 SHN_MIPS_TEXT and SHN_MIPS_DATA.
3071
185d09ad
L
30722004-07-30 H.J. Lu <hongjiu.lu@intel.com>
3073 Nick Clifton <nickc@redhat.com>
3074
3075 PR 290
3076 * bfd.c (_bfd_default_error_handler): Make it global.
3077
3078 * elf-bfd.h (elf_backend_data): Add link_order_error_handler.
3079
3080 * elf.c (assign_section_numbers): Cope gracefully with sections
3081 which have SHF_LINK_ORDER set but no sh_link set up.
3082 * elflink.c (elf_get_linked_section_vma): Likewise.
3083
3084 * elfxx-ia64.c (elf_backend_link_order_error_handler): New. Set
3085 it to NULL.
3086
3087 * elfxx-target.h (elf_backend_link_order_error_handler): New.
3088 Set it to _bfd_default_error_handler.
3089 (elfNN_bed): Add elf_backend_link_order_error_handler.
3090
3091 * libbfd-in.h (_bfd_default_error_handler): New.
3092
3093 * libbfd.h: Regenerated.
3094
7946e94a
JJ
30952004-07-30 Jakub Jelinek <jakub@redhat.com>
3096
3097 * archures.c (bfd_mach_sparc_64bit_p): Define.
3098 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Use it.
3099 * bfd-in2.h: Rebuilt.
3100
1d70c7fb
AO
31012004-07-29 Alexandre Oliva <aoliva@redhat.com>
3102
3103 Introduce SH2a support.
3104 2004-02-18 Corinna Vinschen <vinschen@redhat.com>
3105 * archures.c (bfd_mach_sh2a_nofpu): New.
3106 * bfd-in2.h: Rebuilt.
3107 * cpu-sh.c (SH2A_NOFPU_NEXT): New.
3108 (arch_info_struct): Add sh2a_nofpu.
3109 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a_nofpu.
3110 2003-12-29 DJ Delorie <dj@redhat.com>
3111 * reloc.c: Add relocs for sh2a.
3112 * bfd-in2.h: Regenerate.
3113 * libbfd.hh: Regenerate.
3114 2003-12-01 Michael Snyder <msnyder@redhat.com>
3115 * archures.c (bfd_mach_sh2a): New.
3116 * bfd-in2.h: Rebuilt.
3117 * cpu-sh.c (SH_NEXT, SH2_NEXT, etc.): Change defines to enums.
3118 (SH2A_NEXT): New.
3119 (arch_info_struct): Add sh2a.
3120 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a.
3121
404ed0cf
DA
31222004-07-28 Nick Clifton <nickc@redhat.com>
3123 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3124
3125 PR 273
3126 * som.c (setup_sections): Improve estimation of space sizes in
3127 relocatable objects.
3128
225247f0
JT
31292004-07-27 Jason Thorpe <thorpej@wasabisystems.com>
3130 * config.bfd (hppa*-*-netbsd*): Set targ_defvec to
3131 bfd_elf32_hppa_nbsd_vec. Add bfd_elf32_hppa_linux_vec
3132 to targ_selvecs.
3133 * configure.in (bfd_elf32_hppa_nbsd_vec): Add case.
3134 * configure: Regenerate.
3135 * elf32-hppa.c (elf32_hppa_object_p): Add "elf32-hppa-netbsd"
3136 case that accepts OSABI=NetBSD and OSABI=SysV.
3137 (elf32_hppa_set_gp): For "elf32-hppa-netbsd", set the GP to
3138 the base of .got or .data (if .got does not exist).
3139 (elf32_hppa_post_process_headers): For elf32-hppa-netbsd,
3140 set OSABI=NetBSD.
3141 (TARGET_BIG_SYM): Add bfd_elf32_hppa_nbsd_vec case.
3142 (TARGET_BIG_NAME): Add "elf32-hppa-netbsd" case.
3143 * targets.c (bfd_elf32_hppa_nbsd_vec): Add extern declaration.
3144 (_bfd_target_vector): Add bfd_elf32_hppa_nbsd_vec.
3145
3d7f7666
L
31462004-07-27 H.J. Lu <hongjiu.lu@intel.com>
3147
3148 PR 161/251
3149 * elf-bfd.h (bfd_elf_section_data): Add sec_group.
3150 (elf_sec_group): Defined.
3151 (bfd_elf_match_symbols_in_sections): New prototype.
3152 (_bfd_elf_setup_group_pointers): Likewise.
3153
3154 * elf.c (bfd_elf_discard_group): Abort.
3155 (bfd_elf_set_group_contents): Also include relocation sections.
3156 Remove zero-fill for ld -r.
3157 (_bfd_elf_setup_group_pointers): New function.
3158 (elf_sort_elf_symbol): Likewise.
3159 (elf_sym_name_compare): Likewise.
3160 (bfd_elf_match_symbols_in_sections): Likewise.
3161
3162 * elfcode.h (elf_object_p): Call _bfd_elf_setup_group_pointers.
3163
3164 * elflink.c (match_group_member): New.
3165 (elf_link_input_bfd): Check group member for discarded section.
3166 (try_match_symbols_in_sections): New function.
3167 (already_linked): Likewise.
3168 (_bfd_elf_section_already_linked): Support mixing comdat group
3169 and linkonce section.
3170
3171 * libbfd-in.h (bfd_section_already_linked_table_traverse): New.
3172 * linker.c (bfd_section_already_linked_table_traverse): New.
3173
3174 * libbfd.h: Regenerated.
3175
670ec21d
NC
31762004-07-27 Tomer Levi <Tomer.Levi@nsc.com>
3177
3178 * reloc.c: Add BFD_RELOC_CRX_SWITCH8, BFD_RELOC_CRX_SWITCH16,
3179 BFD_RELOC_CRX_SWITCH32.
3180 * bfd-in2.h: Regenerate.
6cd7f07e 3181 * libbfd.h: Regenerate.
670ec21d
NC
3182 * elf32-crx.c: Support relocation/relaxation of
3183 BFD_RELOC_CRX_SWITCH* types.
3184
2c66dc6c
AM
31852004-07-27 Alan Modra <amodra@bigpond.net.au>
3186
3187 * elf64-ppc.c: Correct "Linker stubs" comment.
3188
38ce5b11
L
31892004-07-26 H.J. Lu <hongjiu.lu@intel.com>
3190
3191 * elf-bfd.h (bfd_elf_section_data): Add a pointer for the
3192 linked-to section.
3193 (elf_linked_to_section): New.
3194
3195 * elf.c (assign_section_numbers): Set up sh_link for
3196 SHF_LINK_ORDER.
3197
3198 * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set sh_info
3199 to sh_link for SHT_IA_64_UNWIND sections.
3200
65da361f
L
32012004-07-22 H.J. Lu <hongjiu.lu@intel.com>
3202
3203 * elflink.c (elf_fixup_link_order): Add _() to error message.
3204
08ccf96b
L
32052004-07-22 H.J. Lu <hongjiu.lu@intel.com>
3206
3207 * elflink.c (elf_fixup_link_order): Issue a warning and flag
3208 an error if failed.
3209
082b7297
L
32102004-07-21 H.J. Lu <hongjiu.lu@intel.com>
3211
3212 * aout-adobe.c (aout_32_section_already_linked): Defined.
3213 * aout-target.h (MY_section_already_linked): Likewise.
3214 * aout-tic30.c (MY_section_already_linked): Likewise.
3215 * binary.c (binary_section_already_linked): Likewise.
3216 * bout.c (b_out_section_already_linked): Likewise.
3217 * coff-alpha.c (_bfd_ecoff_section_already_linked): Likewise.
3218 * coff-mips.c (_bfd_ecoff_section_already_linked): Likewise.
3219 * coffcode.h (coff_section_already_linked): Likewise.
3220 * i386msdos.c (msdos_section_already_linked): Likewise.
3221 * i386os9k.c (os9k_section_already_linked): Likewise.
3222 * ieee.c (ieee_section_already_linked): Likewise.
3223 * ihex.c (ihex_section_already_linked): Likewise.
3224 * mach-o.c (bfd_mach_o_section_already_linked): Likewise.
3225 * mmo.c (mmo_section_already_linked): Likewise.
3226 * nlm-target.h (nlm_section_already_linked): Likewise.
3227 * oasys.c (oasys_section_already_linked): Likewise.
3228 * pef.c (bfd_pef_section_already_linked): Likewise.
3229 * ppcboot.c (ppcboot_section_already_linked): Likewise.
3230 * som.c (som_bfd_discard_group): Likewise.
3231 * srec.c (srec_section_already_linked): Likewise.
3232 * tekhex.c (tekhex_section_already_linked): Likewise.
3233 * versados.c (versados_section_already_linked): Likewise.
3234 * vms.c (vms_section_already_linked): Likewise.
3235 * coff-target.h (_bfd_xcoff_section_already_linked): Likewise.
3236 * xsym.c (bfd_sym_section_already_linked): Likewise.
3237
3238 * bfd-in.h (bfd_section_already_linked_table_init): New.
3239 (bfd_section_already_linked_table_free): Likewise.
3240
3241 * coff-rs6000.c (rs6000coff_vec): Add
3242 _bfd_generic_section_already_linked.
3243 (pmac_xcoff_vec): Likewise.
3244 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
3245 (aix5coff64_vec): Likewise.
3246
3247 * elf-bfd.h (_bfd_elf_section_already_linked): New prototype.
3248 * elflink.c (_bfd_elf_section_already_linked): New function.
3249
3250 * elfxx-target.h (bfd_elfNN_section_already_linked): Defined.
3251
3252 * libbfd-in.h (_bfd_nolink_section_already_linked): Defined.
3253 (_bfd_generic_section_already_linked): New.
3254 (bfd_section_already_linked_hash_entry): Likewise.
3255 (bfd_section_already_linked): Likewise.
3256 (bfd_section_already_linked_table_lookup): Likewise.
3257 (bfd_section_already_linked_table_insert): Likewise.
3258
3259 * linker.c (bfd_section_already_linked): New.
3260 (_bfd_section_already_linked_table): Likewise.
3261 (bfd_section_already_linked_table_lookup): Likewise.
3262 (bfd_section_already_linked_table_insert): Likewise.
3263 (already_linked_newfunc): Likewise.
3264 (bfd_section_already_linked_table_init): Likewise.
3265 (bfd_section_already_linked_table_free): Likewise.
3266 (_bfd_generic_section_already_linked): Likewise.
3267
3268 * section.c (bfd_section): Remove comdat.
3269 (bfd_comdat_info): Moved to ...
3270 * bfd-in.h (coff_comdat_info): Here.
3271 (bfd_coff_get_comdat_section): New.
3272 * coffgen.c (bfd_coff_get_comdat_section): Likewise.
3273 * libcoff-in.h (coff_section_tdata): Add comdat.
3274 * coffcode.h (handle_COMDAT): Updated.
3275 * cofflink.c (coff_link_add_symbols): Likewise.
3276 * ecoff.c (bfd_debug_section): Likewise.
3277
3278 * targets.c (bfd_target): Add _section_already_linked.
3279 (BFD_JUMP_TABLE_LINK): Updated.
3280
3281 * bfd-in2.h: Regenerated.
3282 * libbfd.h: Likewise.
3283 * libcoff.h: Likewise.
3284
0b52efa6
PB
32852003-07-21 Paul Brook <paul@codesourcery.com>
3286
3287 * elflink.c (elf_get_linked_section_vma, compare_link_order,
3288 elf_fixup_link_order): New functions.
3289 (bfd_elf_final_link): Call elf_fixup_link_order.
3290
7e2294f9
AO
32912004-07-21 Alexandre Oliva <aoliva@redhat.com>
3292
3293 * elf-bfd.h (ELF_COMMON_DEF_P): New.
3294 * elflink.c (_bfd_elf_symbol_refs_local_p): Use it to handle
3295 common definitions.
3296 * elf-m10300.c: Use SYMBOL_REFERENCES_LOCAL instead of
3297 _bfd_elf_symbol_refs_local_p.
3298 * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove hack for common
3299 symbols.
3300
e56f61be
L
33012004-07-19 H.J. Lu <hongjiu.lu@intel.com>
3302
3303 * bfd-in.h (dynamic_lib_link_class): Add DYN_NO_ADD_NEEDED and
3304 DYN_NO_NEEDED.
3305 (bfd_elf_get_dyn_lib_class): New prototype.
3306 * elf.c (bfd_elf_get_dyn_lib_class): New function.
3307
3308 * elflink.c (elf_link_add_object_symbols): Check DYN_AS_NEEDED,
3309 DYN_DT_NEEDED and DYN_NO_NEEDED bits to see if a DT_NEEDED
3310 entry is needed. Issue an error if a DT_NEEDED entry is needed
3311 for a file marked DYN_NO_NEEDED.
3312 (elf_link_check_versioned_symbol): Check the DYN_DT_NEEDED bit
3313 for DT_NEEDED tags.
3314
3315 * bfd-in2.h: Regenerated.
3316
27b56da8
DA
33172004-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3318
3319 * elflink.c (elf_section_complain_discarded): Don't complain in
3320 .PARISC.unwind.
3321
bbb268c3
JW
33222004-07-10 James E Wilson <wilson@specifixinc.com>
3323
3324 * elfxx-ia64.c (elfNN_ia64_relax_ldxmov): Remove abfd parameter.
3325 (elfNN_ia64_install_value, elfNN_ia64_relax_brl): Likewise.
3326 (elfNN_ia64_relax_section, elfNN_ia64_relocate_section,
3327 elfNN_ia64_finish_dynamic_symbol, elfNN_ia64_finish_dynamic_sections):
3328 Fix callers.
3329 (elfNN_ia64_relax_brl): Change bfd_get_64 to bfd_getl64. Change
3330 bfd_put_64 to bfd_putl64.
3331 (elfNN_ia64_relax_ldxmov, elfNN_ia64_install_value): Likewise.
2c66dc6c 3332
e525914f
L
33332004-07-09 H.J. Lu <hongjiu.lu@intel.com>
3334
3335 PR 240
3336 * elfxx-ia64.c (elfNN_ia64_relax_section): Only warn br in
3337 .init/.fini sections when trying to relax it.
3338
b1a6d0b1
NC
33392004-07-09 Jie Zhang <zhangjie@magima.com.cn>
3340
3341 * elf.c (assign_file_positions_for_segments): Make sure the
3342 .dynamic section is the first section in the PT_DYNAMIC segment.
3343
1a320fbb
NC
33442004-07-09 Nick Clifton <nickc@redhat.com>
3345
3346 * config.bfd: Change sh-sybmian-elf to sh-*-symbianelf.
3347 * elf32-sh-symbian.c: Rename the sh_find_elf_flags and
3348 sh_elf_get_flags_from_mach functions so that they do not conflict
3349 when this target is built with other sh-elf targets.
3350 * elf32-sh.c (sh_elf_get_flags_from_mach): Remove bogus
3351 suppression of this function.
3352 (sh_elf_find_flags): Likewise.
3353
1fe1f39c
NC
33542004-07-07 Tomer Levi <Tomer.Levi@nsc.com>
3355
3356 * Makefile.am (ALL_MACHINES): Add cpu-crx.lo.
3357 (ALL_MACHINES_CFILES): Add cpu-crx.c.
3358 (BFD32_BACKENDS): Add elf32-crx.lo.
3359 (BFD32_BACKENDS_CFILES): Add elf32-crx.c.
3360 (cpu-crx.lo): New target.
3361 (elf32-crx.lo): New target.
3362 * Makefile.in: Regenerate.
3363 * archures.c (bfd_architecture): Add bfd_{arch,mach}_crx.
3364 (bfd_archures_list): Add bfd_crx_arch.
3365 * bfd-in2.h: Regenerate.
3366 * config.bfd: Handle crx-*-elf*, crx*.
3367 * configure.in: Handle bfd_elf32_crx_vec.
3368 * configure: Regenerate.
3369 * cpu-crx.c: New file.
3370 * elf32-crx.c: Likewise.
3371 * libbfd.h: Regenerate.
3372 * reloc.c: Add BFD_RELOC_CRX_REL4, BFD_RELOC_CRX_REL8,
3373 BFD_RELOC_CRX_REL8_CMP, BFD_RELOC_CRX_REL16, BFD_RELOC_CRX_REL24,
3374 BFD_RELOC_CRX_REL32, BFD_RELOC_CRX_REGREL12, BFD_RELOC_CRX_REGREL22,
3375 BFD_RELOC_CRX_REGREL28, BFD_RELOC_CRX_REGREL32, BFD_RELOC_CRX_ABS16,
3376 BFD_RELOC_CRX_ABS32, BFD_RELOC_CRX_NUM8, BFD_RELOC_CRX_NUM16,
3377 BFD_RELOC_CRX_NUM32, BFD_RELOC_CRX_IMM16 and BFD_RELOC_CRX_IMM32
3378 * targets.c (bfd_elf32_crx_vec): Declare.
3379 (bfd_target_vector): Add bfd_elf32_crx_vec.
3380
85fbca6a
NC
33812004-07-06 Nick Clifton <nickc@redhat.com>
3382
3383 * config.bfd: Add sh-symbian-elf target.
3384 * configure.in: Add bfd_elf32_shl_symbian_vec.
3385 * configure: Regenerate.
3386 * elf-bfd.h (struct elf_backend_data): Add new field
3387 'check_directives'.
1fe1f39c 3388 * elflink.c (elf_link_add_object_symbols): Invoke the
85fbca6a 3389 check_directives function, if defined.
1fe1f39c 3390 * elfxx-target.h: Provide a default, NULL definition for
85fbca6a 3391 check_directives.
1fe1f39c
NC
3392 * targets.c: Add bfd_elf32_shl_symbian_vec.
3393 * elf32-sh.c (sh_elf_swap_insns): Protect against unnecessary
85fbca6a 3394 definition.
1fe1f39c 3395 (elf32_shlin_grok_prstatus, elf32_shlib_grok_psinfo,
85fbca6a 3396 * sh_elf_get_flags_from_mach, sh_elf_find_flags): Likewise.
1fe1f39c 3397 (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Only define if they have
85fbca6a 3398 not already been defined.
1fe1f39c
NC
3399 * elf32-sh64.c: Use SH_TARGET_ALREADY_DEFINED.
3400 * sh-symbian.c: New file. Provide functions to support the
85fbca6a
NC
3401 * sh-symbian-elf target.
3402 * Makefile.am: Add elf32-sh-symbian.c
3403 * Makefile.in: Regenerate.
1fe1f39c 3404
871ec896
JR
34052004-07-05 Andrew Stubbs <andrew.stubbs@superh.com>
3406
1fe1f39c
NC
3407 * elf32-sh.c: Include ../opcodes/sh-opc.h.
3408 * Makefile.am: Ran make dep-am.
3409 * Makefile.in: Ran make dep-in.
871ec896 3410
c87db184
CF
34112004-07-03 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
3412
3413 * cofflink.c (_bfd_coff_generic_relocate_section): Resolve PE weak
3414 externals properly.
3415
06f2f6af
MS
34162004-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
3417
3418 * config.bfd: Add want64 to configuration target s390-*-linux*.
3419
b602c853
L
34202004-07-01 H.J. Lu <hongjiu.lu@intel.com>
3421
3422 * bfd.c (bfd_get_section_ident): New.
3423
3424 * elflink.c (elf_link_read_relocs_from_section): Call
3425 bfd_get_section_ident to identify the section when reporting
3426 error.
3427 (_bfd_elf_link_output_relocs): Likewise.
3428 (elf_link_output_extsym): Likewise.
3429 (elf_link_input_bfd): Likewise.
3430 (bfd_elf_gc_record_vtinherit): Likewise.
3431
3432 * bfd-in2.h: Regenerated.
3433
7a2a6943
NC
34342004-07-01 Jie Zhang <zhangjie@magima.com.cn>
3435 Nick Clifton <nickc@redhat.com>
3436
3437 PR 204
3438 * elfxx-mips.c (_bfd_mips_elf_final_link): Pass the correct number
3439 of section symbols to mips_elf_sort_hash_table ().
3440
cdd3575c
AM
34412004-07-01 Alan Modra <amodra@bigpond.net.au>
3442
3443 * elflink.c (elf_section_ignore_discarded_relocs): Revert last
3444 change. Comment.
3445 (elf_section_complain_discarded): New function. Handle
3446 .gcc_except_table too.
3447 (elf_link_input_bfd): Rewrite handling of relocs against symbols
3448 in discarded sections.
3449 * elf-bfd.h (elf_discarded_section): Protect macro arg.
3450
21a8f7fa
JW
34512004-06-30 James E Wilson <wilson@specifixinc.com>
3452
3453 * elfxx-ia64.c (elfNN_ia64_check_relocs): New local pltoff. Initialize
3454 to NULL. Call get_pltoff if NULL and NEED_PLTOFF is true.
3455
2de26f35
L
34562004-06-30 H.J. Lu <hongjiu.lu@intel.com>
3457
3458 PR 233
3459 * elflink.c (elf_link_input_bfd): Issue an error for non-debug
3460 local references to discarded sections and report their
3461 locations.
3462
72d7a15c
AM
34632004-06-30 Alan Modra <amodra@bigpond.net.au>
3464
3465 * elflink.c (elf_section_ignore_discarded_relocs): Don't test
3466 sec_info_type, test section name instead.
3467
e7f0a167
L
34682004-06-29 H.J. Lu <hongjiu.lu@intel.com>
3469
3470 PR 240
3471 * elfxx-ia64.c (elfNN_ia64_relax_section): Don't relax branch
3472 in .init/.fini sections.
3473
bff5f93a
BW
34742004-06-29 Bob Wilson <bob.wilson@acm.org>
3475
3476 * elf32-xtensa.c (elf_xtensa_relocate_section): Use
3477 bfd_get_section_limit.
3478
b54d4b07
BW
34792004-06-29 Bob Wilson <bob.wilson@acm.org>
3480
3481 * elf32-xtensa.c (elf_xtensa_combine_prop_entries): Don't change the
3482 output section size.
3483
e87a64e1
AM
34842004-06-29 Alan Modra <amodra@bigpond.net.au>
3485
1a23a9e6
AM
3486 * elf64-mmix.c (mmix_set_relaxable_size): Save original size in
3487 rawsize.
3488 (mmix_elf_perform_relocation): Adjust for above change.
3489 (mmix_elf_relocate_section): Likewise.
3490 (mmix_elf_relax_section): Likewise. Use output_section->rawsize.
3491 (mmix_elf_get_section_contents): Delete.
3492 (bfd_elf64_get_section_contents): Delete.
3493 (mmix_elf_relocate_section): Zero stub area.
3494 * linker.c (default_indirect_link_order): Alloc max of section size
3495 and rawsize.
3496 * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
3497 * section.c (bfd_malloc_and_get_section): Likewise.
3498 (struct bfd_section): Update rawsize comment.
3499 * bfd-in2.h: Regenerate.
3500
e87a64e1
AM
3501 * reloc16.c (bfd_coff_reloc16_relax_section): Set rawsize.
3502
07515404
AM
35032004-06-29 Alan Modra <amodra@bigpond.net.au>
3504
3505 * bfd-in.h (bfd_get_section_limit): Define.
1fe1f39c 3506 * reloc.c (bfd_perform_relocation, bfd_install_relocation)
07515404
AM
3507 (_bfd_final_link_relocate): Use bfd_get_section_limit.
3508 * aout-tic30.c (tic30_aout_final_link_relocate): Likewise.
3509 * coff-arm.c (coff_arm_relocate_section): Likewise.
3510 * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): Likewise.
3511 * cpu-ns32k.c (do_ns32k_reloc): Likewise.
3512 (bfd_ns32k_final_link_relocate): Likewise.
3513 * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): Likwise.
3514 * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): Likewise.
1fe1f39c 3515 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc)
07515404 3516 (i860_howto_highadj_reloc, i860_howto_splitn_reloc): Likewise.
1fe1f39c 3517 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc)
07515404
AM
3518 (m32r_elf_generic_reloc, m32r_elf_relocate_section): Likewise.
3519 * elf32-m68hc1x.c (m68hc11_elf_special_reloc): Likewise.
3520 * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
3521 * elf32-or32.c (or32_elf_consth_reloc): Likewise.
3522 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Likewise.
3523 * elf32-s390.c (s390_elf_ldisp_reloc): Likewise.
3524 * elf32-sh.c (sh_elf_reloc_loop): Likewise.
3525 * elf32-sparc.c (sparc_elf_wdisp16_reloc): Likewise.
3526 (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc): Likwise.
3527 * elf32-v850.c (v850_elf_reloc): Likewise.
3528 * elf32-xstormy16.c (xstormy16_elf_24_reloc): Likewise.
3529 * elf32-xtensa.c (bfd_elf_xtensa_reloc): Likewise.
3530 * elf64-alpha.c (elf64_alpha_reloc_gpdisp): Likewise.
3531 * elf64-mips.c (mips_elf64_gprel32_reloc)
3532 (mips16_gprel_reloc): Likewise.
3533 * elf64-mmix.c (mmix_elf_reloc): Likewise.
3534 * elf64-s390.c (s390_elf_ldisp_reloc): Likewise.
3535 * elf64-sparc.c (init_insn_reloc): Likewise.
3536 * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
1fe1f39c
NC
3537 * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp)
3538 (_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_lo16_reloc)
07515404
AM
3539 (_bfd_mips_elf_generic_reloc): Likewise.
3540 * bfd-in2.h: Regenerate.
3541
3722b82f
AM
35422004-06-28 Alan Modra <amodra@bigpond.net.au>
3543
3544 * bfd-in.h (struct stab_info): Move from stabs.c.
3545 * stabs.c (struct stab_link_includes_table): Delete.
3546 (stab_link_includes_lookup): Delete.
3547 (_bfd_write_section_stabs, _bfd_write_stab_strings): Remove one
3548 level of indirection from sinfo parm.
3549 (_bfd_link_section_stabs): Likewise. Set SEC_LINKER_CREATED on
3550 stabstr section. Adjust hash table accesses.
3551 * coff-ppc.c (ppc_bfd_coff_final_link): Do include rawsize in contents
3552 alloc. Adjust stab_info test.
3553 * cofflink.c (_bfd_coff_link_hash_table_init): Clear stab_info.
3554 (_bfd_coff_final_link): Adjust stab_info test.
3555 (_bfd_coff_link_input_bfd): Ignore SEC_LINKER_CREATED sections.
3556 * elf-bfd.h (struct elf_link_hash_table): Include struct stab_info
3557 in place.
3558 * libcoff-in.h (struct coff_link_hash_table): Likewise.
3559 * elf.c (_bfd_elf_link_hash_table_init): Clear stab_info.
3560 * elflink.c (bfd_elf_final_link): Don't attempt to link linker created
3561 stabstr section. Adjust stab_info test.
3562 * libbfd-in.h (_bfd_link_section_stabs, _bfd_write_section_stabs)
3563 (_bfd_write_stab_strings): Adjust prototypes.
3564 * libbfd.h: Regenerate.
3565 * libcoff.h: Regenerate.
3566 * bfd-in2.h: Regenerate.
3567
727e493d
MK
35682004-06-27 Mark Kettenis <kettenis@gnu.org>
3569
3570 From Miod Vallat <miod@online.fr>:
3571 * aoutx.h (NAME(aout,machine_type)): Handle bfd_arch_m88k.
3572
146ccdbb
AO
35732004-06-26 Alexandre Oliva <aoliva@redhat.com>
3574
3575 * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): Delete.
3576 (struct elf32_mn10300_link_hash_entry): Remove
3577 pcrel_relocs_copied.
3578 (mn10300_elf_check_relocs): Only reserve dynamic relocations for
3579 R_MN10300_32. Don't adjust pcrel_relocs_copied.
3580 (mn10300_elf_final_link_relocate): Fail for direct, pc-relative
3581 and gotoff relocations if the symbol doesn't bind locally. Use
3582 _bfd_elf_symbol_refs_local_p to test. Don't create dynamic
3583 relocation for PCREL32.
3584 (mn10300_elf_relocate_section): Use _bfd_elf_symbol_refs_local_p
3585 to test whether a symbol binds locally.
3586 (elf32_mn10300_link_hash_newfunc): Don't initialize
3587 pcrel_relocs_copied.
3588 (_bfd_mn10300_elf_discard_copies): Delete.
3589 (_bfd_mn10300_elf_size_dynamic_sections): Don't call it.
3590
a5fd0812
MK
35912004-06-26 Mark Kettenis <kettenis@gnu.org>
3592
3593 * config.bfd: Replace m88k-*-openbsd* with m88*-*-openbsd*.
3594
22bfad37
JB
35952004-06-25 Joel Brobecker <brobecker@gnat.com>
3596
3597 * som.c (som_set_reloc_info): Correct small typo.
3598
097f809a
NC
35992004-06-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
3600
3601 * elf32-m32r.c (m32r_elf_howto_table): Support R_M32R_GOTOFF.
3602 (m32r_elf_relocate_section): Changed for R_M32R_GOTOFF.
3603 (m32r_elf_gcsweep_hook): Likewise.
3604 (m32r_elf_check_relocs): Likewise.
3605 (m32r_elf_howto_table): Added R_M32R_GOTOFF_HI_ULO,
3606 R_M32R_GOTOFF_HI_SLO and R_M32R_GOTOFF_LO.
3607 * reloc.c: Added BFD_RELOC_M32R_GOTOFF_HI_ULO,
3608 BFD_RELOC_M32R_GOTOFF_HI_SLO and BFD_RELOC_M32R_GOTOFF_LO.
f9f2cf5d
NC
3609 * bfd-in2.h: Regenerated.
3610 * libbfd.h: Regenerated.
097f809a 3611
6610a52d
L
36122004-06-24 H.J. Lu <hongjiu.lu@intel.com>
3613
3614 * elf64-x86-64.c (elf64_x86_64_check_relocs): Warn overflow
3615 relocation symbol.
3616 (elf64_x86_64_relocate_section): Issue an error for
3617 R_X86_64_PC8, R_X86_64_PC16 and R_X86_64_PC32 relocations
3618 against global symbols when building shared library.
3619
eea6121a
AM
36202004-06-24 Alan Modra <amodra@bigpond.net.au>
3621
3622 * section.c (struct sec): Rename "_cooked_size" to "size".
3623 Rename "_raw_size" to "rawsize".
3624 (STD_SECTION): Adjust comments.
3625 (bfd_set_section_size, bfd_get_section_contents): Use size.
3626 (bfd_malloc_and_get_section): New function.
3627 * bfd-in.h (bfd_section_size, bfd_get_section_size): Use size.
3628 * coff-sh.c (sh_relax_section): Alloc coff_section_data struct early.
3629 Correctly free reloc and contents memory.
3630 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete FIXME
3631 and fake CIE now that we can shink section size to zero.
3632 (_bfd_elf_write_section_eh_frame): Likewise..
3633 * elf32-ppc.c (ppc_elf_relax_section): Delay reading section contents.
3634 * elf-m10300.c (mn10300_elf_final_link_relocate): Don't use
3635 _bfd_stab_section_offset. Use _bfd_elf_section_offset.
3636 * stabs.c (_bfd_stab_section_offset_): Remove unused args and
3637 unneeded indirection.
3638 * elf.c (_bfd_elf_section_offset): .. and update call.
3639 * libbfd-in.h (_bfd_stab_section_offset): Update prototype.
3640 * libbfd.h: Regenerate.
3641 * bfd-in2.h: Regenerate.
3642
3643 Replace occurrences of "_raw_size" and "_cooked_size" in most places
3644 with "size". Set new "rawsize" for stabs, eh_frame, and SEC_MERGE
3645 sections. Use "rawsize", if non-zero, for bfd_get_section_contents
3646 calls if the section might be a stabs, eh_frame, or SEC_MERGE section.
3647 Similarly use "rawsize", if non-zero, in reloc functions to validate
3648 reloc addresses. Use new bfd_malloc_and_get_section in most places
3649 where bfd_get_section_contents was called. Expand all occurrences of
3650 bfd_section_size and bfd_get_section_size. Rename "raw_size" var in
3651 grok_prstatus and similar functions to "size".
3652 * aix386-core.c (aix386_core_file_p): ..
3653 * aix5ppc-core.c (xcoff64_core_p): ..
3654 * aout-adobe.c (aout_adobe_callback, aout_adobe_write_object_contents,
3655 aout_adobe_set_section_contents): ..
3656 * aout-target.h (callback): ..
3657 * aout-tic30.c (tic30_aout_callback, tic30_aout_final_link_relocate,
3658 MY_bfd_final_link): ..
3659 * aoutf1.h (sunos4_core_file_p): ..
3660 * aoutx.h (some_aout_object_p, adjust_o_magic, adjust_z_magic,
3661 adjust_n_magic, adjust_sizes_and_vmas, translate_from_native_sym_flags,
3662 final_link, aout_link_input_section): ..
3663 * binary.c (binary_object_p, binary_canonicalize_symtab,
3664 binary_set_section_contents): ..
3665 * bout.c (b_out_callback, b_out_write_object_contents,
3666 b_out_set_section_contents, b_out_bfd_relax_section,
3667 b_out_bfd_get_relocated_section_contents): ..
3668 * cisco-core.c (cisco_core_file_validate): ..
3669 * coff-alpha.c (alpha_ecoff_object_p,
3670 alpha_ecoff_get_relocated_section_conten, alpha_relocate_section): ..
3671 * coff-arm.c (coff_arm_relocate_section,
3672 bfd_arm_allocate_interworking_sections): ..
3673 * coff-h8300.c (h8300_reloc16_extra_cases,
3674 h8300_bfd_link_add_symbols): ..
3675 * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): ..
3676 * coff-ppc.c (coff_ppc_relocate_section, ppc_allocate_toc_section,
3677 ppc_bfd_coff_final_link): ..
3678 * coff-rs6000.c (xcoff_reloc_type_br, xcoff_ppc_relocate_section): ..
3679 * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
3680 sh_align_loads, sh_coff_get_relocated_section_contents): ..
3681 * coff64-rs6000.c (xcoff64_write_object_contents,
3682 xcoff64_reloc_type_br, xcoff64_ppc_relocate_section): ..
3683 * coffcode.h (coff_compute_section_file_positions,
3684 coff_write_object_contents): ..
3685 * coffgen.c (make_a_section_from_file, coff_write_symbols,
3686 coff_section_symbol, build_debug_section): ..
3687 * cofflink.c (coff_link_add_symbols, _bfd_coff_final_link,
3688 process_embedded_commands, _bfd_coff_link_input_bfd,
3689 _bfd_coff_write_global_sym): ..
3690 * cpu-arm.c (bfd_arm_update_notes, bfd_arm_get_mach_from_notes): ..
3691 * cpu-ns32k.c (do_ns32k_reloc, _bfd_ns32k_final_link_relocate): ..
3692 * dwarf1.c (parse_line_table, _bfd_dwarf1_find_nearest_line): ..
3693 * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
3694 _bfd_dwarf2_find_nearest_line): ..
3695 * ecoff.c (bfd_debug_section, ecoff_set_symbol_info,
3696 ecoff_compute_section_file_positions,
3697 _bfd_ecoff_write_object_contents, ecoff_indirect_link_order): ..
3698 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame,
3699 _bfd_elf_discard_section_eh_frame_hdr,
3700 _bfd_elf_maybe_strip_eh_frame_hdr, _bfd_elf_eh_frame_section_offset,
3701 _bfd_elf_write_section_eh_frame,
3702 _bfd_elf_write_section_eh_frame_hdr): ..
3703 * elf-hppa.h (elf_hppa_sort_unwind): ..
3704 * elf-m10200.c (mn10200_elf_relax_section,
3705 mn10200_elf_relax_delete_bytes,
3706 mn10200_elf_get_relocated_section_contents): ..
3707 * elf-m10300.c (_bfd_mn10300_elf_create_got_section,
3708 mn10300_elf_check_relocs, mn10300_elf_relax_section,
3709 mn10300_elf_relax_delete_bytes,
3710 mn10300_elf_get_relocated_section_contents,
3711 _bfd_mn10300_elf_adjust_dynamic_symbol,
3712 _bfd_mn10300_elf_discard_copies,
3713 _bfd_mn10300_elf_size_dynamic_sections,
3714 _bfd_mn10300_elf_finish_dynamic_sections): ..
3715 * elf.c (_bfd_elf_print_private_bfd_data, bfd_elf_get_bfd_needed_list,
3716 _bfd_elf_make_section_from_phdr, elf_fake_sections,
3717 bfd_elf_set_group_contents, map_sections_to_segments,
3718 elf_sort_sections, assign_file_positions_for_segments,
3719 SECTION_SIZE, copy_private_bfd_data,
3720 _bfd_elf_get_dynamic_reloc_upper_bound,
3721 _bfd_elf_canonicalize_dynamic_reloc, elfcore_maybe_make_sect,
3722 _bfd_elfcore_make_pseudosection, elfcore_grok_prstatus,
3723 elfcore_grok_lwpstatus, elfcore_grok_win32pstatus,
3724 elfcore_grok_note, elfcore_grok_nto_status, elfcore_grok_nto_gregs,
3725 _bfd_elf_rel_local_sym, _bfd_elf_get_synthetic_symtab): ..
3726 * elf32-arm.h (bfd_elf32_arm_allocate_interworking_sect,
3727 bfd_elf32_arm_process_before_allocation,
3728 elf32_arm_adjust_dynamic_symbol, allocate_dynrelocs,
3729 elf32_arm_size_dynamic_sections, elf32_arm_finish_dynamic_sections,
3730 elf32_arm_write_section): ..
3731 * elf32-cris.c (cris_elf_grok_prstatus,
3732 elf_cris_finish_dynamic_sections, cris_elf_gc_sweep_hook,
3733 elf_cris_adjust_gotplt_to_got, elf_cris_adjust_dynamic_symbol,
3734 cris_elf_check_relocs, elf_cris_size_dynamic_sections,
3735 elf_cris_discard_excess_dso_dynamics,
3736 elf_cris_discard_excess_program_dynamics): ..
3737 * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): ..
3738 * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): ..
3739 * elf32-frv.c (_frvfdpic_add_dyn_reloc, _frvfdpic_add_rofixup,
3740 _frv_create_got_section, _frvfdpic_assign_plt_entries,
3741 elf32_frvfdpic_size_dynamic_sections,
3742 elf32_frvfdpic_modify_segment_map,
3743 elf32_frvfdpic_finish_dynamic_sections): ..
3744 * elf32-h8300.c (elf32_h8_relax_section, elf32_h8_relax_delete_bytes,
3745 elf32_h8_get_relocated_section_contents): ..
3746 * elf32-hppa.c (hppa_build_one_stub, hppa_size_one_stub,
3747 elf32_hppa_adjust_dynamic_symbol, allocate_plt_static,
3748 allocate_dynrelocs, elf32_hppa_size_dynamic_sections, group_sections,
3749 elf32_hppa_size_stubs, elf32_hppa_set_gp, elf32_hppa_build_stubs,
3750 elf32_hppa_finish_dynamic_sections): ..
3751 * elf32-i370.c (i370_elf_adjust_dynamic_symbol,
3752 i370_elf_size_dynamic_sections, i370_elf_check_relocs,
3753 i370_elf_finish_dynamic_sections): ..
3754 * elf32-i386.c (elf_i386_grok_prstatus, elf_i386_adjust_dynamic_symbol,
3755 allocate_dynrelocs, elf_i386_size_dynamic_sections,
3756 elf_i386_relocate_section, elf_i386_finish_dynamic_sections): ..
3757 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
3758 i860_howto_highadj_reloc, i860_howto_splitn_reloc): ..
3759 * elf32-ip2k.c (ip2k_is_switch_table_128,
3760 ip2k_relax_switch_table_128, ip2k_is_switch_table_256,
3761 ip2k_relax_switch_table_256, ip2k_elf_relax_section,
3762 adjust_all_relocations, ip2k_elf_relax_delete_bytes): ..
3763 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc,
3764 m32r_elf_generic_reloc, m32r_elf_adjust_dynamic_symbol,
3765 allocate_dynrelocs, m32r_elf_size_dynamic_sections,
3766 m32r_elf_relocate_section, m32r_elf_finish_dynamic_sections,
3767 m32r_elf_relax_section, m32r_elf_relax_delete_bytes,
3768 m32r_elf_get_relocated_section_contents): ..
3769 * elf32-m68hc11.c (m68hc11_elf_build_one_stub,
3770 m68hc11_elf_size_one_stub, m68hc11_elf_relax_section,
3771 m68hc11_elf_relax_delete_bytes): ..
3772 * elf32-m68hc12.c (m68hc12_elf_build_one_stub,
3773 m68hc12_elf_size_one_stub): ..
3774 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs,
3775 elf32_m68hc11_build_stubs, m68hc11_elf_special_reloc): ..
3776 * elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_gc_sweep_hook,
3777 elf_m68k_adjust_dynamic_symbol, elf_m68k_size_dynamic_sections,
3778 elf_m68k_discard_copies, elf_m68k_finish_dynamic_sections): ..
3779 * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
3780 elf32_mips_grok_prstatus): ..
3781 * elf32-or32.c (or32_elf_consth_reloc): ..
3782 * elf32-ppc.c (ppc_elf_relax_section, ppc_elf_addr16_ha_reloc,
3783 elf_create_pointer_linker_section, ppc_elf_create_linker_section,
3784 ppc_elf_additional_program_headers, ppc_elf_adjust_dynamic_symbol,
3785 allocate_dynrelocs, ppc_elf_size_dynamic_sections,
3786 ppc_elf_finish_dynamic_sections, ppc_elf_grok_prstatus,
3787 ppc_elf_final_write_processing): ..
3788 * elf32-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
3789 allocate_dynrelocs, elf_s390_size_dynamic_sections,
3790 elf_s390_finish_dynamic_sections, elf_s390_grok_prstatus): ..
3791 * elf32-sh.c (sh_elf_reloc_loop, sh_elf_relax_section,
3792 sh_elf_relax_delete_bytes, sh_elf_align_loads,
3793 sh_elf_adjust_dynamic_symbol, allocate_dynrelocs,
3794 sh_elf_size_dynamic_sections, sh_elf_get_relocated_section_contents,
3795 sh_elf_finish_dynamic_sections, elf32_shlin_grok_prstatus): ..
3796 * elf32-sh64-com.c (sh64_address_in_cranges,
3797 sh64_get_contents_type): ..
3798 * elf32-sh64.c (sh64_find_section_for_address,
3799 sh64_elf_final_write_processing): ..
3800 * elf32-sparc.c (sparc_elf_wdisp16_reloc, sparc_elf_hix22_reloc,
3801 sparc_elf_lox10_reloc, elf32_sparc_adjust_dynamic_symbol,
3802 allocate_dynrelocs, elf32_sparc_size_dynamic_sections,
3803 elf32_sparc_relocate_section, elf32_sparc_finish_dynamic_sections): ..
3804 * elf32-v850.c (v850_elf_reloc, v850_elf_relax_section): ..
3805 * elf32-vax.c (elf_vax_check_relocs, elf_vax_adjust_dynamic_symbol,
3806 elf_vax_size_dynamic_sections, elf_vax_discard_copies,
3807 elf_vax_instantiate_got_entries, elf_vax_relocate_section,
3808 elf_vax_finish_dynamic_sections): ..
3809 * elf32-xstormy16.c (xstormy16_elf_24_reloc,
3810 xstormy16_elf_check_relocs, xstormy16_relax_plt_check,
3811 xstormy16_elf_relax_section, xstormy16_elf_always_size_sections,
3812 xstormy16_elf_finish_dynamic_sections): ..
3813 * elf32-xtensa.c (xtensa_read_table_entries,
3814 elf_xtensa_allocate_got_size, elf_xtensa_allocate_local_got_size,
3815 elf_xtensa_size_dynamic_sections, elf_xtensa_do_reloc,
3816 bfd_elf_xtensa_reloc, elf_xtensa_relocate_section,
3817 elf_xtensa_combine_prop_entries, elf_xtensa_finish_dynamic_sections,
3818 elf_xtensa_discard_info_for_section, elf_xtensa_grok_prstatus,
3819 get_relocation_opcode, retrieve_contents, find_relaxable_sections,
3820 collect_source_relocs, is_resolvable_asm_expansion, remove_literals,
3821 relax_section, shrink_dynamic_reloc_sections, relax_property_section,
3822 xtensa_callback_required_dependence): ..
3823 * elf64-alpha.c (elf64_alpha_reloc_gpdisp, elf64_alpha_relax_section,
3824 elf64_alpha_check_relocs, elf64_alpha_adjust_dynamic_symbol,
3825 elf64_alpha_calc_got_offsets_for_symbol, elf64_alpha_calc_got_offsets,
3826 elf64_alpha_size_plt_section, elf64_alpha_size_plt_section_1,
3827 elf64_alpha_always_size_sections, elf64_alpha_calc_dynrel_sizes,
3828 elf64_alpha_size_rela_got_section, elf64_alpha_size_rela_got_1,
3829 elf64_alpha_size_dynamic_sections, elf64_alpha_emit_dynrel,
3830 elf64_alpha_finish_dynamic_sections, elf64_alpha_final_link): ..
3831 * elf64-hppa.c (allocate_dynrel_entries,
3832 elf64_hppa_size_dynamic_sections,
3833 elf64_hppa_finish_dynamic_sections): ..
3834 * elf64-mips.c (mips_elf64_gprel32_reloc, mips16_gprel_reloc,
3835 mips_elf64_canonicalize_dynamic_reloc, mips_elf64_slurp_reloc_table,
3836 elf64_mips_grok_prstatus): ..
3837 * elf64-mmix.c (mmix_elf_perform_relocation, mmix_elf_reloc,
3838 mmix_elf_relocate_section, mmix_elf_final_link,
3839 mmix_set_relaxable_size, _bfd_mmix_after_linker_allocation,
3840 mmix_elf_relax_section, mmix_elf_get_section_contents): ..
3841 * elf64-ppc.c (ppc64_elf_object_p, ppc64_elf_grok_prstatus,
3842 ppc64_elf_check_relocs, ppc64_elf_func_desc_adjust,
3843 ppc64_elf_adjust_dynamic_symbol, ppc64_elf_edit_opd,
3844 allocate_dynrelocs, ppc64_elf_size_dynamic_sections,
3845 ppc_build_one_stub, ppc_size_one_stub, ppc64_elf_next_toc_section,
3846 toc_adjusting_stub_needed, group_sections, ppc64_elf_size_stubs,
3847 ppc64_elf_build_stubs, ppc64_elf_relocate_section,
3848 ppc64_elf_finish_dynamic_sections): ..
3849 * elf64-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
3850 allocate_dynrelocs, elf_s390_size_dynamic_sections,
3851 elf_s390_finish_dynamic_sections): ..
3852 * elf64-sh64.c (sh_elf64_get_relocated_section_contents,
3853 sh_elf64_check_relocs, sh64_elf64_adjust_dynamic_symbol,
3854 sh64_elf64_discard_copies, sh64_elf64_size_dynamic_sections,
3855 sh64_elf64_finish_dynamic_sections): ..
3856 * elf64-sparc.c (sparc64_elf_slurp_reloc_table, init_insn_reloc,
3857 sparc64_elf_check_relocs, sparc64_elf_adjust_dynamic_symbol,
3858 sparc64_elf_size_dynamic_sections, sparc64_elf_relocate_section,
3859 sparc64_elf_finish_dynamic_symbol,
3860 sparc64_elf_finish_dynamic_sections): ..
3861 * elf64-x86-64.c (elf64_x86_64_grok_prstatus,
3862 elf64_x86_64_adjust_dynamic_symbol, allocate_dynrelocs,
3863 elf64_x86_64_size_dynamic_sections, elf64_x86_64_relocate_section,
3864 elf64_x86_64_finish_dynamic_sections): ..
3865 * elfarm-nabi.c (elf32_arm_nabi_grok_prstatus): ..
3866 * elfcode.h (elf_slurp_reloc_table): ..
3867 * elflink.c (_bfd_elf_create_got_section, elf_add_dt_needed_tag,
3868 elf_finalize_dynstr, elf_link_add_object_symbols,
3869 bfd_elf_size_dynamic_sections, elf_link_sort_relocs,
3870 elf_link_input_bfd, bfd_elf_final_link, bfd_elf_discard_info): ..
3871 * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
3872 elf32_mips_grok_prstatus): ..
3873 * elfxx-ia64.c (elfNN_ia64_relax_section, allocate_dynrel_entries,
3874 elfNN_ia64_size_dynamic_sections, elfNN_ia64_install_dyn_reloc,
3875 elfNN_ia64_choose_gp, elfNN_ia64_final_link,
3876 elfNN_ia64_finish_dynamic_sections): ..
3877 * elfxx-mips.c (mips_elf_create_procedure_table,
3878 mips_elf_check_mips16_stubs, _bfd_mips_elf_gprel16_with_gp,
3879 _bfd_mips_elf_hi16_reloc, _bfd_mips_elf_generic_reloc,
3880 mips_elf_global_got_index, mips_elf_multi_got,
3881 mips_elf_create_compact_rel_section, mips_elf_calculate_relocation,
3882 mips_elf_allocate_dynamic_relocations,
3883 mips_elf_create_dynamic_relocation, _bfd_mips_elf_fake_sections,
3884 _bfd_mips_relax_section, _bfd_mips_elf_adjust_dynamic_symbol,
3885 _bfd_mips_elf_always_size_sections,
3886 _bfd_mips_elf_size_dynamic_sections,
3887 _bfd_mips_elf_finish_dynamic_symbol,
3888 _bfd_mips_elf_finish_dynamic_sections,
3889 _bfd_mips_elf_modify_segment_map, _bfd_mips_elf_discard_info,
3890 _bfd_mips_elf_write_section, _bfd_mips_elf_set_section_contents,
3891 _bfd_elf_mips_get_relocated_section_contents,
3892 _bfd_mips_elf_final_link, _bfd_mips_elf_merge_private_bfd_data): ..
3893 * hp300hpux.c (callback): ..
3894 * hppabsd-core.c (make_bfd_asection): ..
3895 * hpux-core.c (make_bfd_asection): ..
3896 * i386linux.c (linux_link_create_dynamic_sections,
3897 bfd_i386linux_size_dynamic_sections, linux_finish_dynamic_link): ..
3898 * i386msdos.c (msdos_write_object_contents): ..
3899 * i386os9k.c (os9k_callback, os9k_write_object_contents,
3900 os9k_set_section_contents): ..
3901 * ieee.c (parse_expression, ieee_slurp_external_symbols,
3902 ieee_slurp_sections, ieee_slurp_debug, ieee_slurp_section_data,
3903 ieee_write_section_part, do_with_relocs, do_as_repeat,
3904 do_without_relocs, ieee_write_debug_part, init_for_output,
3905 ieee_set_section_contents): ..
3906 * ihex.c (ihex_scan, ihex_read_section, ihex_get_section_contents): ..
3907 * irix-core.c (do_sections, make_bfd_asection): ..
3908 * libaout.h (aout_section_merge_with_text_p): ..
3909 * libbfd.c (_bfd_generic_get_section_contents,
3910 _bfd_generic_get_section_contents_in_window): ..
3911 * linker.c (default_indirect_link_order): ..
3912 * lynx-core.c (make_bfd_asection): ..
3913 * m68klinux.c (linux_link_create_dynamic_sections,
3914 bfd_m68klinux_size_dynamic_sections, linux_finish_dynamic_link): ..
3915 * mach-o.c (bfd_mach_o_make_bfd_section,
3916 bfd_mach_o_scan_read_dylinker, bfd_mach_o_scan_read_dylib,
3917 bfd_mach_o_scan_read_thread, bfd_mach_o_scan_read_symtab,
3918 bfd_mach_o_scan_read_segment): ..
3919 * merge.c (_bfd_add_merge_section, record_section, merge_strings,
3920 _bfd_merge_sections): ..
3921 * mmo.c (mmo_find_sec_w_addr, mmo_get_spec_section, mmo_get_loc,
3922 mmo_map_set_sizes, mmo_canonicalize_symtab,
3923 mmo_internal_write_section, mmo_write_object_contents): ..
3924 * netbsd-core.c (netbsd_core_file_p): ..
3925 * nlm32-alpha.c (nlm_alpha_read_reloc, nlm_alpha_write_import,
3926 nlm_alpha_set_public_section): ..
3927 * nlm32-ppc.c (nlm_powerpc_read_reloc, nlm_powerpc_write_reloc): ..
3928 * nlm32-sparc.c (nlm_sparc_write_import): ..
3929 * nlmcode.h (add_bfd_section, nlm_swap_auxiliary_headers_in,
3930 nlm_compute_section_file_positions): ..
3931 * oasys.c (oasys_object_p, oasys_slurp_section_data,
3932 oasys_write_sections, oasys_write_data, oasys_set_section_contents): ..
3933 * opncls.c (get_debug_link_info): ..
3934 * osf-core.c (make_bfd_asection): ..
3935 * pdp11.c (some_aout_object_p, adjust_o_magic, adjust_z_magic,
3936 adjust_n_magic, adjust_sizes_and_vmas, squirt_out_relocs,
3937 final_link, aout_link_input_section): ..
3938 * peXXigen.c (_bfd_XXi_swap_sym_in, _bfd_XXi_swap_aouthdr_out,
3939 pe_print_idata, pe_print_edata, pe_print_pdata, pe_print_reloc): ..
3940 * pef.c (bfd_pef_make_bfd_section, bfd_pef_print_loader_section,
3941 bfd_pef_scan_start_address, bfd_pef_parse_symbols): ..
3942 * ppcboot.c (ppcboot_object_p, ppcboot_canonicalize_symtab): ..
3943 * ptrace-core.c (ptrace_unix_core_file_p): ..
3944 * reloc.c (bfd_perform_relocation, bfd_install_relocation,
3945 _bfd_final_link_relocate, bfd_generic_relax_section,
3946 bfd_generic_get_relocated_section_contents): ..
3947 * reloc16.c (bfd_coff_reloc16_relax_section,
3948 bfd_coff_reloc16_get_relocated_section_c): ..
3949 * riscix.c (riscix_some_aout_object_p): ..
3950 * rs6000-core.c (read_hdr, make_bfd_asection): ..
3951 * sco5-core.c (make_bfd_asection): ..
3952 * simple.c (bfd_simple_get_relocated_section_contents): ..
3953 * som.c (som_object_setup, setup_sections, som_prep_headers,
3954 som_write_fixups, som_begin_writing, bfd_section_from_som_symbol,
3955 som_set_reloc_info, som_get_section_contents,
3956 som_bfd_link_split_section): ..
3957 * sparclinux.c (linux_link_create_dynamic_sections,
3958 bfd_sparclinux_size_dynamic_sections, linux_finish_dynamic_link): ..
3959 * srec.c (srec_scan, srec_read_section, srec_get_section_contents): ..
3960 * stabs.c (_bfd_link_section_stabs, _bfd_discard_section_stabs,
3961 _bfd_write_stab_strings, _bfd_stab_section_offset): ..
3962 * sunos.c (sunos_read_dynamic_info, sunos_create_dynamic_sections,
3963 bfd_sunos_size_dynamic_sections, sunos_scan_std_relocs,
3964 sunos_scan_ext_relocs, sunos_scan_dynamic_symbol,
3965 sunos_write_dynamic_symbol, sunos_check_dynamic_reloc,
3966 sunos_finish_dynamic_link): ..
3967 * syms.c (_bfd_stab_section_find_nearest_line): ..
3968 * tekhex.c (first_phase, tekhex_set_section_contents,
3969 tekhex_write_object_contents): ..
3970 * trad-core.c (trad_unix_core_file_p): ..
3971 * versados.c (process_esd, process_otr, process_otr): ..
3972 * vms-gsd.c (_bfd_vms_slurp_gsd, _bfd_vms_write_gsd): ..
3973 * vms-misc.c (add_new_contents): ..
3974 * vms-tir.c (check_section, new_section, _bfd_vms_write_tir): ..
3975 * vms.c (vms_set_section_contents): ..
3976 * xcofflink.c (xcoff_get_section_contents, xcoff_link_add_symbols,
3977 xcoff_sweep, bfd_xcoff_size_dynamic_sections, xcoff_build_ldsyms,
3978 _bfd_xcoff_bfd_final_link, xcoff_link_input_bfd): ..
3979 * xsym.c (bfd_sym_scan): .. See above.
3980
bf8b15af
L
39812004-06-21 H.J. Lu <hongjiu.lu@intel.com>
3982
3983 * elfxx-ia64.c (elfNN_ia64_relax_section): Add addend when
3984 calling _bfd_merged_section_offset only for section symbols.
3985
d1c6de6f
AM
39862004-06-22 Alan Modra <amodra@bigpond.net.au>
3987
3988 * elf32-ppc.c (ppc_elf_relax_section): Implement reference code
3989 for handling SEC_MERGE symbols in relax_section.
3990
aa02cc63
AO
39912004-06-21 Alexandre Oliva <aoliva@redhat.com>
3992
3993 2003-05-15 Richard Sandiford <rsandifo@redhat.com>
3994 * cpu-h8300.c (compatible): Allow h8300s and h8300sx code to be
3995 linked together. Mark the result as h8300sx code.
3996
aee6f5b4
AO
39972004-06-21 Alexandre Oliva <aoliva@redhat.com>
3998
3999 * elf-bfd.h (struct elf_backend_data): Added
4000 elf_backend_omit_section_dynsym.
4001 (_bfd_elf_link_omit_section_dynsym): Declare.
4002 * elf32-frv.c (_frvfdpic_link_omit_section_dynsym): New.
4003 (elf_backend_omit_section_dynsym): Use it for frvfdpic.
4004 * elflink.c (_bfd_elf_link_omit_section_dynsym): Split out of...
4005 (_bfd_elf_link_renumber_dynsyms): ... this function.
4006 * elfxx-target.h (elf_backend_omit_section_dynsym): Default to
4007 _bfd_elf_link_omit_section_dynsym).
4008 (elfNN_bed): Added elf_backend_omit_section_dynsym.
4009
05576f10
NC
40102004-06-21 Nick Clifton <nickc@redhat.com>
4011
4012 * coffcode.h (styp_to_sec_flags): Ignore IMAGE_SCN_MEM_NOT_PAGED
4013 flags.
4014
02d5a37b
JG
40152004-06-17 Jerome Guitton <guitton@gnat.com>
4016
4017 * bfd-in.h (bfd_cache_close_all): New function declaration.
4018 * bfd-in2.h: Regenerate.
4019 * cache.c (bfd_cache_close_all): New function definition.
4020
d2bef492
MK
40212004-06-16 Mark Kettenis <kettenis@gnu.org>
4022
4023 * configure.in: Don't set COREFILE to trad-core.lo for FreeBSD
4024 4.10 and beyond.
4025 * configure: Regenerate.
4026
8528d62e
DJ
40272004-06-16 Daniel Jacobowitz <dan@debian.org>
4028
4029 * elf32-ppc.c (ppc_elf_create_linker_section): Create symbols in
4030 the pre-existing section.
4031
911d08a7
AM
40322004-06-15 Alan Modra <amodra@bigpond.net.au>
4033
4034 * section.c (struct sec): Remove usused flags. Reorganize a little.
4035 (bfd_get_section_size_before_reloc): Delete.
4036 (bfd_get_section_size_after_reloc): Delete.
4037 (STD_SECTION): Update.
4038 (bfd_get_section_size_now): Delete.
4039 (bfd_set_section_contents): Don't referece reloc_done.
4040 (bfd_get_section_contents): Remove reloc_done comment.
4041 * bout.c (b_out_bfd_get_relocated_section_contents): Don't set
4042 reloc_done.
4043 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Likewise.
4044 * ecoff.c (bfd_debug_section): Update initializer.
4045 * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents): Ditto.
4046 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
4047 * bfd-in.h (bfd_section_size): Expand.
4048 (bfd_get_section_size): New macro.
4049 * bfd-in2.h: Regenerate.
4050 * coff64-rs6000.c (xcoff64_write_object_contents): Replace
4051 bfd_get_section_size_before_reloc with bfd_get_section_size.
4052 * coffcode.h (coff_write_object_contents): Likewise.
4053 * coffgen.c (build_debug_section): Likewise.
4054 * dwarf1.c (parse_line_table): Likewise.
4055 (_bfd_dwarf1_find_nearest_line): Likewise.
4056 * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
4057 * i386msdos.c (msdos_write_object_contents): Likewise.
4058 * pdp11.c (squirt_out_relocs): Likewise.
4059 * elf32-sh64.c (sh64_find_section_for_address): Remove comment.
4060 * elf64-mmix.c (mmix_elf_final_link): Update comment.
4061
092dcd75
CD
40622004-06-14 Chris Demetriou <cgd@broadcom.com>
4063
4064 * elf32-mips.c (elf_mips_gnu_pcrel32): Add (undoing 2004-04-24
4065 removal) with updated comment.
4066 (bfd_elf32_bfd_reloc_type_lookup): Add back case for
4067 BFD_RELOC_32_PCREL.
4068 (mips_elf32_rtype_to_howto): Add back case for R_MIPS_PC32.
4069 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
4070
3ffa5234
AM
40712004-06-12 Alan Modra <amodra@bigpond.net.au>
4072
4073 * elf64-x86-64.c (elf64_x86_64_relocate_section): Ignore reloc
4074 overflow on branches to undefweaks.
4075
e9edc808
MR
40762004-06-11 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
4077
4078 * coff-alpha.c (alpha_relocate_section): Set used_by_bfd directly
4079 as ecoff_section_data() does not return a valid lvalue.
4080
a873f25a
AO
40812004-06-09 Alexandre Oliva <aoliva@redhat.com>
4082
a9b881be
AO
4083 * elflink.c (elf_sort_symbol): Compare section id, not pointers.
4084 (elf_link_add_object_symbols): Likewise.
4085
a873f25a
AO
4086 * elf-m10300.c (_bfd_mn10300_elf_reloc_type_class): New.
4087 (elf_backend_reloc_type_class): New.
4088
eef0f186
MK
40892004-06-08 Mark Kettenis <kettenis@gnu.org>
4090
4091 * configure.in (hppa*-*-netbsd*, hppa*-*-openbsd): Set COREFILE to
4092 netbsd-core.lo.
4093 * configure: Regenerate.
4094
822392ce
DJ
40952004-06-07 Daniel Jacobowitz <dan@debian.org>
4096
4097 From: Albert Chin-A-Young <china@thewrittenword.com>
4098 * bfd/elf-bfd.h (struct eh_cie_fde): Convert unsigned char bitfields
4099 to unsigned int.
4100
9f2e92c5
L
41012004-05-29 H.J. Lu <hongjiu.lu@intel.com>
4102
4103 * elfxx-ia64.c (elfNN_ia64_relax_section): Undo the last
4104 change.
4105
dd90f1b2
DD
41062004-05-28 DJ Delorie <dj@redhat.com>
4107
4108 * elf-m10300.c (mn10300_elf_relax_section): Preserve reloc addend
4109 for linking, but otherwise adjust reloc for merged sections.
4110
5dd23ec1
L
41112004-05-28 H.J. Lu <hongjiu.lu@intel.com>
4112
4113 * elfxx-ia64.c (elfNN_ia64_relax_section): Properly call
4114 _bfd_merged_section_offset for local symbols.
4115
f6f9408f
JR
41162004-05-28 Andrew Stubbs <andrew.stubbs@superh.com>
4117
4118 * Makefile.am: Regenerate dependencies.
4119 * Makefile.in: Regenerate.
4120 * archures.c: Add bfd_mach_sh3_nommu .
4121 * bfd-in2.h: Regenerate.
4122 * cpu-sh.c: Add sh3-nommu architecture.
4123 (bfd_to_arch_table): Create new table.
4124 (sh_get_arch_from_bfd_mach): Create new function.
4125 (sh_get_arch_up_from_bfd_mach): Create new function.
4126 (sh_merge_bfd_arch): Create new function.
4127 * elf32-sh.c (sh_ef_bfd_table): Add table.
4128 (sh_elf_check_relocs): Replace switch statement with
4129 use of sh_ef_bfd_table .
4130 (sh_elf_get_flags_from_mach): Add new function.
4131 (sh_find_elf_flags): Likewise.
4132 (sh_elf_copy_private_data): Replace most of non-elf contents
4133 with a call to sh_merge_bfd_arch() .
4134
d866f350
MC
41352004-05-27 Michael Chastain <mec.gnu@mindspring.com>
4136
4137 * Makefile.am (bfdver.h): Use explicit filename, not $< .
4138 * Makefile.in: Regenerate.
4139
1055df0f
AO
41402004-05-27 Alexandre Oliva <aoliva@redhat.com>
4141
4142 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Avoid
4143 custom calling conventions for dynamic symbols.
4144 (mn10300_elf_relax_section): Avoid relaxing a function as a local
4145 symbol if it's an alias to a global one.
4146
b3096250
L
41472004-05-26 H.J. Lu <hongjiu.lu@intel.com>
4148
4149 * elf.c (_bfd_elf_make_section_from_shdr): Undo the last
4150 change.
4151
9bb351fd
AO
41522004-05-27 Alexandre Oliva <aoliva@redhat.com>
4153
4154 * elf-m10300.c (mn10300_elf_relax_section): Don't test isym within
4155 loop over hashes.
4156
e49f5022
AM
41572004-05-26 Alan Modra <amodra@bigpond.net.au>
4158
4159 * elf.c (_bfd_elf_make_section_from_shdr): Don't set SEC_EXCLUDE
4160 for SHT_GROUP sections.
4161
57ceae94
AM
41622004-05-25 Alan Modra <amodra@bigpond.net.au>
4163
4164 * elflink.c (elf_link_add_object_symbols): Don't set up merge
4165 section data here..
4166 * elf.c (_bfd_elf_merge_sections): .. Do it here instead.
4167 * merge.c: Formatting. Remove unnecessary casts. Expand
4168 bfd_get_section_alignment macro.
4169 (struct sec_merge_sec_info): Rename "first" to "first_str". Update
4170 use throughout file.
4171 (_bfd_add_merge_section): Rename from _bfd_merge_section. Update
4172 comment. Abort on dynamic or non-SEC_MERGE input. Don't test
4173 section name to determine sinfo group, instead test output section
4174 and alignment.
4175 (_bfd_merge_sections): Add struct bfd_link_info param. Call
4176 _bfd_strip_section_from_output rather than just twiddling flags.
4177 * libbfd-in.h (_bfd_add_merge_section): Rename, update comment.
4178 (_bfd_merge_sections): Update prototype.
4179 * libbfd.h: Regenerate.
4180
c6f8758f 41812004-05-24 Mark Kettenis <kettenis@gnu.org>
d34436e8
MK
4182
4183 * netbsd-core.c: Correctly indent section that sets architecture
4184 from machine ID.
4185
c6f8758f
NC
4186 From Miod Vallat <miod@online.fr>:
4187 * m88kopenbsd.c: New file.
4188 * targets.c (m88k_openbsd_vec): New.
4189 * config.bfd: Add m88k-*-openbsd*.
4190 * configure.in (m88k-*-openbsd*): Set COREFILE to netbsd-core.lo.
4191 (m88kopenbsd_vec): New.
4192 * configure: Regenerate.
4193 * Makefile.am (BFD32_BACKENDS): Add m88kopenbsd.lo.
4194 (BFD32_BACKENDS_CFILES): Add m88kopenbsd.c.
4195 Run "make dep-am".
4196 * Makefile.in: Regenerate.
4197 * po/SRC-POTFILES.in: Regenerate.
4198
7d7e6bc4
NC
41992004-05-24 Nick Clifton <nickc@redhat.com>
4200
4201 * hash.c: Remove bogus node "Changing the default Hash Table Size"
4202 introduced by hash table size patch.
4203
bc286f95
BE
42042004-05-22 Ben Elliston <bje@au.ibm.com>
4205
4206 * configure.in (is_release): Remove.
4207 (bfd_version_date, bfd_version, bfd_version_string): Likewise.
4208 (AC_OUTPUT): Don't output bfdver.h from version.h.
4209 * configure: Regenerate.
4210 * Makefile.am (RELEASE): New variable.
4211 (bfdver.h): New target.
4212 * Makefile.in: Regenerate.
4213 * doc/Makefile.in: Likewise.
4214
8b89a4eb
BE
42152004-05-22 Ben Elliston <bje@au.ibm.com>
4216
4217 * Makefile.am (config.status): Don't depend on version.h.
4218 * Makefile.in: Regenerate.
4219
753731ee
AM
42202004-05-22 Alan Modra <amodra@bigpond.net.au>
4221
4222 * merge.c (_bfd_merged_section_offset): Remove "addend" param.
4223 * libbfd-in.h (_bfd_merged_section_offset): Adjust prototype.
4224 * libbfd.h: Regenerate.
4225 * elf.c (_bfd_elf_rela_local_sym): Adjust call.
4226 (_bfd_elf_rel_local_sym): Likewise.
4227 * elflink.c (_bfd_elf_link_sec_merge_syms): Likewise.
4228 (elf_link_input_bfd): Likewise.
4229 * elf32-ppc.c (ppc_elf_relax_section): Likewise.
4230 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
4231 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
4232 (elfNN_ia64_relocate_section): Likewise.
4233
2d643429
NC
42342004-05-21 Andy Chittenden <achittenden@bluearc.com>
4235
4236 * hash.c (bfd_default_hash_table_size): New variable.
4237 (bfd_hash_table_init): Use new variable instead of DEFAULT_SIZE.
4238 (bfd_hash_set_default_size): New function. Set the default size
4239 to a selected prime number close to the argument. Document new
4240 function.
4241 * bfd-in.h: Add prototype for bfd_hash_set_default_size.
4242 * bfd-in2.h: Regenerate.
4243 * Makefile.am (hash.lo): Add dependency upon libiberty.h.
4244 * Makefile.in: Regenerate.
4245
8377c19c
MK
42462004-05-21 Mark Kettenis <kettenis@gnu.org>
4247
4248 * libaout.h (machine_type): Add M_88K_OPENBSD and M_HPPA_OPENBSD.
4249 * netbsd-core.c (netbsd_core_file_p): Set architecture for alpha,
4250 arm, m68k, m88k and hppa core files.
4251
69fd4758
NC
42522004-05-21 Nick Clifton <nickc@redhat.com>
4253
4254 * bfdio.c (bfd_bread): Do not use iovec if it is NULL.
4255 (bfd_bwrite): Likewise.
4256 (bfd_tell): Likewise.
4257 (bfd_flush): Likewise.
4258 (bfd_stat): Likewise.
4259 (bfd_seek): Likewise.
4260 (bfd_get_mtime): Likewise.
4261 (bfd_get_size): Likewise.
4262
cd917290
BE
42632004-05-19 Ben Elliston <bje@au.ibm.com>
4264
4265 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Comment correction.
4266
1b09e940
NC
42672004-05-19 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
4268
4269 * archive.c (_bfd_get_elt_at_filepos): Cope with a nested archives.
4270 (bfd_generic_openr_next_archived_file): Likewise.
4271
096c35a7
BW
42722004-05-17 Bob Wilson <bob.wilson@acm.org>
4273
4274 * elf32-xtensa.c (xtensa_get_property_section_name): Determine linkonce
4275 section names by inserting a new substring after .gnu.linkonce, except
4276 for .gnu.linkonce.t.* where the "t." is replaced.
4277
eea6121a 42782004-05-17 Adam Nemet <anemet@lnxw.com>
b2d65c0b
NC
4279
4280 * config.bfd (sparc-*-lynxos* case): Add to obsolete list.
4281 (m68-*-lynxos* case): Likewise.
4282 (powerpc-*-lyxnos* case): New case.
4283 (i[3-7]86-*-lynxos* case): Update to LynxOS 4.0 ELF.
4284
80fccad2
BW
42852004-05-17 David Heine <dlheine@tensilica.com>
4286
4287 * aout-target.h (MY_bfd_copy_private_header_data): Define.
4288 * aout-tic30.c (MY_bfd_copy_private_header_data): Define.
4289 * bfd.c (bfd_copy_private_header_data): Define.
4290 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Add entries for new
4291 interface.
4292 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
4293 * coffcode.h (coff_bfd_copy_private_header_data): Define.
4294 * elf-bfd.h (_bfd_elf_copy_private_header_data): Declare.
4295 * elf.c (_bfd_elf_copy_private_section_data): Remove code to set up
4296 segments by calling copy_private_bfd_data.
4297 (_bfd_elf_copy_private_header_data): Define.
4298 * elfxx-target.h (bfd_elfNN_bfd_copy_private_header_data): Define.
4299 * libbfd-in.h (_bfd_generic_bfd_copy_private_header_data): Define.
4300 * libecoff.h (_bfd_ecoff_bfd_copy_private_header_data): Define.
4301 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Define.
4302 * mmo.c (mmo_bfd_copy_private_header_data): Define.
4303 * ppcboot.c (ppcboot_bfd_copy_private_header_data): Define.
4304 * som.c (som_bfd_copy_private_header_data): Define.
4305 * targets.c (BFD_JUMP_TABLE_COPY): Add _bfd_copy_private_header_data.
4306 * vms.c (vms_bfd_copy_private_header_data): Define.
4307 * bfd-in2.h: Regenerate.
4308 * libbfd.h: Regenerate.
4309
c5ae1840
TS
43102004-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4311
4312 * elfxx-mips.c (MINUS_TWO): Define.
4313 (mips_elf_higher, mips_elf_highest,
4314 mips_elf_create_dynamic_relocation): Use MINUS_ONE and MINUS_TWO for
4315 some bfd_vma values.
4316 (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Code cleanup.
4317
a99cf92b
DA
43182004-05-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4319
4320 * som.c (log2): Rename to exact_log2. Adjust all callers.
4321
0da76f83
NC
43222004-05-13 Paul Brook <paul@codesourcery.com>
4323
c273895f 4324 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle
336b9722
NC
4325 dwarf3 format CIE entries. Remove comment about the size of the
4326 ra_column field. It is now correctly deduced.
0da76f83 4327
4b363073
NC
43282004-05-13 Joel Sherrill <joel@oarcorp.com>
4329
4330 * config.bfd (or32-*-rtems*): Switch to elf.
4331
9598fbe5
NC
43322004-05-13 Nick Clifton <nickc@redhat.com>
4333
4334 * po/fr.po: Updated French translation.
4335
8c37241b
JJ
43362004-05-11 Jakub Jelinek <jakub@redhat.com>
4337
0306b3bf 4338 * elflink.c (bfd_elf_final_link): Don't output STT_SECTION symbol
8c37241b
JJ
4339 into .dynsym if elf_section_data (sec)->dynindx <= 0.
4340 Adjust counting of last_local.
4341 (_bfd_elf_link_renumber_dynsyms): Don't assign dynindx to sections
4342 other than SHT_PROGBITS/SHT_NOBITS and neither for .got/.got.plt/.plt
4343 created by the linker nor !SHF_ALLOC.
4344
4345 * elf32-i386.c (elf_i386_finish_dynamic_sections): Point
4346 DT_PLTGOT to the start of the .got.plt section instead of the
4347 .got output section. Set sh_entsize for .got section in addition
4348 to .got.plt.
4349 (elf_i386_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
4350 is at sgot->output_section->vma.
4351 * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Point
4352 DT_PLTGOT to the start of the .got.plt section instead of the
4353 .got output section.
4354 (elf64_x86_64_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
4355 is at sgot->output_section->vma. Set sh_entsize for .got section
4356 in addition to .got.plt.
4357 * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_RELRO.
4358 (bfd_section_from_phdr): Likewise.
4359 (map_sections_to_segments): Likewise.
4360 (assign_file_positions_for_segments): Likewise.
4361 (get_program_header_size): Likewise.
4362 * elflink.c (bfd_elf_size_dynamic_sections): Set
4363 elf_tdata (output_bfd)->relro from info->relro.
4364 * elf-bfd.h (struct elf_obj_tdata): Add relro field.
4365
3f980e41
AO
43662004-05-08 Alexandre Oliva <aoliva@redhat.com>
4367
4368 * elf32-frv.c (_frvfdpic_add_dyn_reloc): Don't warn when we get
4369 a zero symndx for which we hadn't accounted a dynamic relocation.
4370 (_frvfdpic_add_rofixup): Likewise.
4371
d70270c5 43722004-05-07 Brian Ford <ford@vss.fsi.com>
eea6121a 4373 DJ Delorie <dj@redhat.com>
d70270c5
BF
4374
4375 * coffcode.h (coff_write_object_contents) [COFF_IMAGE_WITH_PE]:
4376 Propagate IMAGE_FILE_LARGE_ADDRESS_AWARE.
4377 * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Recognize
4378 IMAGE_FILE_LARGE_ADDRESS_AWARE. Use PE defines.
4379
7e9f3bd6
AO
43802004-05-07 Alexandre Oliva <aoliva@redhat.com>
4381
4382 * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Return
4383 immediately if there's no link info.
4384 (elf32_frvfdpic_copy_private_bfd_data): New.
4385 (bfd_elf32_bfd_copy_private_bfd_data): Use it for frvfdpic.
4386
eb61d2d6
ZW
43872004-05-06 Zack Weinberg <zack@codesourcery.com>
4388
4389 * dwarf2.c (add_line_info): Also set info->filename to NULL if
4390 filename argument is null; do not call strlen on a null pointer.
4391
ecb2d096
DJ
43922004-05-06 Daniel Jacobowitz <drow@mvista.com>
4393
4394 * elf32-arm.h (elf32_arm_relocate_section): Remove R_ARM_PLT32
4395 special case.
4396
43850d5b
AO
43972004-05-05 Alexandre Oliva <aoliva@redhat.com>
4398
4399 * configure.in (bfd_elf32_frvfdpic_vec): New.
4400 * configure: Rebuilt.
4401 * targets.c (bfd_elf32_frvfdpic_vec): New.
4402 * config.bfd: Enable it on frv-*-elf and frv-*-*linux*, as default
4403 on the latter.
4404 * elf32-frv.c: Prefix all identifiers added for FDPIC support with
4405 frvfdpic instead of frv. Rearrange elf-target macros such that
4406 the FDPIC-specific ones are only defined for this new target
4407 vector.
4408 (bfd_elf32_frvfdpic_vec): Declare.
4409 (IS_FDPIC): New.
4410 (elf32_frv_relocate_section): Use it to enable segment checking
4411 and to control rofixup emission. Add output section vma to
4412 applied relocation in non-LOAD non-ALLOC sections. Use
4413 _bfd_error_handler for errors.
4414 (_frv_create_got_section): Create .rel.got and .rofixup only in
4415 FDPIC. Create non-dynamic _gp at .got+2048 in non-FDPIC, like the
4416 linker script.
4417 (elf32_frvfdpic_size_dynamic_sections): Assume FDPIC.
4418 (elf32_frvfdpic_modify_segment_map): Likewise.
4419 (elf32_frv_finish_dynamic_sections): New, do-nothing.
4420 (elf32_frvfdpic_finish_dynamic_sections): Assume FDPIC. Improve
4421 error message if we miscompute the rofixup size.
4422 (frvfdpic_elf_use_relative_eh_frame): Assume FDPIC.
4423 (frvfdpic_elf_encode_eh_address): Likewise.
4424 (elf32_frv_check_relocs): Reject FDPIC-only relocs in non-FDPIC.
4425 Record relocs only in FDPIC. Make sure _gp is defined for GPREL
4426 relocs. Reject unknown relocation types.
4427 (elf32_frv_object_p): Make sure target vector matches FDPIC bits.
4428 (frv_elf_merge_private_bfd_data): Likewise.
4429 (ELF_MAXPAGESIZE): Revert to 0x1000 for elf32-frv; keep it as
4430 0x4000 for newly-added elf32-frvfdpic.
4431
06fc8a8c
NC
44322004-05-05 Nick Clifton <nickc@redhat.com>
4433
4434 PR/136
4435 * cache.c (bfd_cache_lookup_worker): Call abort() rather than
4436 returning NULL as most users of this function do not check its
4437 return value.
33216455
NC
4438 * hppabsd-core.c (hppabsd_core_core_file_p): Do not check result
4439 of bfd_cache_lookup().
4440 * sco5-core.c (sco5_core_file_p): Likewise.
4441 * trad-core.c (trad_unix_core_file_p): Likewise.
06fc8a8c
NC
4442
44432004-05-05 Nick Clifton <nickc@redhat.com>
4444
4445 * cache.c (bfd_cache_lookup): Improve formatting.
4446 * archive.c: Fix formatting.
4447
6b6e92f4
NC
44482004-05-05 Peter Barada <peter@the-baradas.com>
4449
4450 * bfd_archures.c(bfd_architecture): Add 521x,5249,547x,548x.
4451 * cpu-m68k.c(bfd_m68k_arch): Likewise.
4452 * bfd-in2.h(bfd_architecture): Regenerate.
4453
6a8d1586
AM
44542004-05-03 Alan Modra <amodra@bigpond.net.au>
4455
4456 * elf.c (_bfd_elf_rela_local_sym): Set kept_section for excluded
4457 SEC_MERGE sections.
4458 * elflink.c (elf_link_input_bfd): Adjust output reloc index for
4459 those against discarded link-once and SEC_MERGE section symbols.
4460
fafe6678
L
44612004-05-02 H.J. Lu <hongjiu.lu@intel.com>
4462
4463 * section.c (bfd_get_section_by_name_if): New.
4464 * bfd-in2.h: Regenerated.
4465
ad7b9a36
AM
44662004-05-02 Alan Modra <amodra@bigpond.net.au>
4467
4468 * som.c (som_bfd_is_group_section): Define.
4469
73499ab8
AM
44702004-05-01 Alan Modra <amodra@bigpond.net.au>
4471
4472 * section.c (bfd_make_section_anyway): Copy the whole
4473 bfd_hash_entry, not just "next" from existing entry.
4474
45c5e9ed
L
44752004-04-30 H.J. Lu <hongjiu.lu@intel.com>
4476
4477 * elf.c (bfd_section_from_shdr): Maintain the section order in
4478 a section group.
4479 (special_sections): Add ".note.GNU-stack".
4480 (elf_fake_sections): Handle section group for relocatable
4481 link..
4482
bc87dd2e
L
44832004-04-30 H.J. Lu <hongjiu.lu@intel.com>
4484
4485 * section.c (bfd_sections_find_if): New.
4486 * bfd-in2.h: Regenerated.
4487
72adc230
AM
44882004-04-30 Alan Modra <amodra@bigpond.net.au>
4489
4490 * section.c (bfd_make_section_anyway): Add all sections to hash tab.
4491
4492 * elf-bfd.h (bfd_elf_is_group_section): Declare.
4493 * elf.c (bfd_elf_is_group_section): New function.
4494 * elfxx-target.h (bfd_elfNN_bfd_is_group_section
4495 * section.c (bfd_generic_is_group_section): New function.
4496 * targets.c (struct bfd_target): Add _bfd_is_group_section field.
4497 (BFD_JUMP_TABLE_LINK): Adjust.
4498 * aout-adobe.c (aout_32_bfd_is_group_section): Define.
4499 * aout-target.h (MY_bfd_is_group_section): Define.
4500 * aout-tic30.c (MY_bfd_is_group_section): Define.
4501 * bfd.c (bfd_is_group_section): Define.
4502 * binary.c (binary_bfd_is_group_section): Define.
4503 * bout.c (b_out_bfd_is_group_section): Define.
4504 * coff-alpha.c (_bfd_ecoff_bfd_is_group_section): Define.
4505 * coff-mips.c (_bfd_ecoff_bfd_is_group_section): Define.
4506 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Adjust.
4507 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Adjust.
4508 * coffcode.h (coff_bfd_is_group_section): Define.
4509 * i386msdos.c (msdos_bfd_is_group_section): Define.
4510 * i386os9k.c (os9k_bfd_is_group_section): Define.
4511 * ieee.c (ieee_bfd_is_group_section): Define.
4512 * ihex.c (ihex_bfd_is_group_section): Define.
4513 * libbfd-in.h (_bfd_nolink_bfd_is_group_section): Define.
4514 * mach-o.c (bfd_mach_o_bfd_is_group_section): Define.
4515 * mmo.c (mmo_bfd_is_group_section): Define.
4516 * nlm-target.h (nlm_bfd_is_group_section): Define.
4517 * oasys.c (oasys_bfd_is_group_section): Define.
4518 * pef.c (bfd_pef_bfd_is_group_section): Define.
4519 * ppcboot.c (ppcboot_bfd_is_group_section): Define.
4520 * srec.c (srec_bfd_is_group_section): Define.
4521 * tekhex.c (tekhex_bfd_is_group_section): Define.
4522 * versados.c (versados_bfd_is_group_section): Define.
4523 * vms.c (vms_bfd_is_group_section): Define.
4524 * xsym.c (bfd_sym_bfd_is_group_section): Define.
4525 * bfd-in2.h: Regenerate.
4526 * libbfd.h: Regenerate.
4527
20f0a1ad
AM
45282004-04-30 Alan Modra <amodra@bigpond.net.au>
4529
4530 * elflink.c (elf_gc_mark): Follow indirect and warning syms.
4531
f7458fc9 45322004-04-30 Hans-Peter Nilsson <hp@axis.com>
7dfb3b6b
HPN
4533
4534 * configure.in: Update version to 2.15.91.
4535 * configure: Regenerate.
4536
8a7140c3
NC
45372004-04-29 Brian Ford <ford@vss.fsi.com>
4538
4539 * bfd.c (bfd_get_sign_extend_vma): Add pe[i]-i386 case to DJGPP hack.
4540 * coffcode.h (DOT_DEBUG, GNU_LINKONCE_WI): Define.
4541 [!COFF_WITH_PE] (sec_to_styp_flags, styp_to_sec_flags): Use them.
4542 (coff_compute_section_file_positions) [RS6000COFF_C]: Likewise.
4543 [COFF_WITH_PE] (sec_to_styp_flags): Handle DWARF 2/3 .debug* and
4544 .gnu.linkonce.wi. sections.
4545 * pe-i386.c (COFF_SUPPORT_GNU_LINKONCE): Define.
4546 (COFF_SECTION_ALIGNMENT_ENTRIES): Add entries for .debug and
4547 .gnu.linkonce.wi..
4548 * pei-i386.c (COFF_SUPPORT_GNU_LINKONCE): Likewise.
4549 (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
4550
3e722fb5
CD
45512004-04-28 Chris Demetriou <cgd@broadcom.com>
4552
4553 * reloc.c: Remove BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
4554 * bfd-in2.h: Regenerate.
4555 * libbfd.h: Likewise.
4556
351e2b5a
DA
45572004-04-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4558
4559 * som.c (struct som_misc_symbol_info): Add is_comdat, is_common and
4560 dup_common fields.
4561 (setup_sections): Use som_subspace_dictionary_record struct instead
4562 subspace_dictionary_record. Set SEC_LINK_ONCE if subspace is
4563 is_comdat, is_common or dup_common.
4564 (som_prep_headers): Use som_subspace_dictionary_record struct. Set
4565 is_comdat, is_common and dup_common in section subspace_dict from
4566 copy_data.
4567 (som_begin_writing): Use som_subspace_dictionary_record struct.
4568 (som_finish_writing): Likewise.
4569 (som_bfd_derive_misc_symbol_info): Add support to set is_comdat,
4570 is_common and dup_common flags in info for symbol. Add comment
4571 regarding linker support for these fields. Slightly reorganize
4572 function.
4573 (som_build_and_write_symbol_table): Set is_comdat, is_common and
4574 dup_common fields in symbol table from symbol info.
4575 (bfd_som_set_subsection_attributes): Add comdat, common and dup_common
4576 arguments. Set corresponding fields in copy_data. Change all callers.
4577 (som_bfd_ar_write_symbol_stuff): Set dup_common flag in library
4578 symbol table.
4579 (som_vec): Add SEC_LINK_ONCE to applicable section flags.
4580 * som.h (som_subspace_dictionary_record): Define.
4581 (som_copyable_section_data_struct): Add is_comdat, is_common and
4582 dup_common fields.
4583 (som_section_data_struct): Use som_subspace_dictionary_record struct
4584 instead of subspace_dictionary_record.
4585 (bfd_boolean bfd_som_set_subsection_attributes): Adjust prototype.
4586
3ba3bc8c
BW
45872004-04-27 Bob Wilson <bob.wilson@acm.org>
4588
4589 * elf32-xtensa.c (xtensa_read_table_entries): Use section _cooked_size
4590 if set. Check reloc_done flag before applying relocations. Use
4591 output addresses, both when applying relocations and when comparing
4592 against the specified section.
4593 (elf_xtensa_relocate_section): Use output address to check if dynamic
4594 reloc is in a literal pool. Set section's reloc_done flag.
4595
beb8df56
L
45962004-04-27 H.J. Lu <hongjiu.lu@intel.com>
4597
4598 * elf32-sh64.c (elf_backend_section_flags): New. Defined.
4599 (sh64_elf_set_mach_from_flags): Remove the kludge for .cranges
4600 section.
4601 (sh64_elf_section_flags): New. Set SEC_DEBUGGING for .cranges
4602 section.
4603
1829f4b2
AM
46042004-04-27 Alan Modra <amodra@bigpond.net.au>
4605
4606 * elf64-alpha.c (elf64_alpha_read_ecoff_info): Don't assign
4607 structure field removed in 2004-04-24 patch.
4608 * elf64-sparc.c (sparc64_elf_plt_sym_val): Warning fix.
4609
4610 * elf-bfd.h (struct elf_backend_data <elf_backend_section_flags>):
4611 Constify hdr arg.
4612 * elf32-arm.h (elf32_arm_section_flags): Likewise.
4613 * elf64-alpha.c (elf64_alpha_section_flags): Likewise.
4614 * elfxx-ia64.c (elfNN_ia64_section_flags): Likewise.
4615 * elf.c (_bfd_elf_make_section_from_shdr): Set the bfd_section
4616 field before calling elf_backend_section_flags.
4617
4030e8f6
CD
46182004-04-24 Chris Demetriou <cgd@broadcom.com>
4619
4620 * elf32-mips.c (elf_mips_gnu_rel_hi16, elf_mips_gnu_rel_lo16)
4621 (elf_mips_gnu_pcrel64, elf_mips_gnu_pcrel32): Remove.
4622 (bfd_elf32_bfd_reloc_type_lookup): Remove cases for
4623 BFD_RELOC_PCREL_HI16_S, BFD_RELOC_PCREL_LO16, BFD_RELOC_64_PCREL,
4624 and BFD_RELOC_32_PCREL.
4625 (mips_elf32_rtype_to_howto): Remove cases for R_MIPS_GNU_REL_HI16,
4626 R_MIPS_GNU_REL_LO16, R_MIPS_PC64, R_MIPS_PC32.
4627 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
4628 (_bfd_mips_elf_lo16_reloc): Remove handling for R_MIPS_GNU_REL_HI16.
4629 (mips_elf_next_relocation): Move comment about matching HI/LO
4630 relocations to...
4631 (_bfd_mips_elf_relocate_section): Here. Remove handling for
4632 R_MIPS_GNU_REL_HI16.
4633
3e27568f
CD
46342004-04-23 Chris Demetriou <cgd@broadcom.com>
4635
4636 * coff-mips.c (mips_relhi_reloc, mips_rello_reloc)
4637 (mips_switch_reloc, mips_read_relocs, mips_relax_section)
4638 (mips_relax_pcrel16, PCREL16_EXPANSION_ADJUSTMENT): Remove.
4639 (mips_relocate_hi): Remove now-unused 'adjust' and 'pcrel' arguments,
4640 and update comments to reflect current usage.
4641 (mips_howto_table): Remove entries for MIPS_R_RELHI, MIPS_R_RELLO,
4642 and MIPS_R_SWITCH, as well as several empty entries. Update comment
4643 for MIPS_R_PCREL16.
4644 (mips_ecoff_swap_reloc_in, mips_ecoff_swap_reloc_out)
4645 (mips_adjust_reloc_out, mips_bfd_reloc_type_lookup): Remove support
4646 for MIPS_R_SWITCH, MIPS_R_RELLO, and MIPS_R_RELHI relocations.
4647 (mips_adjust_reloc_in): Likewise, adjust maximum accepted relocation
4648 type number to be MIPS_R_PCREL16.
4649 (mips_relocate_section): Remove support for link-time relaxation
4650 of branches used by embedded-PIC. Remove support for MIPS_R_SWITCH,
4651 MIPS_R_RELLO, and MIPS_R_RELHI relocations.
4652 (_bfd_ecoff_bfd_relax_section): Redefine to bfd_generic_relax_section.
4653 * ecoff.c (ecoff_indirect_link_order): Remove support for link-time
4654 relaxation of branches used by embedded-PIC.
4655 * ecofflink.c (bfd_ecoff_debug_accumulate): Likewise.
4656 * libecoff.h (struct ecoff_section_tdata): Remove embedded-PIC
4657 related members, update comment.
4658 * pe-mips.c: Remove disabled (commented-out and #if 0'd)
4659 code related to embedded-PIC.
4660 * elfxx-mips.c (_bfd_mips_elf_read_ecoff_info): Remove
4661 initialization of now-removed 'adjust' member of
4662 'struct ecoff_debug_info'.
4663
b32de0bc 46642004-04-23 Chris Demetriou <cgd@broadcom.com>
8472310d
CD
4665
4666 * elfxx-mips.c (mips_elf_get_global_gotsym_index): Remove.
4667
955af222
PB
46682004-04-21 Philip Blundell <pb@nexus.co.uk>
4669
4670 * elf32-arm.h (elf32_arm_check_relocs): Don't output REL32
4671 relocs for locally defined symbols during -shared final link.
4672 (elf32_arm_final_link_relocate): Likewise.
4673
47a9f7b3
JJ
46742004-04-22 Jakub Jelinek <jakub@redhat.com>
4675
4676 * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Copy also
4677 ELF_LINK_POINTER_EQUALITY_NEEDED.
4678 (elf64_x86_64_check_relocs): Set ELF_LINK_POINTER_EQUALITY_NEEDED
4679 if r_type is not R_X86_64_PC32.
4680 (elf64_x86_64_finish_dynamic_symbol): If
4681 ELF_LINK_POINTER_EQUALITY_NEEDED is not set, clear st_value of
4682 SHN_UNDEF symbols.
4683
1f1799d5
KK
46842004-04-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
4685
4686 * elf32-sh.c (sh_elf_plt_sym_val): New function.
4687 (elf_backend_plt_sym_val): Define.
4688
0fdea5ce
AC
46892004-04-22 Andrew Cagney <cagney@redhat.com>
4690
4691 * opncls.c (bfd_alloc): Fix type of "wanted" in doco.
4692
5198ba8b
DA
46932004-04-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4694
eb61d2d6 4695 * hpux-core.c (hpux_core_core_file_p): Add cast in call to
5198ba8b
DA
4696 make_bfd_asection.
4697 * som.c (som_set_section_contents): Constantify second argument.
4698 (hppa_som_gen_reloc_type): Abort for unsupported selectors.
4699 (som_object_setup): Rework to avoid warning.
4700 (setup_sections, som_write_fixups, bfd_section_from_som_symbol):
4701 Likewise.
4702
fe2e161a
AC
47032004-04-22 Andrew Cagney <cagney@redhat.com>
4704
4705 * cache.c (bfd_cache_close): Check for a previously closed file.
4706
4c45e5c9
JJ
47072004-04-22 Jakub Jelinek <jakub@redhat.com>
4708
4709 * bfd.c (bfd_get_synthetic_symtab): Define.
4710 * targets.c (BFD_JUMP_TABLE_DYNAMIC): Add
4711 NAME##_get_synthetic_symtab.
4712 (struct bfd_target): Add _bfd_get_synthetic_symtab.
4713 * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Define.
4714 * elf-bfd.h (struct elf_backend_data): Add plt_sym_val and
4715 relplt_name fields.
4716 (_bfd_elf_get_synthetic_symtab): New prototype.
4717 * elfcode.h (elf_get_synthetic_symtab): Define.
4718 * elf.c (_bfd_elf_get_synthetic_symtab): New function.
4719 * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Define.
4720 (elf_backend_plt_sym_val, elf_backend_relplt_name): Define.
4721 (elfNN_bed): Add elf_backend_plt_sym_val and elf_backend_relplt_name.
4722 * bfd-in2.h: Rebuilt.
4723 * libbfd.h: Rebuilt.
4724 * elf32-i386.c (elf_i386_plt_sym_val): New function.
4725 (elf_backend_plt_sym_val): Define.
4726 * elf64-x86-64.c (elf64_x86_64_plt_sym_val): New function.
4727 (elf_backend_plt_sym_val): Define.
4728 * elf32-s390.c (elf_s390_plt_sym_val): New function.
4729 (elf_backend_plt_sym_val): Define.
4730 * elf64-s390.c (elf_s390_plt_sym_val): New function.
4731 (elf_backend_plt_sym_val): Define.
4732 * elf32-sparc (elf32_sparc_plt_sym_val): New function.
4733 (elf_backend_plt_sym_val): Define.
4734 * elf64-sparc.c (sparc64_elf_plt_sym_val): New function.
4735 (elf_backend_plt_sym_val): Define.
4736 * elf32-ppc.c (ppc_elf_plt_sym_val): New function.
4737 (elf_backend_plt_sym_val): Define.
4738 * aout-target.h (MY_get_synthetic_symtab): Define.
4739 * aout-tic30.c (MY_get_synthetic_symtab): Define.
4740 * coff-rs6000.c (rs6000coff_vec): Add
4741 _bfd_nodynamic_get_synthetic_symtab.
4742 (pmac_xcoff_vec): Likewise.
4743 * coff64-rs6000.c (rs6000coff64_vec): Add
4744 _bfd_nodynamic_get_synthetic_symtab.
4745 (aix5coff64_vec): Likewise.
4746 * sunos.c (MY_get_synthetic_symtab): Define.
4747 * vms.c (vms_get_synthetic_symtab): Define.
4748
d2f7ecac
NC
47492004-04-22 Nick Clifton <nickc@redhat.com>
4750
4751 * bfd.c (bfd_archive_filename): Return NULL on NULL input.
4752
fd99574b
NC
47532004-04-22 Peter Barada <peter@the-baradas.com>
4754
4755 * archures.c: Add bfd_mach_mcfv4e to bfd_architecture.
4756 * bfd2-in.h: Regenerate.
4757 * cpu-m68k.c: Add 'm68k:mcfv4e' to arch_info_struct[].
4758
23867d67
CD
47592004-04-21 Chris Demetriou <cgd@broadcom.com>
4760
4761 * coff-mips.c (bfd_mips_ecoff_create_embedded_relocs): Remove.
4762 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Remove.
4763 * bfd-in.h (bfd_mips_ecoff_create_embedded_relocs)
4764 (bfd_mips_elf32_create_embedded_relocs): Remove prototypes
4765 * bfd-in2.h: Regenerate.
4766
2c8c90bc
BW
47672004-04-21 Bob Wilson <bob.wilson@acm.org>
4768
4769 * elf32-xtensa.c (is_same_value): Add final_static_link argument and
4770 require relocations against a weak symbol to reference the same
4771 symbol hash entry if not a final, static link.
4772 (get_cached_value, add_value_map): Add final_static_link argument.
4773 (remove_literals): Pass final_static_link argument as needed.
4774
40838a72
AC
47752004-04-21 Andrew Cagney <cagney@redhat.com>
4776
4777 * opncls.c (_bfd_new_bfd_contained_in): Copy "iovec".
4778 (struct opncls, opncls_btell, opncls_bseek, opncls_bread)
4779 (opncls_bwrite, opncls_bclose, opncls_bflush)
4780 (opncls_bstat, opncls_iovec, bfd_openr_iovec): Implement a
4781 bfd iovec that uses function callbacks.
4782 (bfd_close): Use the iovec's bclose.
4783 * cache.c (cache_btell, cache_bseek, cache_bread, cache_bwrite)
4784 (cache_bclose, cache_bflush, cache_bstat)
4785 (cache_iovec): New functions and global variable, implement a
4786 cache "iovec", where applicable set bfd_error.
4787 (bfd_cache_init, bfd_cache_close): Set/test the bfd's iovec.
4788 * bfdio.c (struct bfd_iovec): Define.
4789 (real_read): Delete function.
4790 (bfd_bread, bfd_bread, bfd_bwrite, bfd_tell, bfd_flush, bfd_stat)
4791 (bfd_seek, bfd_get_mtime, bfd_get_size): Use the bfd's "iovec",
4792 assume that bread and bwrite set bfd_error.
4793 * bfd.c (struct bfd): Add "iovec", update comments.
4794 * bfd-in2.h, libbfd.h: Re-generate.
4795
7f919c84
AC
47962004-04-21 Andrew Cagney <cagney@redhat.com>
4797
4798 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
4799
715df9b8
EB
48002004-04-21 Eric Botcazou <ebotcazou@act-europe.fr>
4801
4802 * elflink.c (elf_gc_mark_dynamic_ref_symbol): New function.
4803 (bfd_elf_gc_sections): Fail if a shared object is being created.
4804 Do not fail if dynamic sections have been created. Instead call
4805 elf_gc_mark_dynamic_ref_symbol to mark sections that contain
4806 dynamically referenced symbols. Do not mark the whole graph
4807 rooted at .eh_frame, only the section proper.
4808
6482c264
NC
48092004-04-20 DJ Delorie <dj@redhat.com>
4810
4811 * reloc.c: Add BFD_RELOC_32_SECREL.
4812 * bfd-in2.h: Regenerate.
4813 * libbfd.h: Likewise.
4814 * coff-i386.c (howto_table) [COFF_WITH_PE]: Add R_SECREL32.
4815 (coff_i386_rtype_to_howto) [COFF_WITH_PE]: Handle it.
4816 (coff_i386_reloc_type_lookup) [COFF_WITH_PE]: Likewise.
4817
4dc570c2
JJ
48182004-04-19 Jakub Jelinek <jakub@redhat.com>
4819
4820 * elf32-sparc.c (elf32_sparc_relocate_section): Handle
4821 relocs against hidden/protected undefweak symbols properly.
4822 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
4823
0b60d5d3
MK
48242004-04-18 Mark Kettenis <kettenis@gnu.org>
4825
4826 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
4827 * netbsd-core.c (netbsd_core_file_p): Set architecture for PowerPC
4828 core files.
4829
d48bdb99
AM
48302004-04-17 Brian Ford <ford@vss.fsi.com>
4831
4832 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the first non-zero
4833 filepos for the SizeOfHeaders field.
4834 (_bfd_XXi_swap_scnhdr_out): Correct section flags lossage on reloc
4835 overflow.
4836 (_bfd_XXi_swap_sym_in): Remove redundant section flags assignment.
4837
57a1784e
AM
48382004-04-16 Alan Modra <amodra@bigpond.net.au>
4839
4840 * simple.c (bfd_simple_get_relocated_section_contents): Don't
4841 change reloc_done. Set and restore _cooked_size.
4842 (RETURN): Delete.
4843
d1ad3f6f
MK
48442004-04-15 Mark Kettenis <kettenis@gnu.org>
4845
4846 * netbsd-core.c (netbsd_core_file_p): Set architecture for VAX
4847 core files.
4848
3d1bca9d
NC
48492004-04-15 Nick Clifton <nickc@redhat.com>
4850
4851 * bfd.c (bfd_archive_filename): Catch NULL bfd pointers.
4852
019b892f
AM
48532004-04-15 Alan Modra <amodra@bigpond.net.au>
4854
4855 * elf64-sparc.c (sparc64_elf_check_relocs): Fix thinko last change.
4856
15b43f48
AM
48572004-04-15 H.J. Lu <hongjiu.lu@intel.com>
4858
4859 * elflink.c (_bfd_elf_merge_symbol): Treat weak as strong only
4860 when it is a definition.
4861
6de00a78
AM
48622004-04-14 Alan Modra <amodra@bigpond.net.au>
4863
4864 * elf32-sparc.c (elf32_sparc_relocate_section): Don't abort
4865 when statically linking PIC code.
4866 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
4867
279500de
TS
48682004-04-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4869
4870 * config.bfd: Remove mips*-*-mach3* and mips*-dec-mach3* targets.
4871 * configure.in: Remove mips-dec-bsd*, mips-dec-mach3*, mips-*-mach3*
4872 targets amd aout_mips_big_vec, aout_mips_little_vec target vectors.
4873 * configure: Regenerate.
4874
ccf2f652
RS
48752004-04-08 Richard Sandiford <rsandifo@redhat.com>
4876
4877 * elflink.c: Include libiberty.h.
4878 * Makefile.am (elflink.lo): Depend on libiberty.h.
4879 * Makefile.in: Regenerate.
4880
ca07892d
DJ
48812004-04-06 Daniel Jacobowitz <drow@mvista.com>
4882
4883 * elfxx-mips.c (MIPS_ELF_STUB_SECTION_NAME): Always use
4884 ".MIPS.stubs".
4885
a5a58ba4
L
48862004-04-05 H.J. Lu <hongjiu.lu@intel.com>
4887
4888 * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Always
4889 reserve the memory for dynamic linker
4890
24d18d30
MK
48912004-04-05 Mark Kettenis <kettenis@gnu.org>
4892
4893 * netbsd-core.c (CORE_WCOOKIE_OFFSET): New define.
4894 (netbsd_core_file_p): Create a .wcookie section for OpenBSD/sparc.
4895
a4d7b4b5
L
48962004-04-02 H.J. Lu <hongjiu.lu@intel.com>
4897
4898 * elf32-cr16c.c (elf32_cr16c_relocate_section): Use
4899 RELOC_FOR_GLOBAL_SYMBOL.
4900 (elf32_cr16c_add_symbol_hook): Remove const from Elf_Internal_Sym.
4901
1f433d93
L
49022004-04-02 H.J. Lu <hongjiu.lu@intel.com>
4903
4904 * elf32-arm.h (elf32_arm_final_link_relocate): Handle
4905 R_ARM_ALU* only if OLD_ARM_ABI is not defined.
4906
e489d0ae
PB
49072004-04-01 Paul Brook <paul@codesourcery.com>
4908
4909 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update.
4910 * elf32-arm.h (struct elf32_elf_section_map): New.
4911 (struct _arm_elf_section_data): New.
4912 (elf32_arm_section_data): Define.
4913 (struct elf32_arm_link_hash_table): Add byteswap_code.
4914 (elf32_arm_link_hash_table_create): Initialize byteswap_code.
4915 (bfd_elf32_arm_process_before_allocation): Add byteswap_code.
4916 (elf32_arm_post_process_headers): Set EF_ARM_BE8.
4917 (elf32_arm_output_symbol_hook, elf32_arm_new_section_hook,
4918 elf32_arm_compare_mapping, elf32_arm_write_section): New functions.
4919 (bfd_elf32_new_section_hook, elf_backend_write_section,
4920 elf_backend_link_output_symbol_hook): Define.
4921
66a695f0
NC
49222004-04-01 Andy Chittenden <achittenden@bluearc.com>
4923
4924 * stabs.c (struct stab_link_includes_totals): Add field 'symb'
4925 that keeps the characters in a B_INCL..B_EINCL range.
4926 (_bfd_link_section_stabs): When computing the sum of the
4927 characters in a B_INCL..B_EINCL range also keep a copy of those
4928 characters. Use this information to distinguish between
4929 include sections that have the same sum and the same length
4930 but which are nevertheless unique.
4931
8375c36b
PB
49322004-03-31 Paul Brook <paul@codesourcery.com>
4933
4934 * elf32-arm.h (elf32_arm_final_link_relocate): Add R_ARM_ALU*.
4935 * elfarm-nabi.c (elf32_arm_howto_table): Ditto.
4936
a56b48eb
NC
49372004-03-31 Andy Chittenden <achittenden@bluearc.com>
4938
4939 * stabs.c (struct stab_link_includes_totals): Rename field 'total'
4940 to 'sum_chars' and add field 'num_chars'.
4941 (_bfd_link_section_stabs): When computing the sum of the
4942 characters in a B_INCL..B_EINCL range also keep a count of the
4943 number of characters. Use this information to help distinguish
4944 between include sections when have the same sum but which
4945 nevertheless are still unique.
4946