bfd/
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
b58f81ae
DJ
12004-10-16 Daniel Jacobowitz <dan@debian.org>
2
3 * bfd-in2.h: Regenerate.
4 * bfd.c (struct bfd): Add no_export.
5 * elflink.c (elf_link_add_object_symbols): Handle no_export.
6
7d3f158f
AM
72004-10-15 Alan Modra <amodra@bigpond.net.au>
8
9 * config.bfd: Whitespace cleanup.
10 * Makefile.am: Run "make dep-am"
11 * Makefile.in: Regenerate.
12
6d2cd210
JJ
132004-10-15 Jakub Jelinek <jakub@redhat.com>
14
15 * elflink.c (struct already_linked_section): Removed.
16 (try_match_symbols_in_sections, already_linked): Removed.
17 (_bfd_elf_section_already_linked): Skip ^\.gnu\.linkonce\.[^.]*\.
18 prefix of section names when finding already_linked_table
19 chain. Compare section names. Instead of calling already_linked,
20 do it inline and only for sections in the same already_linked_list.
21
92e4ec35
AM
222004-10-15 Alan Modra <amodra@bigpond.net.au>
23
24 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Add "info"
25 parameter. If called after _bfd_elf_write_section_eh_frame,
26 don't allow a -2 return unless need_* bit is already set, and
27 handle offsets adjusted for output_offset.
28 * elf-bfd.h (_bfd_elf_eh_frame_section_offset): Update prototype.
29 * elf.c (_bfd_elf_section_offset): Update call.
30
7bf6dede
L
312004-10-13 H.J. Lu <hongjiu.lu@intel.com>
32
33 PR 440
34 * coffcode.h (coff_compute_section_file_positions): Cast to
35 bfd_vma when computing page alignment.
36
c0042f5d
MM
372004-10-13 Mark Mitchell <mark@codesourcery.com>
38
39 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
40 offsets, not VMAs, for DT_VERSYM, DT_VERDEF, DT_VERNEED.
41
2a1b9a48
MM
422004-10-12 Mark Mitchell <mark@codesourcery.com>
43
44 * elf32-arm.h (elf32_arm_finish_dynamic_symbol): Make .rel.plt
45 relocations use a virtual address, not a section offset.
46
b08b5071
BW
472004-10-12 Bob Wilson <bob.wilson@acm.org>
48
49 * elf32-xtensa.c (elf_xtensa_get_private_bfd_flags): Delete.
50 (narrow_instruction, widen_instruction): Remove unnecessary calls to
51 xtensa_format_encode.
52 (ebb_propose_action): Inline call to ebb_add_proposed_action.
53 (ebb_add_proposed_action): Delete.
54
7fa3d080
BW
552004-10-12 Bob Wilson <bob.wilson@acm.org>
56
57 * elf32-xtensa.c: Use ISO C90 formatting.
58
3656d5e3
PB
592004-10-12 Paul Brook <paul@codesourcery.com>
60
61 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Rephrase error
62 message.
63
8cb51566
PB
642004-10-12 Paul Brook <paul@codesourcery.com>
65
66 * elf32-arm.h: Support EABI version 4 objects.
67
1abc8597
AM
682004-10-12 Alan Modra <amodra@bigpond.net.au>
69
70 PR 325
71 * cpu-i386.c (bfd_x86_64_arch_intel_syntax): Place last in chain.
72 Don't mark as default.
73 (bfd_x86_64_arch): Don't mark as default.
74
9e66c942
AM
752004-10-12 Alan Modra <amodra@bigpond.net.au>
76
77 * elflink.c (enum action_discarded): New.
78 (elf_section_complain_discarded): Delete.
79 (elf_action_discarded): New function subsuming the above and also
80 controlling reloc behaviour.
1abc8597 81 (elf_link_input_bfd): Use it.
9e66c942 82
7f1204bb
JJ
832004-10-11 Jakub Jelinek <jakub@redhat.com>
84
85 * elf.c (bfd_section_from_shdr): Handle SHT_GNU_LIBLIST.
86 (special_sections): Add .gnu.liblist and .gnu.conflict.
87 (assign_section_numbers): Handle SHT_GNU_LIBLIST.
88
87e5235d
AM
892004-10-11 Alan Modra <amodra@bigpond.net.au>
90
91 PR 233
92 * elflink.c (elf_link_input_bfd): Try harder to support
93 relocations against symbols in removed linkonce sections.
94
2ad770c3
AM
952004-10-11 Alan Modra <amodra@bigpond.net.au>
96
029446c4
AM
97 * elflink.c (elf_link_input_bfd): Revert PR 354 change.
98
2ad770c3
AM
99 PR 354
100 * elflink.c (elf_link_input_bfd): Check that relocs in SEC_ALLOC
101 sections do not reference symbols in non-SEC_ALLOC sections.
102
1da212d6
AM
1032004-10-11 Alan Modra <amodra@bigpond.net.au>
104
105 PR 437
106 * elflink.c (elf_link_sort_relocs): Don't bomb on unusual sections.
107 (_bfd_elf_link_omit_section_dynsym): Formatting.
108
f12123c0
AM
1092004-10-10 Alan Modra <amodra@bigpond.net.au>
110
111 * libbfd-in.h (BFD_ASSERT, BFD_FAIL): Wrap macro body in do while.
112 * libbfd.h: Regnerate.
113 * elf32-cris.c: Add missing semicolon to BFD_ASSERTs.
114 * elf32-frv.c: Likewise.
115 * elf32-m32r.c: Likewise.
116 * elf32-ppc.c: Likewise.
117 * elf64-hppa.c: Likewise.
118 * elfxx-ia64.c: Likewise.
119 * opncls.c: Likewise.
120
fda3ecf2
AM
1212004-10-10 Alan Modra <amodra@bigpond.net.au>
122
3472e2e9
AM
123 * elf-bfd.h (struct eh_frame_hdr_info): Add offsets_adjusted.
124 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust
125 offsets stored in struct eh_cie_fde entries before doing other
126 work.
127
fda3ecf2
AM
128 * elf-bfd.h (struct eh_cie_fde): Add cie_inf, remove sec.
129 (struct eh_frame_hdr_info): Add last_cie_inf, remove last_cie_offset.
130 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete code
131 setting offsets for removed CIEs. Don't set "sec", instead set
132 cie_inf for FDEs. Keep a pointer to last struct eh_cie_fde for a
133 CIE in hdr_info. Only set make_relative and make_lsda_relative
134 for CIEs. Use pointers rather than array indices.
135 (_bfd_elf_eh_frame_section_offset): Test/set make_relative,
136 make_lsda_relative, need_* on cie_inf for FDEs.
137 (_bfd_elf_write_section_eh_frame): Adjust offset and new_offset for
138 section output_offset. Delete cie_offset, instead use cie_inf
139 pointer to CIE entry. Use need_relative and need_lsda_relative on
140 CIE entry for FDEs. Use pointers rather than array indices.
141
7db6994f
AM
1422004-10-09 Alan Modra <amodra@bigpond.net.au>
143
144 * coff-rs6000.c (rs6000coff_vec): Add initializer for
145 bfd_is_target_special_symbol.
146 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
147 * som.c (som_bfd_is_target_special_symbol): Define.
148
3c9458e9
NC
1492004-10-08 Nick Clifton <nickc@redhat.com>
150
151 * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.93.
152 * configure: Regenerate.
153 * bfd-in2.h: Regenerate.
154 * syms.c (bfd_is_target_special_symbol): New interface function.
155 Returns true when a symbol should be considered to be special.
7db6994f 156 * targets.c (bfd_target): Include bfd_is_target_special_symbol in
3c9458e9
NC
157 the symbol jump table.
158 * elf32-arm.h (elf32_arm_is_target_special_symbol): New function.
159 Return true iff the symbol is a mapping symbol.
160 (bfd_elf32_bfd_is_target_special_symbol): Define.
161 * elfxx-target.h: Provide a default definition for
162 bfd_is_target_special_symbol.
163 * aout-target.h: Likewise.
164 * aout-tic30.c: Likewise.
873d03ee 165 * binary.c: Likewise.
3c9458e9
NC
166 * coffcode.h: Likewise.
167 * i386msdos.c: Likewise.
168 * ieee.c: Likewise.
873d03ee 169 * ihex.c: Likewise.
3c9458e9
NC
170 * libaout.h: Likewise.
171 * libbfd-in.h: Likewise
172 * libecoff.h: Likewise.
173 * mach-o.c: Likewise.
174 * mmo.c: Likewise.
175 * nlm-target.h: Likewise.
176 * oasys.c: Likewise.
177 * pef.c: Likewise.
178 * ppcboot.c: Likewise.
179 * srec.c: Likewise.
180 * tekhex.c: Likewise.
181 * versados.c: Likewise.
182 * vms.c: Likewise.
183 * xcoff-target.h: Likewise.
184 * xsym.c: Likewise.
185 * libbfd.h: Regenerate.
186
d2b2c203
DJ
1872004-10-08 Daniel Jacobowitz <dan@debian.org>
188
189 * config.bfd: Include 64-bit support for i[3-7]86-*-solaris2*.
190 * elf64-x86-64.c (elf64_x86_64_section_from_shdr): New function.
191 (elf_backend_section_from_shdr): Define.
192
864274b0
AM
1932004-10-08 Alan Modra <amodra@bigpond.net.au>
194
195 * syms.c (bfd_is_local_label): Return false for file symbols.
196
43cd72b9 1972004-10-07 Bob Wilson <bob.wilson@acm.org>
85a5ac80 198 David Heine <dlheine@tensilica.com>
43cd72b9
BW
199
200 * elf32-xtensa.c (elf32xtensa_size_opt): New global variable.
201 (xtensa_default_isa): Global variable moved here from xtensa-isa.c.
202 (elf32xtensa_no_literal_movement): New global variable.
203 (elf_howto_table): Add entries for new relocations.
204 (elf_xtensa_reloc_type_lookup): Handle new relocations.
205 (property_table_compare): When addresses are equal, compare sizes and
206 various property flags.
207 (property_table_matches): New.
208 (xtensa_read_table_entries): Extend to read new property tables. Add
209 output_addr parameter to indicate that output addresses should be used.
210 Use bfd_get_section_limit.
211 (elf_xtensa_find_property_entry): New.
212 (elf_xtensa_in_literal_pool): Use elf_xtensa_find_property_entry.
213 (elf_xtensa_check_relocs): Handle new relocations.
214 (elf_xtensa_do_reloc): Use bfd_get_section_limit. Handle new
215 relocations. Use new xtensa-isa.h functions.
216 (build_encoding_error_message): Remove encode_result parameter. Add
217 new target_address parameter used to detect alignment errors.
218 (elf_xtensa_relocate_section): Use bfd_get_section_limit. Clean up
219 error handling. Use new is_operand_relocation function.
220 (elf_xtensa_combine_prop_entries, elf_xtensa_merge_private_bfd_data):
221 Use underbar macro for error messages. Formatting.
222 (get_const16_opcode): New.
223 (get_l32r_opcode): Add a separate flag for initialization.
224 (get_relocation_opnd): Operand number is no longer explicit in the
225 relocation. Change to decode the opcode and analyze its operands.
226 (get_relocation_slot): New.
227 (get_relocation_opcode): Add bfd parameter. Use bfd_get_section_limit.
228 Use new xtensa-isa.h functions to handle multislot instructions.
229 (is_l32r_relocation): Add bfd parameter. Use is_operand_relocation.
230 (get_asm_simplify_size, is_alt_relocation, is_operand_relocation,
231 insn_decode_len, insn_decode_opcode, check_branch_target_aligned,
232 check_loop_aligned, check_branch_target_aligned_address, narrowable,
233 widenable, narrow_instruction, widen_instruction, op_single_fmt_table,
234 get_single_format, init_op_single_format_table): New.
235 (elf_xtensa_do_asm_simplify): Add error_message parameter and use it
236 instead of calling _bfd_error_handler. Use new xtensa-isa.h functions.
237 (contract_asm_expansion): Add error_message parameter and pass it to
238 elf_xtensa_do_asm_simplify. Replace use of R_XTENSA_OP0 relocation
239 with R_XTENSA_SLOT0_OP.
240 (get_expanded_call_opcode): Extend to handle either L32R or CONST16
241 instructions. Use new xtensa-isa.h functions.
242 (r_reloc struct): Add new virtual_offset field.
243 (r_reloc_init): Add contents and content_length parameters. Set
244 virtual_offset field to zero. Add contents to target_offset field for
245 partial_inplace relocations.
246 (r_reloc_is_defined): Check for null.
247 (print_r_reloc): New debug function.
248 (source_reloc struct): Replace xtensa_operand field with pair of the
249 opcode and the operand position. Add is_abs_literal field.
250 (init_source_reloc): Specify operand by opcode/position pair. Set
251 is_abs_literal field.
252 (source_reloc_compare): When target_offsets are equal, compare other
253 fields to make sorting predictable.
254 (literal_value struct): Add is_abs_literal field.
255 (value_map_hash_table struct): Add has_last_loc and last_loc fields.
256 (init_literal_value): New.
257 (is_same_value): Replace with ...
258 (literal_value_equal): ... this function. Add comparisons of
259 virtual_offset and is_abs_literal fields.
260 (value_map_hash_table_init): Use bfd_zmalloc. Check for allocation
261 failure. Initialize has_last_loc field.
262 (value_map_hash_table_delete): New.
263 (hash_literal_value): Rename to ...
264 (literal_value_hash): ... this. Include is_abs_literal flag and
265 virtual_offset field in the hash value.
266 (get_cached_value): Rename to ...
267 (value_map_get_cached_value): ... this. Update calls to
268 literal_value_hash and literal_value_equal.
269 (add_value_map): Check for allocation failure. Update calls to
270 value_map_get_cached_value and literal_value_hash.
271 (text_action, text_action_list, text_action_t): New types.
272 (find_fill_action, compute_removed_action_diff, adjust_fill_action,
273 text_action_add, text_action_add_literal, offset_with_removed_text,
274 offset_with_removed_text_before_fill, find_insn_action,
275 print_action_list, print_removed_literals): New.
276 (offset_with_removed_literals): Delete.
277 (xtensa_relax_info struct): Add is_relaxable_asm_section, action_list,
278 fix_array, fix_array_count, allocated_relocs, relocs_count, and
279 allocated_relocs_count fields.
280 (init_xtensa_relax_info): Initialize new fields.
281 (reloc_bfd_fix struct): Add new translated field.
282 (reloc_bfd_fix_init): Add translated parameter and use it to set the
283 translated field.
284 (fix_compare, cache_fix_array): New.
285 (get_bfd_fix): Remove fix_list parameter and get all relax_info for the
286 section via get_xtensa_relax_info. Use cache_fix_array to set up
287 sorted fix_array and use bsearch instead of linear search.
288 (section_cache_t): New struct.
289 (init_section_cache, section_cache_section, clear_section_cache): New.
290 (ebb_t, ebb_target_enum, proposed_action, ebb_constraint): New types.
291 (init_ebb_constraint, free_ebb_constraint, init_ebb, extend_ebb_bounds,
292 extend_ebb_bounds_forward, extend_ebb_bounds_backward,
293 insn_block_decodable_len, ebb_propose_action, ebb_add_proposed_action):
294 New.
295 (retrieve_contents): Use bfd_get_section_limit.
296 (elf_xtensa_relax_section): Add relocations_analyzed flag. Update call
297 to compute_removed_literals. Free value_map_hash_table when no longer
298 needed.
299 (analyze_relocations): Check is_relaxable_asm_section flag. Call
300 compute_text_actions for all sections.
301 (find_relaxable_sections): Mark sections as relaxable if they contain
302 ASM_EXPAND relocations that can be optimized. Adjust r_reloc_init
303 call. Increment relax_info src_count field only for appropriate
304 relocation types. Remove is_literal_section check.
305 (collect_source_relocs): Use bfd_get_section_limit. Adjust calls to
306 r_reloc_init and find_associated_l32r_irel. Check
307 is_relaxable_asm_section flag. Handle L32R instructions with absolute
308 literals. Pass is_abs_literal flag to init_source_reloc.
309 (is_resolvable_asm_expansion): Use bfd_get_section_limit. Check for
310 CONST16 instructions. Adjust calls to r_reloc_init and
fda3ecf2 311 pcrel_reloc_fits. Handle weak symbols conservatively.
43cd72b9
BW
312 (find_associated_l32r_irel): Add bfd parameter and pass it to
313 is_l32r_relocation.
314 (compute_text_actions, compute_ebb_proposed_actions,
315 compute_ebb_actions, check_section_ebb_pcrels_fit,
316 check_section_ebb_reduces, text_action_add_proposed,
317 compute_fill_extra_space): New.
318 (remove_literals): Replace with ...
319 (compute_removed_literals): ... this function. Call
320 init_section_cache. Use bfd_get_section_limit. Sort internal_relocs.
321 Call xtensa_read_table_entries to get the property table. Skip
322 relocations other than R_XTENSA_32 and R_XTENSA_PLT. Use new
323 is_removable_literal, remove_dead_literal, and
fda3ecf2 324 identify_literal_placement functions.
43cd72b9
BW
325 (get_irel_at_offset): Rewrite to use bsearch on sorted relocations
326 instead of linear search.
327 (is_removable_literal, remove_dead_literal,
328 identify_literal_placement): New.
329 (relocations_reach): Update check for literal not referenced by any
330 PC-relative relocations. Adjust call to pcrel_reloc_fits.
331 (coalesce_shared_literal, move_shared_literal): New.
332 (relax_section): Use bfd_get_section_limit. Call
333 translate_section_fixes. Update calls to r_reloc_init and
334 offset_with_removed_text. Check new is_relaxable_asm_section flag.
335 Add call to pin_internal_relocs. Add special handling for
336 R_XTENSA_ASM_SIMPLIFY and R_XTENSA_DIFF* relocs. Use virtual_offset
337 info to calculate new addend_displacement variable. Replace code for
338 deleting literals with more general code to perform the actions
339 determined by the action_list for the section.
340 (translate_section_fixes, translate_reloc_bfd_fix): New.
341 (translate_reloc): Check new is_relaxable_asm_section flag. Call
342 find_removed_literal only if is_operand_relocation. Update call to
343 offset_with_removed_text. Use new target_offset and removed_bytes
344 variables.
345 (move_literal): New.
346 (relax_property_section): Use bfd_get_section_limit. Set new
347 is_full_prop_section flag and handle new property tables. Update calls
348 to r_reloc_init and offset_with_removed_text. Check
349 is_relaxable_asm_section flag. Handle expansion of zero-sized
350 unreachable entries, with use of offset_with_removed_text_before_fill.
351 For relocatable links, combine entries only for literal tables.
352 (relax_section_symbols): Check is_relaxable_asm_section flag. Update
353 calls to offset_with_removed_text. Translate st_size field for
354 function symbols.
355 (do_fix_for_relocatable_link): Change to return bfd_boolean to indicate
356 failure. Add contents parameter. Update call to get_bfd_fix. Update
357 call to r_reloc_init. Call _bfd_error_handler and return FALSE for
358 R_XTENSA_ASM_EXPAND relocs.
359 (do_fix_for_final_link): Add input_bfd and contents parameters. Update
360 call to get_bfd_fix. Include offset from contents for partial_inplace
361 relocations.
362 (is_reloc_sym_weak): New.
363 (pcrel_reloc_fits): Use new xtensa-isa.h functions.
364 (prop_sec_len): New.
365 (xtensa_is_property_section): Handle new property sections.
366 (is_literal_section): Delete.
367 (internal_reloc_compare): When r_offset matches, compare r_info and
368 r_addend to make sorting predictable.
369 (internal_reloc_matches): New.
370 (xtensa_get_property_section_name): Handle new property sections.
371 (xtensa_get_property_predef_flags): New.
372 (xtensa_callback_required_dependence): Use bfd_get_section_limit.
373 Update calls to xtensa_isa_init, is_l32r_relocation, and r_reloc_init.
374 * xtensa-isa.c (xtensa_default_isa): Moved to elf32-xtensa.c.
375 (xtisa_errno, xtisa_error_msg): New variables.
376 (xtensa_isa_errno, xtensa_isa_error_msg): New.
377 (xtensa_insnbuf_alloc): Add error handling.
378 (xtensa_insnbuf_to_chars): Add num_chars parameter. Update to
379 use xtensa_format_decode. Add error handling.
380 (xtensa_insnbuf_from_chars): Add num_chars parameter. Decode the
381 instruction length to find the number of bytes to copy.
382 (xtensa_isa_init): Add error handling. Replace calls to
383 xtensa_load_isa and xtensa_extend_isa with code to initialize lookup
384 tables in the xtensa_modules structure.
385 (xtensa_check_isa_config, xtensa_add_isa, xtensa_load_isa,
386 xtensa_extend_isa): Delete.
387 (xtensa_isa_free): Change to only free lookup tables.
388 (opname_lookup_compare): Replace with ...
389 (xtensa_isa_name_compare): ... this function. Use strcasecmp.
390 (xtensa_insn_maxlength): Rename to ...
391 (xtensa_isa_maxlength): ... this.
392 (xtensa_insn_length): Delete.
393 (xtensa_insn_length_from_first_byte): Replace with ...
394 (xtensa_isa_length_from_chars): ... this function.
395 (xtensa_num_opcodes): Rename to ...
396 (xtensa_isa_num_opcodes): ... this.
397 (xtensa_isa_num_pipe_stages, xtensa_isa_num_formats,
398 xtensa_isa_num_regfiles, xtensa_isa_num_stages,
399 xtensa_isa_num_sysregs, xtensa_isa_num_interfaces,
400 xtensa_isa_num_funcUnits, xtensa_format_name, xtensa_format_lookup,
401 xtensa_format_decode, xtensa_format_encode, xtensa_format_length,
402 xtensa_format_num_slots, xtensa_format_slot_nop_opcode,
403 xtensa_format_get_slot, xtensa_format_set_slot): New functions.
404 (xtensa_opcode_lookup): Add error handling.
405 (xtensa_decode_insn): Replace with ...
406 (xtensa_opcode_decode): ... this function, with new format and
407 slot parameters. Add error handling.
408 (xtensa_encode_insn): Replace with ...
409 (xtensa_opcode_encode): ... this function, which does the encoding via
410 one of the entries in the "encode_fns" array. Add error handling.
411 (xtensa_opcode_name): Add error handling.
412 (xtensa_opcode_is_branch, xtensa_opcode_is_jump, xtensa_opcode_is_loop,
413 xtensa_opcode_is_call): New.
414 (xtensa_num_operands): Replace with ...
415 (xtensa_opcode_num_operands): ... this function. Add error handling.
416 (xtensa_opcode_num_stateOperands,
417 xtensa_opcode_num_interfaceOperands, xtensa_opcode_num_funcUnit_uses,
418 xtensa_opcode_funcUnit_use, xtensa_operand_name,
419 xtensa_operand_is_visible): New.
420 (xtensa_get_operand, xtensa_operand_kind): Delete.
421 (xtensa_operand_inout): Add error handling and special-case for
422 "sout" operands.
423 (xtensa_operand_get_field, xtensa_operand_set_field): Rewritten to
424 operate on one slot of an instruction. Added error handling.
425 (xtensa_operand_encode): Handle default operands with no encoding
426 functions. Check for success by comparing against decoded value.
427 Add error handling.
428 (xtensa_operand_decode): Handle default operands. Return decoded value
429 through argument pointer. Add error handling.
430 (xtensa_operand_is_register, xtensa_operand_regfile,
431 xtensa_operand_num_regs, xtensa_operand_is_known_reg): New.
432 (xtensa_operand_isPCRelative): Rename to ...
433 (xtensa_operand_is_PCrelative): ... this. Add error handling.
434 (xtensa_operand_do_reloc, xtensa_operand_undo_reloc): Return value
435 through argument pointer. Add error handling.
436 (xtensa_stateOperand_state, xtensa_stateOperand_inout,
437 xtensa_interfaceOperand_interface, xtensa_regfile_lookup,
438 xtensa_regfile_lookup_shortname, xtensa_regfile_name,
439 xtensa_regfile_shortname, xtensa_regfile_view_parent,
440 xtensa_regfile_num_bits, xtensa_regfile_num_entries,
441 xtensa_state_lookup, xtensa_state_name, xtensa_state_num_bits,
442 xtensa_state_is_exported, xtensa_sysreg_lookup,
443 xtensa_sysreg_lookup_name, xtensa_sysreg_name, xtensa_sysreg_number,
444 xtensa_sysreg_is_user, xtensa_interface_lookup, xtensa_interface_name,
445 xtensa_interface_num_bits, xtensa_interface_inout,
446 xtensa_interface_has_side_effect, xtensa_funcUnit_lookup,
447 xtensa_funcUnit_name, xtensa_funcUnit_num_copies): New.
448 * xtensa-modules.c: Rewrite to use new data structures.
449 * reloc.c (BFD_RELOC_XTENSA_DIFF8, BFD_RELOC_XTENSA_DIFF16,
450 BFD_RELOC_XTENSA_DIFF32, BFD_RELOC_XTENSA_SLOT0_OP,
451 BFD_RELOC_XTENSA_SLOT1_OP, BFD_RELOC_XTENSA_SLOT2_OP,
452 BFD_RELOC_XTENSA_SLOT3_OP, BFD_RELOC_XTENSA_SLOT4_OP,
453 BFD_RELOC_XTENSA_SLOT5_OP, BFD_RELOC_XTENSA_SLOT6_OP,
454 BFD_RELOC_XTENSA_SLOT7_OP, BFD_RELOC_XTENSA_SLOT8_OP,
455 BFD_RELOC_XTENSA_SLOT9_OP, BFD_RELOC_XTENSA_SLOT10_OP,
456 BFD_RELOC_XTENSA_SLOT11_OP, BFD_RELOC_XTENSA_SLOT12_OP,
457 BFD_RELOC_XTENSA_SLOT13_OP, BFD_RELOC_XTENSA_SLOT14_OP,
458 BFD_RELOC_XTENSA_SLOT0_ALT, BFD_RELOC_XTENSA_SLOT1_ALT,
459 BFD_RELOC_XTENSA_SLOT2_ALT, BFD_RELOC_XTENSA_SLOT3_ALT,
460 BFD_RELOC_XTENSA_SLOT4_ALT, BFD_RELOC_XTENSA_SLOT5_ALT,
461 BFD_RELOC_XTENSA_SLOT6_ALT, BFD_RELOC_XTENSA_SLOT7_ALT,
462 BFD_RELOC_XTENSA_SLOT8_ALT, BFD_RELOC_XTENSA_SLOT9_ALT,
463 BFD_RELOC_XTENSA_SLOT10_ALT, BFD_RELOC_XTENSA_SLOT11_ALT,
464 BFD_RELOC_XTENSA_SLOT12_ALT, BFD_RELOC_XTENSA_SLOT13_ALT,
465 BFD_RELOC_XTENSA_SLOT14_ALT): Add new relocations.
466 * Makefile.am (xtensa-isa.lo, xtensa-modules.lo): Update dependencies.
467 * Makefile.in: Regenerate.
468 * bfd-in2.h: Likewise.
469 * libbfd.h: Likewise.
470
99022dfb
RS
4712004-10-07 Richard Sandiford <rsandifo@redhat.com>
472
473 * elf64-mips.c (mips_elf64_write_rel): Use STN_UNDEF for relocs
474 against the absolute section.
475 (mips_elf64_write_rela): Likewise.
476
b67ae299
NC
4772004-10-07 Jan Beulich <jbeulich@novell.com>
478
479 * elf.c (elf_find_function): Don't generally check for matching
480 section, just for non-file symbols. Remove redunant comparison
481 for the latter.
482 * elf32-arm.h (arm_elf_find_function): Likewise.
483
8fdd7217
NC
4842004-10-07 Jeff Baker <jbaker@qnx.com>
485
486 * elflink.c (_bfd_elf_add_dynamic_entry): Add code to warn if
487 adding a DT_TEXTREL to a shared object and --warn-shared-textrel
488 was specified.
489
073a2dc3
RM
4902004-10-04 Roland McGrath <roland@redhat.com>
491
492 * hash.c (bfd_hash_set_default_size): Use const for table.
493 Use size_t instead of int for variable compared to sizeof results.
494
7785be14
AM
4952004-10-05 Alan Modra <amodra@bigpond.net.au>
496
497 PR 425
498 * syms.c (_bfd_stab_section_find_nearest_line): Ignore R_*_NONE relocs.
499
40a18ebd
NC
5002004-10-01 Paul Brook <paul@codesourcery.com>
501
502 * elf32-arm.h (elf32_arm_fake_sections,
503 is_arm_elf_unwind_section_name, elf32_arm_section_from_shdr): New
504 functions.
505 (elf_backend_fake_sections, elf_backend_section_from_shdr): Define.
506
8935b81f
AM
5072004-10-01 Alan Modra <amodra@bigpond.net.au>
508
509 * elf-bfd.h (struct eh_cie_fde): Add need_relative and
510 need_lsda_relative.
511 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Set
512 need_relative or need_lsda_relative if we are processing an
513 offset for a reloc on a FDE initial loc or LSDA field
514 respectively.
515 (_bfd_elf_write_section_eh_frame): Test need_relative and
516 need_lsda_relative in place of corresponding make_* field
517 when deciding to use pc-relative encodings.
518
eeac373a
PB
5192004-09-30 Paul Brook <paul@codesourcery.com>
520
521 * elf32-arm.h (bfd_elf32_arm_set_target_relocs): Handle "abs"
522 target2 relocation type.
523
7479dfd4
L
5242004-09-30 H.J. Lu <hongjiu.lu@intel.com>
525
526 PR 414
527 * elflink.c (_bfd_elf_merge_symbol): Check TLS symbol.
528
0dd132b6
NC
5292004-09-30 Paul Brook <paul@codesourcery.com>
530
531 * reloc.c: Add BFD_RELOC_ARM_SMI.
532 * bfd-in2.h: Regenerate.
533 * libbfd.h: Ditto.
534
1ba54ee0
AM
5352004-09-24 Alan Modra <amodra@bigpond.net.au>
536
537 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Add output section
538 vma and output offset to address.
539 * simple.c (simple_save_output_info): Only set output section
540 and offset for debug sections, or those not already set up by
541 the linker.
542 (bfd_simple_get_relocated_section_contents): Update comment.
543
5efb6261
AM
5442004-09-24 Alan Modra <amodra@bigpond.net.au>
545
546 * elf.c (IS_LOADED): Delete.
547 (assign_file_positions_for_segments): Just test SEC_LOAD instead.
548 Restore SEC_HAS_CONTENTS test to the one place it was used prior
549 to 2004-09-22.
550
fca870e4
AM
5512004-09-23 Alan Modra <amodra@bigpond.net.au>
552
553 PR gas/396
554 * elf32-sparc.c (elf32_sparc_final_write_processing): Handle
555 bfd_mach_sparc_sparclet and bfd_mach_sparc_sparclite. Remove
556 redundant assignment of EM_SPARC.
557
c86696a3
BF
5582004-09-22 Brian Ford <ford@vss.fsi.com>
559
560 * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
561 alignment for .rdata sections so sse[2] code works with gcc >= 3.3.3
562 constants.
563 * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
564
73adb214
AM
5652004-09-22 Alan Modra <amodra@bigpond.net.au>
566
567 * elf32-ppc.c (ppc_elf_modify_segment_map): Delete.
568 (elf_backend_modify_segment_map): Don't define.
569
b301b248
AM
5702004-09-22 Alan Modra <amodra@bigpond.net.au>
571
572 * elf.c (IS_LOADED): Define.
573 (assign_file_positions_for_segments): Don't round up file offset of
574 PT_LOAD segments containing no SEC_LOAD sections, instead round down.
575 Delete code handling link script adjustment of lma. Do the adjust
576 in later code handling similar ajustments. Remove dead code error
577 check. Warn if section lma would require a negative offset
578 adjustment. Tweak lma adjustment to use p_filesz rather than p_memsz.
579 Use p_vaddr + p_memsz inside section loop in place of voff. Don't
580 update voff in section loop. Change voff in segment loop to be an
581 adjustment on top of "off". Set sec->filepos and update "off" later.
582 Test for loadable sections consistently using IS_LOADED. Similarly,
073a2dc3 583 test for alloc-only sections other than .tbss consistently.
b301b248
AM
584 Don't bother checking SEC_ALLOC in PT_LOAD segments. Remove FIXME.
585 Tidy PT_NOTE handling. Use %B and %A in error messages.
586 (assign_file_positions_except_relocs): Use %B in error message.
587
3f85e526
L
5882004-09-17 H.J. Lu <hongjiu.lu@intel.com>
589
590 * Makefile.am (AUTOMAKE_OPTIONS): Require 1.9.
591 (CONFIG_STATUS_DEPENDENCIES): New.
592 (Makefile): Removed.
593 (config.status): Likewise.
594 * Makefile.in: Regenerated.
595
eb043451
PB
5962004-09-17 Paul Brook <paul@codesourcery.com>
597
598 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add prototype.
599 (bfd_elf32_arm_process_before_allocation): Update prototype.
600 * bfd-in2.h: Regenerate.
601 * bfd/elf32-arm.h (elf32_arm_link_hash_table): Add target2_reloc.
602 (elf32_arm_link_hash_table_create): Set it.
603 (bfd_elf32_arm_process_before_allocation): Remove target1_is_rel.
604 (bfd_elf32_arm_set_target_relocs): New function.
605 (arm_real_reloc_type): New function.
606 (elf32_arm_final_link_relocate): Use it. Handle R_ARM_PREL31 and
607 R_ARM_GOT_PREL. Remove R_ARM_TARGET1.
608 (elf32_arm_gc_sweep_hook): Ditto.
609 (elf32_arm_check_relocs): Ditto.
610 (elf32_arm_relocate_section): Handle R_ARM_GOT_PREL.
611 * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_PREL31 and
612 R_ARM_GOT_TARGET2.
613 (elf32_arm_got_prel): New variable.
614 (elf32_arm_howto_from_type): New function.
615 (elf32_arm_info_to_howto): Use it.
616 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_PREL31 and
617 BFD_RELOC_ARM_TARGET2.
618 * libbfd.h: Regenerate.
619 * reloc.c: Add BFD_RELOC_ARM_TARGET2 and BFD_RELOC_ARM_PREL31.
620
f6e332e6
AM
6212004-09-17 Alan Modra <amodra@bigpond.net.au>
622
623 * ecoff.c: Update u.undef.next refs.
624 * elf64-ppc.c: Likewise.
625 * elflink.c: Likewise.
626 * linker.c: Likewise.
627 * xcofflink.c: Likewise.
628
629 * elf-bfd.h (struct elf_link_hash_entry): Rearrange. Add FIXME to
630 dynamic_def. Combine weakdef and elf_hash_value. Move vtable
631 fields to indirect struct.
632 * elf-m10300.c: Update u.weakdef refs.
633 * elf32-arm.h: Likewise.
634 * elf32-cris.c: Likewise.
635 * elf32-frv.c: Likewise.
636 * elf32-hppa.c: Likewise.
637 * elf32-i370.c: Likewise.
638 * elf32-i386.c: Likewise.
639 * elf32-m32r.c: Likewise.
640 * elf32-m68k.c: Likewise.
641 * elf32-ppc.c: Likewise.
642 * elf32-s390.c: Likewise.
643 * elf32-sh.c: Likewise.
644 * elf32-sparc.c: Likewise.
645 * elf32-vax.c: Likewise.
646 * elf32-xtensa.c: Likewise.
647 * elf64-alpha.c: Likewise.
648 * elf64-hppa.c: Likewise.
649 * elf64-ppc.c: Likewise.
650 * elf64-s390.c: Likewise.
651 * elf64-sh64.c: Likewise.
652 * elf64-sparc.c: Likewise.
653 * elf64-x86-64.c: Likewise.
654 * elfxx-ia64.c: Likewise.
655 * elfxx-mips.c: Likewise.
656 * elflink.c: Likewise. Also u.elf_hash_value.
657 (elf_gc_propagate_vtable_entries_used): Update for h->vtable
658 indirection.
659 (elf_gc_smash_unused_vtentry_relocs): Likewise.
660 (bfd_elf_gc_record_vtinherit): Alloc vtable.
661 (bfd_elf_gc_record_vtentry): Likewise.
662 * elf.c (_bfd_elf_link_hash_newfunc): Use memset.
663
90c0a373
AM
6642004-09-17 Alan Modra <amodra@bigpond.net.au>
665
666 * Makefile.am: Run "make dep-am".
667 * Makefile.in: Regenerate.
668 * bfd-in2.h: Regenerate.
669 * po/SRC-POTFILES.in: Regenerate.
670 * po/bfd.pot: Regenerate.
671
f5385ebf
AM
6722004-09-16 Alan Modra <amodra@bigpond.net.au>
673
674 * elf-bfd.h (struct elf_link_hash_entry): Replace elf_link_hash_flags
675 with bitfields. Make "type" and "other" bitfields too.
676 (ELF_LINK_HASH_REF_REGULAR, ELF_LINK_HASH_DEF_REGULAR,
677 ELF_LINK_HASH_REF_DYNAMIC, ELF_LINK_HASH_DEF_DYNAMIC,
678 ELF_LINK_HASH_REF_REGULAR_NONWEAK, ELF_LINK_HASH_DYNAMIC_ADJUSTED,
679 ELF_LINK_HASH_NEEDS_COPY, ELF_LINK_HASH_NEEDS_PLT, ELF_LINK_NON_ELF,
680 ELF_LINK_HIDDEN, ELF_LINK_FORCED_LOCAL, ELF_LINK_HASH_MARK,
681 ELF_LINK_NON_GOT_REF, ELF_LINK_DYNAMIC_DEF, ELF_LINK_DYNAMIC_WEAK,
682 ELF_LINK_POINTER_EQUALITY_NEEDED): Delete.
683 (ELF_COMMON_DEF_P, WILL_CALL_FINISH_DYNAMIC_SYMBOL): Update.
684 * elf-hppa.h: Update all uses of elf_link_hash_flags.
685 * elf-m10300.c: Likewise.
686 * elf.c: Likewise.
687 * elf32-arm.h: Likewise.
688 * elf32-cris.c: Likewise.
689 * elf32-frv.c: Likewise.
690 * elf32-hppa.c: Likewise.
691 * elf32-i370.c: Likewise.
692 * elf32-i386.c: Likewise.
693 * elf32-m32r.c: Likewise.
694 * elf32-m68k.c: Likewise.
695 * elf32-ppc.c: Likewise.
696 * elf32-s390.c: Likewise.
697 * elf32-sh-symbian.c: Likewise.
698 * elf32-sh.c: Likewise.
699 * elf32-sh64.c: Likewise.
700 * elf32-sparc.c: Likewise.
701 * elf32-vax.c: Likewise.
702 * elf32-xtensa.c: Likewise.
703 * elf64-alpha.c: Likewise.
704 * elf64-hppa.c: Likewise.
705 * elf64-ppc.c: Likewise.
706 * elf64-s390.c: Likewise.
707 * elf64-sh64.c: Likewise.
708 * elf64-sparc.c: Likewise.
709 * elf64-x86-64.c: Likewise.
710 * elflink.c: Likewise.
711 * elfxx-ia64.c: Likewise.
712 * elfxx-mips.c: Likewise.
713 * configure.in (AM_INIT_AUTOMAKE): Set version to 2.15.92.
714 * configure: Regenerate.
715 * aclocal.m4: Regenerate.
716
b6ee372a
AM
7172004-09-16 Alan Modra <amodra@bigpond.net.au>
718
719 * elf32-arm.h (elf32_arm_gc_sweep_hook): Add #ifndef OLD_ARM_ABI
720 around uses of R_ARM_TARGET1.
721 (elf32_arm_check_relocs): Likewise.
722
9c504268
PB
7232004-09-13 Paul Brook <paul@codesourcery.com>
724
725 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
726 prototype.
727 * bfd-in2.h: Regenerate.
728 * libbfd.h: Regenerate.
729 * elf32-arm.h (elf32_arm_link_hash_table): Add target1_is_rel.
730 (elf32_arm_link_hash_table_create): Set target1_is_rel.
731 (bfd_elf32_arm_process_before_allocation): Ditto.
732 (elf32_arm_final_link_relocate): Handle R_ARM_TARGET1.
733 (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto.
734 * elfarm-nabi.c (elf32_arm_howto_table): Rename RELABS to TARGET1.
735 * reloc.c: Ditto.
736
94ea025a
JB
7372004-09-10 Joel Brobecker <brobecker@gnat.com>
738
739 * hpux-core.c (thread_section_p): New function.
740 (hpux_core_core_file_p): Fix computation of offset in call
741 to bfd_seek. Create a ".reg" section from an arbitrary
742 ".reg/<id>" section if none was created after having read
743 all sections.
744
24443139
AS
7452004-09-11 Andreas Schwab <schwab@suse.de>
746
747 * acinclude.m4: Fix spelling of ACX_NONCANONICAL_*.
748 * aclocal.m4: Rebuild.
749 * configure: Rebuild.
750
f4eae89c
JB
7512004-09-10 Joel Brobecker <brobecker@gnat.com>
752
753 * section.c (bfd_sections_find_if): Fix parameter name in
754 comment to match code.
755
e0638f70
AM
7562004-09-10 Alan Modra <amodra@bigpond.net.au>
757
758 * elf.c (assign_file_positions_except_relocs): Assign relocs
759 stored in a bfd section.
760
5e0f5ae3
HPN
7612004-09-08 Hans-Peter Nilsson <hp@axis.com>
762
763 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Reset
764 h->gotplt_refcount to 0, not -1.
765
ada1953e
HPN
7662004-09-07 Hans-Peter Nilsson <hp@axis.com>
767
768 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
769 case R_CRIS_32_GOTPLT>: For internal error message, handle NULL
770 symname.
771 (cris_elf_check_relocs) <case R_CRIS_32_PLT_PCREL>: Don't try to
772 handle symbol visibility here.
773
ee75fd95
AM
7742004-09-07 Alan Modra <amodra@bigpond.net.au>
775
776 * elf64-ppc.c (struct ppc_link_hash_table): Add stub_globals.
777 (is_ppc64_elf_target): Rename from is_ppc64_target. Update all
778 callers.
779 (ppc_stub_name): Remove trailing "+0" on stub name.
780 (create_linkage_sections): Create relocations for
781 branch lookup table when --emit-relocs as well as when --shared.
782 (ppc_build_one_stub): Emit relocs for long branch stubs. Adjust
783 relbrlt test. For --emit-stub-syms, always output a sym even when
784 one already exists on a plt call stub. Put stub type in the stub
785 symbol name.
786 (ppc_size_one_stub): Size long branch stub relocs. Adjust relbrlt
787 test.
788 (ppc64_elf_size_stubs): Count global sym stubs added. Zero
789 reloc_count in stub sections. Adjust relbrlt test.
790 (ppc64_elf_build_stubs): Adjust relbrlt test. Tweak stats output.
791 * elflink.c (bfd_elf_size_dynamic_sections): Fix comment typo.
792 (elf_link_input_bfd): Ignore symbol index zero relocs when checking
793 for relocs against discarded symbols. Fix comments.
794
229fcec5
MM
7952004-09-06 Mark Mitchell <mark@codesourcery.com>
796
797 * elf-bfd.h (_bfd_elf_make_dynamic_segment): Declare it.
798 * elf.c (_bfd_elf_make_dynamic_segment): New function, split out
799 from ...
800 (map_sections_to_segments): ... here. Use it. Assign a file
801 position to the .dynamic section if it is not loadable, but part
802 of the PT_DYNAMIC segment.
803 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
804 offsets, not VMAs, for the BPABI. Do not fill in the header in
805 the .got.plt section for the BPABI.
806 * elfarm-nabi.c (elf32_arm_symbian_modify_segment_map): Add a
807 PT_DYNAMIC segment.
808 (elf_backend_want_got_plt): Define to zero for Symbian OS.
073a2dc3 809
9a0789ec
NC
8102004-09-06 Nick Clifton <nickc@redhat.com>
811
812 * elflink.c (elf_link_add_object_symbols): Set the error code to
813 bfd_error_wrong_format when the input format does not match the
814 output format.
815
7b53ace3
AM
8162004-09-06 Alan Modra <amodra@bigpond.net.au>
817
818 * elf64-ppc.c (is_ppc64_target): New function, extracted from..
819 (ppc64_elf_check_directives): ..here.
820 (ppc64_elf_size_dynamic_sections): Use it here to check bfd type
821 before accessing ppc64_elf_tdata.
822 (ppc64_elf_finish_dynamic_sections): And here too.
823
3e540f25
AM
8242004-09-04 Alan Modra <amodra@bigpond.net.au>
825
826 * bfd.c (_bfd_default_error_handler): Correct loop exit.
827
e5a52504
MM
8282004-09-03 Mark Mitchell <mark@codesourcery.com>
829
830 * config.bfd (arm*-*-symbianelf*): Use OS-specific target vectors.
831 * configure.in (bfd_elf32_bigarm_symbian_vec): Add it.
832 (bfd_elf32_littlearm_symbian_vec): Likewise.
833 * configure: Regenerated.
834 * elf-bfd.h (elf_backend_data): Add dynamic_sec_flags.
835 * elf32-arm.h (PLT_HEADER_SIZE): Do not define.
836 (PLT_ENTRY_SIZE): Likewise.
837 (bfd_vma_elf32_arm_symbian_plt_entry): New
838 variable.
839 (elf32_arm_link_hash_table): Add plt_header_size, plt_entry_size,
840 and symbian_p.
841 (create_got_section): Don't create sections when generating BPABI
842 objects.
843 (elf32_arm_create_dynamic_sections): Tidy.
844 (elf32_arm_link_hash_table_create): Set plt_header_size,
845 plt_entry_size, and symbian_p.
846 (elf32_arm_check_relocs): Do not mark .rel.dyn as loadable when
847 generating BPABI objects.
848 (allocate_dynrelocs): Use htab->plt_header_size, not
849 PLT_HEADER_SIZE. Do not add to .got.plt when
850 generating BPABI objects.
851 (elf32_arm_finish_dynamic_symbol): Generate Symbian OS PLTs.
852 * elfarm-nabi.c: Add SymbianOS target vectors.
853 * elflink.c (_bfd_elf_create_got_section): Use dynamic_sec_flags.
854 (_bfd_elf_link_create_dynamic_sections): Likewise.
855 * elfxx-target.h (ELF_DYNAMIC_SEC_FLAGS): New macro.
856 (elfNN_bed): Use it.
857 * targets.c (bfd_elf32_bigarm_symbian_vec): New variable.
858 (bfd_elf32_littlearm_symbian_vec): Likewise.
859 (_bfd_target_vector): Add them.
860
6e3b6835
NC
8612004-09-03 Nick Clifton <nickc@redhat.com>
862
863 PR 360
864 * coffcode.h (handle_COMDAT): Replace abort with an warning
865 message and allow the scan to continue.
866
595da8c5
AM
8672004-09-02 Alan Modra <amodra@bigpond.net.au>
868
869 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Use static_syms passed
870 in when reading relocs, not our sorted syms. Remove unnecessary
871 var.
872
6723a9f4
EB
8732004-08-31 Eric Botcazou <ebotcazou@libertysurf.fr>
874
875 * elf.c (special_sections): Add .gnu.linkonce.b modelled on .bss.
876
5464f5a1
NN
8772004-08-30 Nathanael Nerode <neroden@gcc.gnu.org>
878
879 * acinclude.m4: Require AC_CANONICAL_TARGET, not AC_CANONICAL_SYSTEM.
880 Include ../config/acx.m4 and use ACX_NONCANONICAL_* where appropriate;
881 replace uses of *_alias with *_noncanonical.
882 * aclocal.m4: Rebuild with aclocal 1.4p6.
883 * Makefile.in: Rebuild with automake 1.4p6.
884 * doc/Makefile.in: Rebuild with automake 1.4p6.
885 * configure.in: Autoupdate with autoupdate 2.59.
886 * config.in: Regenerate with autoheader 2.59.
887 * configure: Regnerate with autoconf 2.59.
888
a7535cf3
AM
8892004-08-28 Alan Modra <amodra@bigpond.net.au>
890
891 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Copy input
892 symbol pointer arrays before modifying.
893
c9727e01
AM
8942004-08-28 Alan Modra <amodra@bigpond.net.au>
895
b91e2ae2 896 * bfd.c (bfd_get_synthetic_symtab): Pass counts and both symbol tables.
c9727e01
AM
897 * elf-bfd.h (_bfd_elf_get_synthetic_symtab): Adjust.
898 * elf.c (_bfd_elf_get_synthetic_symtab): Adjust.
899 * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Adjust.
b91e2ae2
AM
900 * targets.c (struct bfd_target <_bfd_get_synthetic_symtab>): Adjust.
901 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't read symbols.
902 Use both symbol tables on non-relocatable objects. Use a common
903 error exit. Fix "mid" warning.
c9727e01
AM
904 * libbfd.h: Regenerate.
905 * bfd-in2.h: Regenerate.
906
699733f6
AM
9072004-08-28 Alan Modra <amodra@bigpond.net.au>
908
909 * elf64-ppc.c (ppc64_elf_branch_reloc): Check .opd is in a regular
910 object file.
911 (struct sfpr_def_parms): Save some space.
912 (sfpr_define): Here too.
913
914 * elf64-ppc.c (compare_symbols): Put section syms first.
915 (sym_exists_at): New function.
916 (ppc64_elf_get_synthetic_symtab): Use relocs to find code entry
917 points only for relocatable files. Use .opd section contents
918 otherwise. Generally clean up the code.
919
deb0e272
AM
9202004-08-27 Alan Modra <amodra@bigpond.net.au>
921
922 * elf64-ppc.c (STD_R0_0R1, STD_R0_0R12, LD_R0_0R1, LD_R0_0R12,
923 LI_R12_0, STVX_VR0_R12_R0, LVX_VR0_R12_R0, MTLR_R0, SFPR_MAX): Define.
924 (struct sfpr_def_parms): New.
925 (sfpr_define): New function.
926 (savegpr0, savegpr0_tail, restgpr0, restgpr0_tail): New functions.
927 (savegpr1, savegpr1_tail, restgpr1, restgpr1_tail): New functions.
928 (savefpr, savefpr0_tail, restfpr, restfpr0_tail): New functions.
929 (savefpr1_tail, restfpr1_tail): New functions.
930 (savevr, savevr_tail, restvr, restvr_tail): New functions.
931 (MIN_SAVE_FPR, MAX_SAVE_FPR): Don't define.
932 (ppc64_elf_func_desc_adjust): Use sfpr_define in place of existing
933 code. Define all ABI mandated _save and _rest functions.
934
85a84e7a
PB
9352004-08-26 Paul Brook <paul@codesourcery.com>
936
deb0e272 937 * elf32-arm.h (INTERWORK_FLAG): Return true for EABIv3 objects.
85a84e7a 938
688c58f3
AM
9392004-08-26 Alan Modra <amodra@bigpond.net.au>
940
941 * elf32-m32r.c (m32r_elf_relocate_section): Don't compare with
942 TRUE or FALSE.
943
3e95eabc
AM
9442004-08-26 Alan Modra <amodra@bigpond.net.au>
945
946 * elf32-i386.c (elf_i386_relocate_section): Tweak last change so
947 that pcrel correction is applied for R_386_PC32.
948
f855931b
AM
9492004-08-25 Alan Modra <amodra@bigpond.net.au>
950
951 * elf32-i386.c (elf_i386_relocate_section): Zero section contents
952 for R_386_32 and R_386_PC32 relocs against symbols defined in
953 discarded sections.
954
b18c562e
NC
9552004-08-25 Dmitry Diky <diwil@spec.ru>
956
957 * reloc.c (BFD_RELOC_MSP430_2X_PCREL,BFD_RELOC_MSP430_RL_PCREL):
958 Add new relocations.
959 * bfd-in2.h: Regenerate.
f855931b 960 * libbfd.h: Regenerate.
b18c562e
NC
961 * elf32-msp430.c: Clean-up code.
962 (elf_msp430_howto_table): Add new relocation entries.
963 (bfd_elf32_bfd_reloc_type_lookup): New relocation handlers.
964 (msp430_elf_relax_section): New function.
965 (msp430_elf_relax_delete_bytes): New function.
966 (msp430_elf_symbol_address_p): New function.
967
af705ba8
NC
9682004-08-24 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
969
970 * elf32-m32r.c (m32r_elf_relocate_section): Handle
971 R_M32R_SDA16_RELA in the same way as R_M32R_SDA16.
972
ea5158d8
DJ
9732004-08-20 Daniel Jacobowitz <dan@debian.org>
974
975 * elflink.c (_bfd_elf_section_already_linked): Handle
976 SEC_LINK_DUPLICATES_SAME_CONTENTS.
977
49d934f1
MM
9782004-08-19 Mark Mitchell <mark@codesourcery.com>
979
980 * config.bfd (arm*-*-symbianelf*): New target.
981 (arm*-*-eabi*): Likewise.
982
039b3fef
AM
9832004-08-19 Alan Modra <amodra@bigpond.net.au>
984
985 * elf64-ppc.c (ppc_get_stub_entry): Change third param to a
986 "struct ppc_link_hash_entry *".
987 (ppc64_elf_relocate_section): Ditto for type of h. Introduce h_elf
988 to satisfy RELOC_FOR_GLOBAL_SYMBOL.
989
3f764659
JJ
9902004-08-19 Jakub Jelinek <jakub@redhat.com>
991
992 * elf64-ppc.c (ppc64_elf_edit_opd): Support 16 byte long .opd
993 entries (where fd_aux overlaps next entry's fd_func).
994 Add non_overlapping argument, use it.
995 (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, adjust_opd_syms,
996 ppc64_elf_size_stubs, ppc64_elf_relocate_section,
997 ppc64_elf_output_symbol_hook): Use address / 8 instead of address / 24
998 as indexes into opd_sym_map/opd_adjust array.
999 * elf64-ppc.h (ppc64_elf_edit_opd): Adjust prototype.
1000
c09bdfe5
AM
10012004-08-18 Alan Modra <amodra@bigpond.net.au>
1002
1003 * elf64-ppc.c (func_desc_adjust): Give undefined dot-symbols a value
1004 if we can look up their function descriptor in a regular file.
1005
271d0fc3
NC
10062004-08-18 Nick Clifton <nickc@redhat.com>
1007
1008 PR 324
1009 * cofflink.c (coff_link_add_symbols): Check that the comdat
1010 pointer in the coff_section_data structure has been initialised
1011 before using it.
1012
a010d60f
AM
10132004-08-18 Alan Modra <amodra@bigpond.net.au>
1014
1015 PR 338
1016 * elflink.c (bfd_elf_record_link_assignment): Add comment about
1017 changing bfd_link_hash_undefined to bfd_link_hash_new.
1018
90e3cdf2
JJ
10192004-08-17 Jakub Jelinek <jakub@redhat.com>
1020
1021 * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Only define
1022 if not yet defined.
1023 * elf64-ppc.c (bfd_elf64_get_synthetic_symtab): Define.
1024 (synthetic_opd, synthetic_relocatable): New variables.
1025 (compare_symbols, compare_relocs): New helper routines.
1026 (ppc64_elf_get_synthetic_symtab): New function.
1027 * bfd.c (bfd_get_synthetic_symtab): Rename dynsyms argument
1028 to relsyms.
1029 * bfd-in2.h: Regenerated.
1030 * elf.c (_bfd_elf_get_synthetic_symtab): Rename dynsyms argument
1031 to relsyms. Return 0 if abfd is relocatable.
1032
7c2c8505
AM
10332004-08-17 Alan Modra <amodra@bigpond.net.au>
1034
1035 * elflink.h (elf_gc_sweep): Keep non-alloc, non-load sections.
1036
0367ecfb
NC
10372004-08-17 Nick Clifton <nickc@redhat.com>
1038
1039 * (is_arm_mapping_symbol_name): New function - return true
1040 when a symbol name matches the requirements for an ARM mapping
1041 symbol name.
1042 (arm_elf_find_function): New function based on
1043 elf_find_function in elf.c but skipping ARM mapping symbols
1044 and including thumb function symbols.
1045 (elf32_arm_find_nearest_line): Use arm_elf_find_function.
1046 (elf32_arm_output_symbol_hook): Use is_arm_mapping_symbol_name.
1047
2441e016
AM
10482004-08-17 Alan Modra <amodra@bigpond.net.au>
1049
1050 * elf64-ppc.c (ppc64_elf_branch_reloc): New function.
1051 (ppc64_elf_howto_raw): Use ppc64_elf_branch_reloc.
1052 (ppc64_elf_brtaken_reloc): Here too.
1053
35b0ce59
AM
10542004-08-17 Alan Modra <amodra@bigpond.net.au>
1055
1056 * elf64-ppc.c (add_symbol_adjust): Correct mismatched function
1057 symbol visibility.
1058 (ppc64_elf_check_directives): Check that we have the right hash
1059 table before proceeding.
1060
81688140
AM
10612004-08-17 Alan Modra <amodra@bigpond.net.au>
1062
1063 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add "deleted_section".
1064 (adjust_opd_syms): Attach opd syms for deleted entries to one of
1065 the sections that will be discarded.
1066
327c1315
AM
10672004-08-16 Alan Modra <amodra@bigpond.net.au>
1068
1069 * elflink.c (elf_section_complain_discarded): Ignore .fixup.
1070
45fc9e4a
AM
10712004-08-16 Alan Modra <amodra@bigpond.net.au>
1072
1073 * bfd.c (_bfd_default_error_handler): Account for doubled '%' in
1074 free space available.
1075
9dadfa79
AM
10762004-08-16 Alan Modra <amodra@bigpond.net.au>
1077
1078 * pdp11.c (struct pdp11_aout_reloc_external): Delete. Replace
f89c4dec 1079 occurrences with bfd_byte * thoughout file.
9dadfa79
AM
1080
1081 * coff-rs6000.c (do_shared_object_padding): Warning fix.
1082 (xcoff_write_armap_big): Likewise.
1083 (xcoff_write_archive_contents_old): Likewise.
1084 (xcoff_write_archive_contents_big): Likewise.
1085
1086 * elf64-mmix.c (mmix_elf_get_section_contents): Delete declaration.
1087
57e8b36a
NC
10882004-08-13 Nick Clifton <nickc@redhat.com>
1089
1090 * elf32-arm.h: Convert to ISO C90.
1091
a005f94e
AM
10922004-08-13 Alan Modra <amodra@bigpond.net.au>
1093
1094 PR 293
1095 * elf32-hppa.c (elf32_hppa_hide_symbol): Use init_refcount to
1096 zero the plt field.
1097
d003868e
AM
10982004-08-13 Alan Modra <amodra@bigpond.net.au>
1099
1100 * bfd.c (_bfd_default_error_handler): Handle %A and %B.
1101 (bfd_archive_filename, bfd_get_section_ident): Delete.
1102 * ecofflink.c (bfd_ecoff_debug_accumulate_other): Don't call
1103 bfd_archive_filename.
1104 * elflink.c (elf_link_input_bfd): Don't use callbacks->error_handler
1105 to warn about symbols in discarded sections. Use _bfd_error_handler.
1106 * aout-adobe.c (aout_adobe_callback): See below.
1107 * aout-cris.c (swap_ext_reloc_in): ..
1108 * coff-arm.c (find_thumb_glue, find_arm_glue,
1109 coff_arm_relocate_section, bfd_arm_process_before_allocation,
1110 coff_arm_merge_private_bfd_data, _bfd_coff_arm_set_private_flags,
1111 coff_arm_copy_private_bfd_data): ..
1112 * coff-i860.c (i860_reloc_processing): ..
1113 * coff-mcore.c (mcore_coff_unsupported_reloc,
1114 coff_mcore_relocate_section): ..
1115 * coff-ppc.c (coff_ppc_relocate_section): ..
1116 * coff-rs6000.c (xcoff_create_csect_from_smclas
1117 * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
1118 sh_swap_insns, sh_relocate_section): ..
1119 * coff-tic54x.c (tic54x_reloc_processing): ..
1120 * coff-tic80.c (coff_tic80_relocate_section): ..
1121 * coff64-rs6000.c (xcoff64_create_csect_from_smclas): ..
1122 * coffcode.h (styp_to_sec_flags, coff_slurp_line_table,
1123 coff_slurp_symbol_table, coff_classify_symbol,
1124 coff_slurp_reloc_table): ..
1125 * coffgen.c (_bfd_coff_read_string_table): ..
1126 * cofflink.c (coff_link_add_symbols, _bfd_coff_link_input_bfd,
1127 _bfd_coff_generic_relocate_section): ..
1128 * cpu-arm.c (bfd_arm_merge_machines): ..
1129 * cpu-sh.c (sh_merge_bfd_arch): ..
1130 * elf-hppa.h (elf_hppa_relocate_section): ..
1131 * elf.c (bfd_elf_string_from_elf_section, setup_group,
1132 _bfd_elf_setup_group_pointers, bfd_section_from_shdr,
1133 assign_section_numbers, _bfd_elf_symbol_from_bfd_symbol,
1134 copy_private_bfd_data, _bfd_elf_validate_reloc): ..
1135 * elf32-arm.h (find_thumb_glue, find_arm_glue,
1136 bfd_elf32_arm_process_before_allocation, elf32_thumb_to_arm_stub,
1137 elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate,
1138 elf32_arm_relocate_section, elf32_arm_set_private_flags,
1139 elf32_arm_copy_private_bfd_data, elf32_arm_merge_private_bfd_data): ..
1140 * elf32-cris.c (cris_elf_relocate_section, cris_elf_check_relocs,
1141 cris_elf_merge_private_bfd_data
1142 * elf32-frv.c (elf32_frv_relocate_section, elf32_frv_check_relocs): ..
1143 * elf32-gen.c (elf32_generic_link_add_symbols): ..
1144 * elf32-hppa.c (hppa_add_stub, hppa_build_one_stub,
1145 elf32_hppa_check_relocs, get_local_syms, final_link_relocate,
1146 elf32_hppa_relocate_section): ..
1147 * elf32-i370.c (i370_elf_merge_private_bfd_data,
1148 i370_elf_check_relocs, i370_elf_relocate_section): ..
1149 * elf32-i386.c (elf_i386_info_to_howto_rel, elf_i386_check_relocs,
1150 elf_i386_relocate_section): ..
1151 * elf32-m32r.c (m32r_elf_relocate_section,
1152 m32r_elf_merge_private_bfd_data): ..
1153 * elf32-m68hc1x.c (m68hc12_add_stub,
1154 _bfd_m68hc11_elf_merge_private_bfd_data): ..
1155 * elf32-m68k.c (elf_m68k_relocate_section): ..
1156 * elf32-mcore.c (mcore_elf_unsupported_reloc,
1157 mcore_elf_relocate_section): ..
1158 * elf32-ppc.c (ppc_elf_merge_private_bfd_data, bad_shared_reloc,
1159 ppc_elf_check_relocs, ppc_elf_relocate_section,
1160 ppc_elf_begin_write_processing): ..
1161 * elf32-s390.c (elf_s390_check_relocs, invalid_tls_insn,
1162 elf_s390_relocate_section): ..
1163 * elf32-sh-symbian.c (sh_symbian_import_as,
1164 sh_symbian_process_embedded_commands,
1165 sh_symbian_relocate_section): ..
1166 * elf32-sh.c (sh_elf_relax_section, sh_elf_relax_delete_bytes,
1167 sh_elf_swap_insns, sh_elf_relocate_section, sh_elf_check_relocs,
1168 sh_elf_merge_private_data): ..
1169 * elf32-sparc.c (elf32_sparc_check_relocs,
1170 elf32_sparc_relocate_section,
1171 elf32_sparc_merge_private_bfd_data): ..
1172 * elf32-v850.c (v850_elf_check_relocs,
1173 v850_elf_merge_private_bfd_data): ..
1174 * elf32-xtensa.c (elf_xtensa_check_relocs,
1175 elf_xtensa_relocate_section, elf_xtensa_merge_private_bfd_data): ..
1176 * elf64-alpha.c (elf64_alpha_relax_with_lituse,
1177 elf64_alpha_relax_got_load, elf64_alpha_size_got_sections,
1178 elf64_alpha_relocate_section_r, elf64_alpha_relocate_section): ..
1179 * elf64-gen.c (elf64_generic_link_add_symbols): ..
1180 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data, ppc_add_stub,
1181 ppc64_elf_check_relocs, ppc64_elf_edit_opd,
1182 ppc64_elf_relocate_section): ..
1183 * elf64-s390.c (elf_s390_check_relocs, invalid_tls_insn,
1184 elf_s390_relocate_section): ..
1185 * elf64-sh64.c (sh_elf64_relocate_section): ..
1186 * elf64-sparc.c (sparc64_elf_check_relocs,
1187 sparc64_elf_add_symbol_hook, sparc64_elf_relocate_section,
1188 sparc64_elf_merge_private_bfd_data): ..
1189 * elf64-x86-64.c (elf64_x86_64_check_relocs,
1190 elf64_x86_64_relocate_section): ..
1191 * elflink.c (_bfd_elf_add_default_symbol,
1192 _bfd_elf_link_assign_sym_version, elf_link_read_relocs_from_section,
1193 _bfd_elf_link_output_relocs, elf_link_add_object_symbols,
1194 bfd_elf_size_dynamic_sections, elf_link_output_extsym,
1195 elf_get_linked_section_vma, elf_fixup_link_order,
1196 bfd_elf_final_link, bfd_elf_gc_record_vtinherit,
1197 bfd_elf_gc_record_vtinherit, _bfd_elf_section_already_linked): ..
1198 * elfxx-ia64.c (elfNN_ia64_relax_section,
1199 elfNN_ia64_relocate_section, elfNN_ia64_merge_private_bfd_data): ..
1200 * elfxx-mips.c (mips_elf_perform_relocation,
1201 _bfd_mips_elf_check_relocs,
1202 _bfd_mips_elf_merge_private_bfd_data): ..
1203 * ieee.c (ieee_slurp_external_symbols): ..
1204 * ihex.c (ihex_bad_byte, ihex_scan, ihex_read_section): ..
1205 * libbfd.c (_bfd_generic_verify_endian_match): ..
1206 * linker.c (_bfd_generic_link_add_one_symbol,
1207 _bfd_generic_section_already_linked): ..
1208 * pdp11.c (translate_to_native_sym_flags): ..
1209 * pe-mips.c (coff_pe_mips_relocate_section): ..
1210 * peicode.h (pe_ILF_build_a_bfd): ..
1211 * srec.c (srec_bad_byte): ..
1212 * stabs.c (_bfd_link_section_stabs): ..
1213 * xcofflink.c (xcoff_link_add_symbols, xcoff_link_input_bfd): ..
1214 Replace all uses of bfd_archive_filename and bfd_get_section_ident
1215 with corresponding %B and %A in _bfd_error_handler format string.
1216 Replace occurrences of "fprintf (stderr," with _bfd_error_handler
1217 calls to use %A and %B. Fix "against symbol .. from section" and
1218 similar error messages. Combine multiple _bfd_error_handler calls
1219 where they were separated due to bfd_archive_filename deficiencies.
1220 * bfd-in2.h: Regenerate.
1221
6ba842b6
L
12222004-08-12 H.J. Lu <hongjiu.lu@intel.com>
1223
1224 * elf32-i386.c (elf_i386_relocate_section): Report unrecognized
1225 relocation.
1226
99877b66
AM
12272004-08-10 Alan Modra <amodra@bigpond.net.au>
1228
1229 * elf64-ppc.c (struct ppc_link_hash_entry): Add was_undefined.
1230 (struct ppc_link_hash_table): Remove no_multi_toc, multi_toc_needed.
1231 Make emit_stub_syms, stub_error and has_14bit_branch bit-fields.
1232 Add twiddled_syms.
1233 (link_hash_newfunc): Init was_undefined.
1234 (add_symbol_adjust): Don't set undefined dot symbols to defweak;
1235 Use undefweak instead.
1236 (ppc64_elf_check_directives): Fix undefs chain.
1237 (ppc64_elf_next_toc_section): Remove no_multi_toc and multi_toc_needed
1238 references.
1239 (ppc64_elf_size_stubs): Adjust for add_symbol_adjust change.
1240 (undo_symbol_twiddle, ppc64_elf_restore_symbols): New functions.
1241 * elf64-ppc.h (ppc64_elf_restore_symbols): Declare.
1242
ba3bee0b
JJ
12432004-08-09 Jakub Jelinek <jakub@redhat.com>
1244
1245 * elf64-x86-64.c (elf64_x86_64_relocate_section): For -fno-pic
1246 error, test input_section flags rather than sec.
1247
8387904d
AM
12482004-08-09 Alan Modra <amodra@bigpond.net.au>
1249
1250 * elf-bfd.h (struct elf_backend_data): Add
1251 elf_backend_archive_symbol_lookup.
1252 (_bfd_elf_archive_symbol_lookup): Declare.
1253 * elflink.c (_bfd_elf_archive_symbol_lookup): New function..
1254 (elf_link_add_archive_symbols): ..extracted from here. Call the
1255 backend version.
1256 * elfxx-target.h (elf_backend_archive_symbol_lookup): Provide default.
1257 (elfNN_bed): Init new field.
1258 * elf64-ppc.c (elf_backend_check_directives): Define.
1259 (elf_backend_archive_symbol_lookup): Define.
1260 (struct ppc_link_hash_table): Add tls_get_add_fd. Make tls_get_add
1261 a ppc_link_hash_entry pointer.
1262 (get_fdh): Move.
1263 (ppc64_elf_archive_symbol_lookup, opd_entry_value): New functions.
1264 (add_symbol_adjust, ppc64_elf_check_directives): New functions.
1265 (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, func_desc_adjust,
1266 ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup,
1267 ppc64_elf_tls_optimize, allocate_dynrelocs, ppc_type_of_stub,
1268 ppc_build_one_stub, ppc64_elf_size_stubs, ppc64_elf_relocate_section,
1269 ppc64_elf_finish_dynamic_symbol): Handle branch relocs to function
1270 descriptor symbols.
1271
b25116a9
AM
12722004-08-09 Alan Modra <amodra@bigpond.net.au>
1273
8843416a
AM
1274 * elf64-ppc.c (struct ppc_link_hash_entry): Expand adjust_done comment.
1275 (ppc64_elf_add_symbol_hook): Test for NULL section.
1276 (get_sym_h): Formatting.
1277 (ppc64_elf_size_stubs): Include reloc addend in value stored as
1278 stub target_value.
1279
b25116a9
AM
1280 * elf64-ppc.c (ppc64_elf_relocate_section): Combine handling of
1281 long branch stubs with code handling plt and r2off branch stubs.
1282
ccfa59ea
AM
12832004-08-09 Alan Modra <amodra@bigpond.net.au>
1284
1285 * elf-bfd.h (_bfd_elf_gc_mark): Declare.
1286 * elflink.c (elf_link_input_bfd): Formatting.
1287 (_bfd_elf_gc_mark): Rename from elf_gc_mark and make global. Adjust
1288 all callers.
1289 * elf64-ppc.c (struct ppc_link_hash_entry): Remove is_entry.
1290 (link_hash_newfunc): Don't set it.
1291 (ppc64_elf_copy_indirect_symbol): Nor copy it.
1292 (ppc64_elf_mark_entry_syms): Delete.
1293 (ppc64_elf_gc_mark_hook): Mark entry syms here. Also mark opd
1294 sections. Use get_opd_info.
1295 * elf64-ppc.h (ppc64_elf_mark_entry_syms): Delete.
1296
4025353c
AM
12972004-08-09 Alan Modra <amodra@bigpond.net.au>
1298
4f800a42
AM
1299 * elf64-ppc.c (adjust_opd_syms): Fix merge error.
1300
06da1e8e
AM
1301 * elf64-ppc.c (struct ppc_link_hash_table): Remove have_undefweak.
1302 (func_desc_adjust): Don't set have_undefweak.
1303 (ppc64_elf_func_desc_adjust): Don't add an extr nop to sfpr.
1304 (ppc64_elf_relocate_section): NOP out calls to undefweak functions.
1305
34814b9f
AM
1306 * elf64-ppc.c (struct ppc_link_hash_entry): Make "oh" a
1307 "struct ppc_link_hash_entry *". Adjust all references.
1308 (ppc64_elf_hide_symbol): Correct a comment.
1309
4025353c
AM
1310 * elf64-ppc.c (get_opd_info): New function.
1311 (adjust_opd_syms): Use get_opd_info. Define removed symbols as zero.
1312 (ppc64_elf_edit_opd): Use get_opd_info. Check that sym has a dot
1313 before calling get_fdh. Test fdh rather than h before dereferencing
1314 fdh. Mark removed symbols in opd_adjust.
1315 (ppc64_elf_tls_optimize): Don't bother with opd adjustment here.
1316 (ppc64_elf_relocate_section): Use get_opd_info, and handle removed
1317 opd symbols.
1318 (ppc64_elf_output_symbol_hook): Likewise.
1319
db6579d4
PB
13202004-08-06 Paul Brook <paul@codesourcery.com>
1321
1322 * elfarm-nabi.c (elf32_arm_howto_table): Add new EABI relocations.
1323 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_RELABS32,
1324 BFD_RELOC_ARM_ROSEGREL32 and BFD_RELOC_ARM_SBREL32.
1325 * reloc.c: Add BFD_RELOC_ARM_RELABS32, BFD_RELOC_ARM_ROSEGREL32
1326 and BFD_RELOC_ARM_SBREL32.
1327 * bfd-in2.h, bbfd.h: Regenerate.
1328
a4d0f181
TS
13292004-08-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1330
1331 * elfxx-mips.c (mips_elf_calculate_relocation): Test only for
1332 the dynamic link symbol actually in use.
1333
83774818
SC
13342004-08-01 Stephane Carrez <stcarrez@nerim.fr>
1335
1336 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Handle bfd_link_hash_new
1337
a4d0f181 13382004-07-31 Joel Brobecker <brobecker@gnat.com>
00b4930b
TS
1339 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1340
1341 * elfxx-mips.c (_bfd_mips_elf_symbol_processing): Handle
1342 SHN_MIPS_TEXT and SHN_MIPS_DATA.
1343
185d09ad
L
13442004-07-30 H.J. Lu <hongjiu.lu@intel.com>
1345 Nick Clifton <nickc@redhat.com>
1346
1347 PR 290
1348 * bfd.c (_bfd_default_error_handler): Make it global.
1349
1350 * elf-bfd.h (elf_backend_data): Add link_order_error_handler.
1351
1352 * elf.c (assign_section_numbers): Cope gracefully with sections
1353 which have SHF_LINK_ORDER set but no sh_link set up.
1354 * elflink.c (elf_get_linked_section_vma): Likewise.
1355
1356 * elfxx-ia64.c (elf_backend_link_order_error_handler): New. Set
1357 it to NULL.
1358
1359 * elfxx-target.h (elf_backend_link_order_error_handler): New.
1360 Set it to _bfd_default_error_handler.
1361 (elfNN_bed): Add elf_backend_link_order_error_handler.
1362
1363 * libbfd-in.h (_bfd_default_error_handler): New.
1364
1365 * libbfd.h: Regenerated.
1366
7946e94a
JJ
13672004-07-30 Jakub Jelinek <jakub@redhat.com>
1368
1369 * archures.c (bfd_mach_sparc_64bit_p): Define.
1370 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Use it.
1371 * bfd-in2.h: Rebuilt.
1372
1d70c7fb
AO
13732004-07-29 Alexandre Oliva <aoliva@redhat.com>
1374
1375 Introduce SH2a support.
1376 2004-02-18 Corinna Vinschen <vinschen@redhat.com>
1377 * archures.c (bfd_mach_sh2a_nofpu): New.
1378 * bfd-in2.h: Rebuilt.
1379 * cpu-sh.c (SH2A_NOFPU_NEXT): New.
1380 (arch_info_struct): Add sh2a_nofpu.
1381 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a_nofpu.
1382 2003-12-29 DJ Delorie <dj@redhat.com>
1383 * reloc.c: Add relocs for sh2a.
1384 * bfd-in2.h: Regenerate.
1385 * libbfd.hh: Regenerate.
1386 2003-12-01 Michael Snyder <msnyder@redhat.com>
1387 * archures.c (bfd_mach_sh2a): New.
1388 * bfd-in2.h: Rebuilt.
1389 * cpu-sh.c (SH_NEXT, SH2_NEXT, etc.): Change defines to enums.
1390 (SH2A_NEXT): New.
1391 (arch_info_struct): Add sh2a.
1392 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a.
1393
404ed0cf
DA
13942004-07-28 Nick Clifton <nickc@redhat.com>
1395 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1396
1397 PR 273
1398 * som.c (setup_sections): Improve estimation of space sizes in
1399 relocatable objects.
1400
225247f0
JT
14012004-07-27 Jason Thorpe <thorpej@wasabisystems.com>
1402 * config.bfd (hppa*-*-netbsd*): Set targ_defvec to
1403 bfd_elf32_hppa_nbsd_vec. Add bfd_elf32_hppa_linux_vec
1404 to targ_selvecs.
1405 * configure.in (bfd_elf32_hppa_nbsd_vec): Add case.
1406 * configure: Regenerate.
1407 * elf32-hppa.c (elf32_hppa_object_p): Add "elf32-hppa-netbsd"
1408 case that accepts OSABI=NetBSD and OSABI=SysV.
1409 (elf32_hppa_set_gp): For "elf32-hppa-netbsd", set the GP to
1410 the base of .got or .data (if .got does not exist).
1411 (elf32_hppa_post_process_headers): For elf32-hppa-netbsd,
1412 set OSABI=NetBSD.
1413 (TARGET_BIG_SYM): Add bfd_elf32_hppa_nbsd_vec case.
1414 (TARGET_BIG_NAME): Add "elf32-hppa-netbsd" case.
1415 * targets.c (bfd_elf32_hppa_nbsd_vec): Add extern declaration.
1416 (_bfd_target_vector): Add bfd_elf32_hppa_nbsd_vec.
1417
3d7f7666
L
14182004-07-27 H.J. Lu <hongjiu.lu@intel.com>
1419
1420 PR 161/251
1421 * elf-bfd.h (bfd_elf_section_data): Add sec_group.
1422 (elf_sec_group): Defined.
1423 (bfd_elf_match_symbols_in_sections): New prototype.
1424 (_bfd_elf_setup_group_pointers): Likewise.
1425
1426 * elf.c (bfd_elf_discard_group): Abort.
1427 (bfd_elf_set_group_contents): Also include relocation sections.
1428 Remove zero-fill for ld -r.
1429 (_bfd_elf_setup_group_pointers): New function.
1430 (elf_sort_elf_symbol): Likewise.
1431 (elf_sym_name_compare): Likewise.
1432 (bfd_elf_match_symbols_in_sections): Likewise.
1433
1434 * elfcode.h (elf_object_p): Call _bfd_elf_setup_group_pointers.
1435
1436 * elflink.c (match_group_member): New.
1437 (elf_link_input_bfd): Check group member for discarded section.
1438 (try_match_symbols_in_sections): New function.
1439 (already_linked): Likewise.
1440 (_bfd_elf_section_already_linked): Support mixing comdat group
1441 and linkonce section.
1442
1443 * libbfd-in.h (bfd_section_already_linked_table_traverse): New.
1444 * linker.c (bfd_section_already_linked_table_traverse): New.
1445
1446 * libbfd.h: Regenerated.
1447
670ec21d
NC
14482004-07-27 Tomer Levi <Tomer.Levi@nsc.com>
1449
1450 * reloc.c: Add BFD_RELOC_CRX_SWITCH8, BFD_RELOC_CRX_SWITCH16,
1451 BFD_RELOC_CRX_SWITCH32.
1452 * bfd-in2.h: Regenerate.
6cd7f07e 1453 * libbfd.h: Regenerate.
670ec21d
NC
1454 * elf32-crx.c: Support relocation/relaxation of
1455 BFD_RELOC_CRX_SWITCH* types.
1456
2c66dc6c
AM
14572004-07-27 Alan Modra <amodra@bigpond.net.au>
1458
1459 * elf64-ppc.c: Correct "Linker stubs" comment.
1460
38ce5b11
L
14612004-07-26 H.J. Lu <hongjiu.lu@intel.com>
1462
1463 * elf-bfd.h (bfd_elf_section_data): Add a pointer for the
1464 linked-to section.
1465 (elf_linked_to_section): New.
1466
1467 * elf.c (assign_section_numbers): Set up sh_link for
1468 SHF_LINK_ORDER.
1469
1470 * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set sh_info
1471 to sh_link for SHT_IA_64_UNWIND sections.
1472
65da361f
L
14732004-07-22 H.J. Lu <hongjiu.lu@intel.com>
1474
1475 * elflink.c (elf_fixup_link_order): Add _() to error message.
1476
08ccf96b
L
14772004-07-22 H.J. Lu <hongjiu.lu@intel.com>
1478
1479 * elflink.c (elf_fixup_link_order): Issue a warning and flag
1480 an error if failed.
1481
082b7297
L
14822004-07-21 H.J. Lu <hongjiu.lu@intel.com>
1483
1484 * aout-adobe.c (aout_32_section_already_linked): Defined.
1485 * aout-target.h (MY_section_already_linked): Likewise.
1486 * aout-tic30.c (MY_section_already_linked): Likewise.
1487 * binary.c (binary_section_already_linked): Likewise.
1488 * bout.c (b_out_section_already_linked): Likewise.
1489 * coff-alpha.c (_bfd_ecoff_section_already_linked): Likewise.
1490 * coff-mips.c (_bfd_ecoff_section_already_linked): Likewise.
1491 * coffcode.h (coff_section_already_linked): Likewise.
1492 * i386msdos.c (msdos_section_already_linked): Likewise.
1493 * i386os9k.c (os9k_section_already_linked): Likewise.
1494 * ieee.c (ieee_section_already_linked): Likewise.
1495 * ihex.c (ihex_section_already_linked): Likewise.
1496 * mach-o.c (bfd_mach_o_section_already_linked): Likewise.
1497 * mmo.c (mmo_section_already_linked): Likewise.
1498 * nlm-target.h (nlm_section_already_linked): Likewise.
1499 * oasys.c (oasys_section_already_linked): Likewise.
1500 * pef.c (bfd_pef_section_already_linked): Likewise.
1501 * ppcboot.c (ppcboot_section_already_linked): Likewise.
1502 * som.c (som_bfd_discard_group): Likewise.
1503 * srec.c (srec_section_already_linked): Likewise.
1504 * tekhex.c (tekhex_section_already_linked): Likewise.
1505 * versados.c (versados_section_already_linked): Likewise.
1506 * vms.c (vms_section_already_linked): Likewise.
1507 * coff-target.h (_bfd_xcoff_section_already_linked): Likewise.
1508 * xsym.c (bfd_sym_section_already_linked): Likewise.
1509
1510 * bfd-in.h (bfd_section_already_linked_table_init): New.
1511 (bfd_section_already_linked_table_free): Likewise.
1512
1513 * coff-rs6000.c (rs6000coff_vec): Add
1514 _bfd_generic_section_already_linked.
1515 (pmac_xcoff_vec): Likewise.
1516 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
1517 (aix5coff64_vec): Likewise.
1518
1519 * elf-bfd.h (_bfd_elf_section_already_linked): New prototype.
1520 * elflink.c (_bfd_elf_section_already_linked): New function.
1521
1522 * elfxx-target.h (bfd_elfNN_section_already_linked): Defined.
1523
1524 * libbfd-in.h (_bfd_nolink_section_already_linked): Defined.
1525 (_bfd_generic_section_already_linked): New.
1526 (bfd_section_already_linked_hash_entry): Likewise.
1527 (bfd_section_already_linked): Likewise.
1528 (bfd_section_already_linked_table_lookup): Likewise.
1529 (bfd_section_already_linked_table_insert): Likewise.
1530
1531 * linker.c (bfd_section_already_linked): New.
1532 (_bfd_section_already_linked_table): Likewise.
1533 (bfd_section_already_linked_table_lookup): Likewise.
1534 (bfd_section_already_linked_table_insert): Likewise.
1535 (already_linked_newfunc): Likewise.
1536 (bfd_section_already_linked_table_init): Likewise.
1537 (bfd_section_already_linked_table_free): Likewise.
1538 (_bfd_generic_section_already_linked): Likewise.
1539
1540 * section.c (bfd_section): Remove comdat.
1541 (bfd_comdat_info): Moved to ...
1542 * bfd-in.h (coff_comdat_info): Here.
1543 (bfd_coff_get_comdat_section): New.
1544 * coffgen.c (bfd_coff_get_comdat_section): Likewise.
1545 * libcoff-in.h (coff_section_tdata): Add comdat.
1546 * coffcode.h (handle_COMDAT): Updated.
1547 * cofflink.c (coff_link_add_symbols): Likewise.
1548 * ecoff.c (bfd_debug_section): Likewise.
1549
1550 * targets.c (bfd_target): Add _section_already_linked.
1551 (BFD_JUMP_TABLE_LINK): Updated.
1552
1553 * bfd-in2.h: Regenerated.
1554 * libbfd.h: Likewise.
1555 * libcoff.h: Likewise.
1556
0b52efa6
PB
15572003-07-21 Paul Brook <paul@codesourcery.com>
1558
1559 * elflink.c (elf_get_linked_section_vma, compare_link_order,
1560 elf_fixup_link_order): New functions.
1561 (bfd_elf_final_link): Call elf_fixup_link_order.
1562
7e2294f9
AO
15632004-07-21 Alexandre Oliva <aoliva@redhat.com>
1564
1565 * elf-bfd.h (ELF_COMMON_DEF_P): New.
1566 * elflink.c (_bfd_elf_symbol_refs_local_p): Use it to handle
1567 common definitions.
1568 * elf-m10300.c: Use SYMBOL_REFERENCES_LOCAL instead of
1569 _bfd_elf_symbol_refs_local_p.
1570 * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove hack for common
1571 symbols.
1572
e56f61be
L
15732004-07-19 H.J. Lu <hongjiu.lu@intel.com>
1574
1575 * bfd-in.h (dynamic_lib_link_class): Add DYN_NO_ADD_NEEDED and
1576 DYN_NO_NEEDED.
1577 (bfd_elf_get_dyn_lib_class): New prototype.
1578 * elf.c (bfd_elf_get_dyn_lib_class): New function.
1579
1580 * elflink.c (elf_link_add_object_symbols): Check DYN_AS_NEEDED,
1581 DYN_DT_NEEDED and DYN_NO_NEEDED bits to see if a DT_NEEDED
1582 entry is needed. Issue an error if a DT_NEEDED entry is needed
1583 for a file marked DYN_NO_NEEDED.
1584 (elf_link_check_versioned_symbol): Check the DYN_DT_NEEDED bit
1585 for DT_NEEDED tags.
1586
1587 * bfd-in2.h: Regenerated.
1588
27b56da8
DA
15892004-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1590
1591 * elflink.c (elf_section_complain_discarded): Don't complain in
1592 .PARISC.unwind.
1593
bbb268c3
JW
15942004-07-10 James E Wilson <wilson@specifixinc.com>
1595
1596 * elfxx-ia64.c (elfNN_ia64_relax_ldxmov): Remove abfd parameter.
1597 (elfNN_ia64_install_value, elfNN_ia64_relax_brl): Likewise.
1598 (elfNN_ia64_relax_section, elfNN_ia64_relocate_section,
1599 elfNN_ia64_finish_dynamic_symbol, elfNN_ia64_finish_dynamic_sections):
1600 Fix callers.
1601 (elfNN_ia64_relax_brl): Change bfd_get_64 to bfd_getl64. Change
1602 bfd_put_64 to bfd_putl64.
1603 (elfNN_ia64_relax_ldxmov, elfNN_ia64_install_value): Likewise.
2c66dc6c 1604
e525914f
L
16052004-07-09 H.J. Lu <hongjiu.lu@intel.com>
1606
1607 PR 240
1608 * elfxx-ia64.c (elfNN_ia64_relax_section): Only warn br in
1609 .init/.fini sections when trying to relax it.
1610
b1a6d0b1
NC
16112004-07-09 Jie Zhang <zhangjie@magima.com.cn>
1612
1613 * elf.c (assign_file_positions_for_segments): Make sure the
1614 .dynamic section is the first section in the PT_DYNAMIC segment.
1615
1a320fbb
NC
16162004-07-09 Nick Clifton <nickc@redhat.com>
1617
1618 * config.bfd: Change sh-sybmian-elf to sh-*-symbianelf.
1619 * elf32-sh-symbian.c: Rename the sh_find_elf_flags and
1620 sh_elf_get_flags_from_mach functions so that they do not conflict
1621 when this target is built with other sh-elf targets.
1622 * elf32-sh.c (sh_elf_get_flags_from_mach): Remove bogus
1623 suppression of this function.
1624 (sh_elf_find_flags): Likewise.
1625
1fe1f39c
NC
16262004-07-07 Tomer Levi <Tomer.Levi@nsc.com>
1627
1628 * Makefile.am (ALL_MACHINES): Add cpu-crx.lo.
1629 (ALL_MACHINES_CFILES): Add cpu-crx.c.
1630 (BFD32_BACKENDS): Add elf32-crx.lo.
1631 (BFD32_BACKENDS_CFILES): Add elf32-crx.c.
1632 (cpu-crx.lo): New target.
1633 (elf32-crx.lo): New target.
1634 * Makefile.in: Regenerate.
1635 * archures.c (bfd_architecture): Add bfd_{arch,mach}_crx.
1636 (bfd_archures_list): Add bfd_crx_arch.
1637 * bfd-in2.h: Regenerate.
1638 * config.bfd: Handle crx-*-elf*, crx*.
1639 * configure.in: Handle bfd_elf32_crx_vec.
1640 * configure: Regenerate.
1641 * cpu-crx.c: New file.
1642 * elf32-crx.c: Likewise.
1643 * libbfd.h: Regenerate.
1644 * reloc.c: Add BFD_RELOC_CRX_REL4, BFD_RELOC_CRX_REL8,
1645 BFD_RELOC_CRX_REL8_CMP, BFD_RELOC_CRX_REL16, BFD_RELOC_CRX_REL24,
1646 BFD_RELOC_CRX_REL32, BFD_RELOC_CRX_REGREL12, BFD_RELOC_CRX_REGREL22,
1647 BFD_RELOC_CRX_REGREL28, BFD_RELOC_CRX_REGREL32, BFD_RELOC_CRX_ABS16,
1648 BFD_RELOC_CRX_ABS32, BFD_RELOC_CRX_NUM8, BFD_RELOC_CRX_NUM16,
1649 BFD_RELOC_CRX_NUM32, BFD_RELOC_CRX_IMM16 and BFD_RELOC_CRX_IMM32
1650 * targets.c (bfd_elf32_crx_vec): Declare.
1651 (bfd_target_vector): Add bfd_elf32_crx_vec.
1652
85fbca6a
NC
16532004-07-06 Nick Clifton <nickc@redhat.com>
1654
1655 * config.bfd: Add sh-symbian-elf target.
1656 * configure.in: Add bfd_elf32_shl_symbian_vec.
1657 * configure: Regenerate.
1658 * elf-bfd.h (struct elf_backend_data): Add new field
1659 'check_directives'.
1fe1f39c 1660 * elflink.c (elf_link_add_object_symbols): Invoke the
85fbca6a 1661 check_directives function, if defined.
1fe1f39c 1662 * elfxx-target.h: Provide a default, NULL definition for
85fbca6a 1663 check_directives.
1fe1f39c
NC
1664 * targets.c: Add bfd_elf32_shl_symbian_vec.
1665 * elf32-sh.c (sh_elf_swap_insns): Protect against unnecessary
85fbca6a 1666 definition.
1fe1f39c 1667 (elf32_shlin_grok_prstatus, elf32_shlib_grok_psinfo,
85fbca6a 1668 * sh_elf_get_flags_from_mach, sh_elf_find_flags): Likewise.
1fe1f39c 1669 (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Only define if they have
85fbca6a 1670 not already been defined.
1fe1f39c
NC
1671 * elf32-sh64.c: Use SH_TARGET_ALREADY_DEFINED.
1672 * sh-symbian.c: New file. Provide functions to support the
85fbca6a
NC
1673 * sh-symbian-elf target.
1674 * Makefile.am: Add elf32-sh-symbian.c
1675 * Makefile.in: Regenerate.
1fe1f39c 1676
871ec896
JR
16772004-07-05 Andrew Stubbs <andrew.stubbs@superh.com>
1678
1fe1f39c
NC
1679 * elf32-sh.c: Include ../opcodes/sh-opc.h.
1680 * Makefile.am: Ran make dep-am.
1681 * Makefile.in: Ran make dep-in.
871ec896 1682
c87db184
CF
16832004-07-03 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
1684
1685 * cofflink.c (_bfd_coff_generic_relocate_section): Resolve PE weak
1686 externals properly.
1687
06f2f6af
MS
16882004-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
1689
1690 * config.bfd: Add want64 to configuration target s390-*-linux*.
1691
b602c853
L
16922004-07-01 H.J. Lu <hongjiu.lu@intel.com>
1693
1694 * bfd.c (bfd_get_section_ident): New.
1695
1696 * elflink.c (elf_link_read_relocs_from_section): Call
1697 bfd_get_section_ident to identify the section when reporting
1698 error.
1699 (_bfd_elf_link_output_relocs): Likewise.
1700 (elf_link_output_extsym): Likewise.
1701 (elf_link_input_bfd): Likewise.
1702 (bfd_elf_gc_record_vtinherit): Likewise.
1703
1704 * bfd-in2.h: Regenerated.
1705
7a2a6943
NC
17062004-07-01 Jie Zhang <zhangjie@magima.com.cn>
1707 Nick Clifton <nickc@redhat.com>
1708
1709 PR 204
1710 * elfxx-mips.c (_bfd_mips_elf_final_link): Pass the correct number
1711 of section symbols to mips_elf_sort_hash_table ().
1712
cdd3575c
AM
17132004-07-01 Alan Modra <amodra@bigpond.net.au>
1714
1715 * elflink.c (elf_section_ignore_discarded_relocs): Revert last
1716 change. Comment.
1717 (elf_section_complain_discarded): New function. Handle
1718 .gcc_except_table too.
1719 (elf_link_input_bfd): Rewrite handling of relocs against symbols
1720 in discarded sections.
1721 * elf-bfd.h (elf_discarded_section): Protect macro arg.
1722
21a8f7fa
JW
17232004-06-30 James E Wilson <wilson@specifixinc.com>
1724
1725 * elfxx-ia64.c (elfNN_ia64_check_relocs): New local pltoff. Initialize
1726 to NULL. Call get_pltoff if NULL and NEED_PLTOFF is true.
1727
2de26f35
L
17282004-06-30 H.J. Lu <hongjiu.lu@intel.com>
1729
1730 PR 233
1731 * elflink.c (elf_link_input_bfd): Issue an error for non-debug
1732 local references to discarded sections and report their
1733 locations.
1734
72d7a15c
AM
17352004-06-30 Alan Modra <amodra@bigpond.net.au>
1736
1737 * elflink.c (elf_section_ignore_discarded_relocs): Don't test
1738 sec_info_type, test section name instead.
1739
e7f0a167
L
17402004-06-29 H.J. Lu <hongjiu.lu@intel.com>
1741
1742 PR 240
1743 * elfxx-ia64.c (elfNN_ia64_relax_section): Don't relax branch
1744 in .init/.fini sections.
1745
bff5f93a
BW
17462004-06-29 Bob Wilson <bob.wilson@acm.org>
1747
1748 * elf32-xtensa.c (elf_xtensa_relocate_section): Use
1749 bfd_get_section_limit.
1750
b54d4b07
BW
17512004-06-29 Bob Wilson <bob.wilson@acm.org>
1752
1753 * elf32-xtensa.c (elf_xtensa_combine_prop_entries): Don't change the
1754 output section size.
1755
e87a64e1
AM
17562004-06-29 Alan Modra <amodra@bigpond.net.au>
1757
1a23a9e6
AM
1758 * elf64-mmix.c (mmix_set_relaxable_size): Save original size in
1759 rawsize.
1760 (mmix_elf_perform_relocation): Adjust for above change.
1761 (mmix_elf_relocate_section): Likewise.
1762 (mmix_elf_relax_section): Likewise. Use output_section->rawsize.
1763 (mmix_elf_get_section_contents): Delete.
1764 (bfd_elf64_get_section_contents): Delete.
1765 (mmix_elf_relocate_section): Zero stub area.
1766 * linker.c (default_indirect_link_order): Alloc max of section size
1767 and rawsize.
1768 * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
1769 * section.c (bfd_malloc_and_get_section): Likewise.
1770 (struct bfd_section): Update rawsize comment.
1771 * bfd-in2.h: Regenerate.
1772
e87a64e1
AM
1773 * reloc16.c (bfd_coff_reloc16_relax_section): Set rawsize.
1774
07515404
AM
17752004-06-29 Alan Modra <amodra@bigpond.net.au>
1776
1777 * bfd-in.h (bfd_get_section_limit): Define.
1fe1f39c 1778 * reloc.c (bfd_perform_relocation, bfd_install_relocation)
07515404
AM
1779 (_bfd_final_link_relocate): Use bfd_get_section_limit.
1780 * aout-tic30.c (tic30_aout_final_link_relocate): Likewise.
1781 * coff-arm.c (coff_arm_relocate_section): Likewise.
1782 * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): Likewise.
1783 * cpu-ns32k.c (do_ns32k_reloc): Likewise.
1784 (bfd_ns32k_final_link_relocate): Likewise.
1785 * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): Likwise.
1786 * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): Likewise.
1fe1f39c 1787 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc)
07515404 1788 (i860_howto_highadj_reloc, i860_howto_splitn_reloc): Likewise.
1fe1f39c 1789 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc)
07515404
AM
1790 (m32r_elf_generic_reloc, m32r_elf_relocate_section): Likewise.
1791 * elf32-m68hc1x.c (m68hc11_elf_special_reloc): Likewise.
1792 * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
1793 * elf32-or32.c (or32_elf_consth_reloc): Likewise.
1794 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Likewise.
1795 * elf32-s390.c (s390_elf_ldisp_reloc): Likewise.
1796 * elf32-sh.c (sh_elf_reloc_loop): Likewise.
1797 * elf32-sparc.c (sparc_elf_wdisp16_reloc): Likewise.
1798 (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc): Likwise.
1799 * elf32-v850.c (v850_elf_reloc): Likewise.
1800 * elf32-xstormy16.c (xstormy16_elf_24_reloc): Likewise.
1801 * elf32-xtensa.c (bfd_elf_xtensa_reloc): Likewise.
1802 * elf64-alpha.c (elf64_alpha_reloc_gpdisp): Likewise.
1803 * elf64-mips.c (mips_elf64_gprel32_reloc)
1804 (mips16_gprel_reloc): Likewise.
1805 * elf64-mmix.c (mmix_elf_reloc): Likewise.
1806 * elf64-s390.c (s390_elf_ldisp_reloc): Likewise.
1807 * elf64-sparc.c (init_insn_reloc): Likewise.
1808 * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
1fe1f39c
NC
1809 * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp)
1810 (_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_lo16_reloc)
07515404
AM
1811 (_bfd_mips_elf_generic_reloc): Likewise.
1812 * bfd-in2.h: Regenerate.
1813
3722b82f
AM
18142004-06-28 Alan Modra <amodra@bigpond.net.au>
1815
1816 * bfd-in.h (struct stab_info): Move from stabs.c.
1817 * stabs.c (struct stab_link_includes_table): Delete.
1818 (stab_link_includes_lookup): Delete.
1819 (_bfd_write_section_stabs, _bfd_write_stab_strings): Remove one
1820 level of indirection from sinfo parm.
1821 (_bfd_link_section_stabs): Likewise. Set SEC_LINKER_CREATED on
1822 stabstr section. Adjust hash table accesses.
1823 * coff-ppc.c (ppc_bfd_coff_final_link): Do include rawsize in contents
1824 alloc. Adjust stab_info test.
1825 * cofflink.c (_bfd_coff_link_hash_table_init): Clear stab_info.
1826 (_bfd_coff_final_link): Adjust stab_info test.
1827 (_bfd_coff_link_input_bfd): Ignore SEC_LINKER_CREATED sections.
1828 * elf-bfd.h (struct elf_link_hash_table): Include struct stab_info
1829 in place.
1830 * libcoff-in.h (struct coff_link_hash_table): Likewise.
1831 * elf.c (_bfd_elf_link_hash_table_init): Clear stab_info.
1832 * elflink.c (bfd_elf_final_link): Don't attempt to link linker created
1833 stabstr section. Adjust stab_info test.
1834 * libbfd-in.h (_bfd_link_section_stabs, _bfd_write_section_stabs)
1835 (_bfd_write_stab_strings): Adjust prototypes.
1836 * libbfd.h: Regenerate.
1837 * libcoff.h: Regenerate.
1838 * bfd-in2.h: Regenerate.
1839
727e493d
MK
18402004-06-27 Mark Kettenis <kettenis@gnu.org>
1841
1842 From Miod Vallat <miod@online.fr>:
1843 * aoutx.h (NAME(aout,machine_type)): Handle bfd_arch_m88k.
1844
146ccdbb
AO
18452004-06-26 Alexandre Oliva <aoliva@redhat.com>
1846
1847 * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): Delete.
1848 (struct elf32_mn10300_link_hash_entry): Remove
1849 pcrel_relocs_copied.
1850 (mn10300_elf_check_relocs): Only reserve dynamic relocations for
1851 R_MN10300_32. Don't adjust pcrel_relocs_copied.
1852 (mn10300_elf_final_link_relocate): Fail for direct, pc-relative
1853 and gotoff relocations if the symbol doesn't bind locally. Use
1854 _bfd_elf_symbol_refs_local_p to test. Don't create dynamic
1855 relocation for PCREL32.
1856 (mn10300_elf_relocate_section): Use _bfd_elf_symbol_refs_local_p
1857 to test whether a symbol binds locally.
1858 (elf32_mn10300_link_hash_newfunc): Don't initialize
1859 pcrel_relocs_copied.
1860 (_bfd_mn10300_elf_discard_copies): Delete.
1861 (_bfd_mn10300_elf_size_dynamic_sections): Don't call it.
1862
a5fd0812
MK
18632004-06-26 Mark Kettenis <kettenis@gnu.org>
1864
1865 * config.bfd: Replace m88k-*-openbsd* with m88*-*-openbsd*.
1866
22bfad37
JB
18672004-06-25 Joel Brobecker <brobecker@gnat.com>
1868
1869 * som.c (som_set_reloc_info): Correct small typo.
1870
097f809a
NC
18712004-06-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1872
1873 * elf32-m32r.c (m32r_elf_howto_table): Support R_M32R_GOTOFF.
1874 (m32r_elf_relocate_section): Changed for R_M32R_GOTOFF.
1875 (m32r_elf_gcsweep_hook): Likewise.
1876 (m32r_elf_check_relocs): Likewise.
1877 (m32r_elf_howto_table): Added R_M32R_GOTOFF_HI_ULO,
1878 R_M32R_GOTOFF_HI_SLO and R_M32R_GOTOFF_LO.
1879 * reloc.c: Added BFD_RELOC_M32R_GOTOFF_HI_ULO,
1880 BFD_RELOC_M32R_GOTOFF_HI_SLO and BFD_RELOC_M32R_GOTOFF_LO.
f9f2cf5d
NC
1881 * bfd-in2.h: Regenerated.
1882 * libbfd.h: Regenerated.
097f809a 1883
6610a52d
L
18842004-06-24 H.J. Lu <hongjiu.lu@intel.com>
1885
1886 * elf64-x86-64.c (elf64_x86_64_check_relocs): Warn overflow
1887 relocation symbol.
1888 (elf64_x86_64_relocate_section): Issue an error for
1889 R_X86_64_PC8, R_X86_64_PC16 and R_X86_64_PC32 relocations
1890 against global symbols when building shared library.
1891
eea6121a
AM
18922004-06-24 Alan Modra <amodra@bigpond.net.au>
1893
1894 * section.c (struct sec): Rename "_cooked_size" to "size".
1895 Rename "_raw_size" to "rawsize".
1896 (STD_SECTION): Adjust comments.
1897 (bfd_set_section_size, bfd_get_section_contents): Use size.
1898 (bfd_malloc_and_get_section): New function.
1899 * bfd-in.h (bfd_section_size, bfd_get_section_size): Use size.
1900 * coff-sh.c (sh_relax_section): Alloc coff_section_data struct early.
1901 Correctly free reloc and contents memory.
1902 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete FIXME
1903 and fake CIE now that we can shink section size to zero.
1904 (_bfd_elf_write_section_eh_frame): Likewise..
1905 * elf32-ppc.c (ppc_elf_relax_section): Delay reading section contents.
1906 * elf-m10300.c (mn10300_elf_final_link_relocate): Don't use
1907 _bfd_stab_section_offset. Use _bfd_elf_section_offset.
1908 * stabs.c (_bfd_stab_section_offset_): Remove unused args and
1909 unneeded indirection.
1910 * elf.c (_bfd_elf_section_offset): .. and update call.
1911 * libbfd-in.h (_bfd_stab_section_offset): Update prototype.
1912 * libbfd.h: Regenerate.
1913 * bfd-in2.h: Regenerate.
1914
1915 Replace occurrences of "_raw_size" and "_cooked_size" in most places
1916 with "size". Set new "rawsize" for stabs, eh_frame, and SEC_MERGE
1917 sections. Use "rawsize", if non-zero, for bfd_get_section_contents
1918 calls if the section might be a stabs, eh_frame, or SEC_MERGE section.
1919 Similarly use "rawsize", if non-zero, in reloc functions to validate
1920 reloc addresses. Use new bfd_malloc_and_get_section in most places
1921 where bfd_get_section_contents was called. Expand all occurrences of
1922 bfd_section_size and bfd_get_section_size. Rename "raw_size" var in
1923 grok_prstatus and similar functions to "size".
1924 * aix386-core.c (aix386_core_file_p): ..
1925 * aix5ppc-core.c (xcoff64_core_p): ..
1926 * aout-adobe.c (aout_adobe_callback, aout_adobe_write_object_contents,
1927 aout_adobe_set_section_contents): ..
1928 * aout-target.h (callback): ..
1929 * aout-tic30.c (tic30_aout_callback, tic30_aout_final_link_relocate,
1930 MY_bfd_final_link): ..
1931 * aoutf1.h (sunos4_core_file_p): ..
1932 * aoutx.h (some_aout_object_p, adjust_o_magic, adjust_z_magic,
1933 adjust_n_magic, adjust_sizes_and_vmas, translate_from_native_sym_flags,
1934 final_link, aout_link_input_section): ..
1935 * binary.c (binary_object_p, binary_canonicalize_symtab,
1936 binary_set_section_contents): ..
1937 * bout.c (b_out_callback, b_out_write_object_contents,
1938 b_out_set_section_contents, b_out_bfd_relax_section,
1939 b_out_bfd_get_relocated_section_contents): ..
1940 * cisco-core.c (cisco_core_file_validate): ..
1941 * coff-alpha.c (alpha_ecoff_object_p,
1942 alpha_ecoff_get_relocated_section_conten, alpha_relocate_section): ..
1943 * coff-arm.c (coff_arm_relocate_section,
1944 bfd_arm_allocate_interworking_sections): ..
1945 * coff-h8300.c (h8300_reloc16_extra_cases,
1946 h8300_bfd_link_add_symbols): ..
1947 * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): ..
1948 * coff-ppc.c (coff_ppc_relocate_section, ppc_allocate_toc_section,
1949 ppc_bfd_coff_final_link): ..
1950 * coff-rs6000.c (xcoff_reloc_type_br, xcoff_ppc_relocate_section): ..
1951 * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
1952 sh_align_loads, sh_coff_get_relocated_section_contents): ..
1953 * coff64-rs6000.c (xcoff64_write_object_contents,
1954 xcoff64_reloc_type_br, xcoff64_ppc_relocate_section): ..
1955 * coffcode.h (coff_compute_section_file_positions,
1956 coff_write_object_contents): ..
1957 * coffgen.c (make_a_section_from_file, coff_write_symbols,
1958 coff_section_symbol, build_debug_section): ..
1959 * cofflink.c (coff_link_add_symbols, _bfd_coff_final_link,
1960 process_embedded_commands, _bfd_coff_link_input_bfd,
1961 _bfd_coff_write_global_sym): ..
1962 * cpu-arm.c (bfd_arm_update_notes, bfd_arm_get_mach_from_notes): ..
1963 * cpu-ns32k.c (do_ns32k_reloc, _bfd_ns32k_final_link_relocate): ..
1964 * dwarf1.c (parse_line_table, _bfd_dwarf1_find_nearest_line): ..
1965 * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
1966 _bfd_dwarf2_find_nearest_line): ..
1967 * ecoff.c (bfd_debug_section, ecoff_set_symbol_info,
1968 ecoff_compute_section_file_positions,
1969 _bfd_ecoff_write_object_contents, ecoff_indirect_link_order): ..
1970 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame,
1971 _bfd_elf_discard_section_eh_frame_hdr,
1972 _bfd_elf_maybe_strip_eh_frame_hdr, _bfd_elf_eh_frame_section_offset,
1973 _bfd_elf_write_section_eh_frame,
1974 _bfd_elf_write_section_eh_frame_hdr): ..
1975 * elf-hppa.h (elf_hppa_sort_unwind): ..
1976 * elf-m10200.c (mn10200_elf_relax_section,
1977 mn10200_elf_relax_delete_bytes,
1978 mn10200_elf_get_relocated_section_contents): ..
1979 * elf-m10300.c (_bfd_mn10300_elf_create_got_section,
1980 mn10300_elf_check_relocs, mn10300_elf_relax_section,
1981 mn10300_elf_relax_delete_bytes,
1982 mn10300_elf_get_relocated_section_contents,
1983 _bfd_mn10300_elf_adjust_dynamic_symbol,
1984 _bfd_mn10300_elf_discard_copies,
1985 _bfd_mn10300_elf_size_dynamic_sections,
1986 _bfd_mn10300_elf_finish_dynamic_sections): ..
1987 * elf.c (_bfd_elf_print_private_bfd_data, bfd_elf_get_bfd_needed_list,
1988 _bfd_elf_make_section_from_phdr, elf_fake_sections,
1989 bfd_elf_set_group_contents, map_sections_to_segments,
1990 elf_sort_sections, assign_file_positions_for_segments,
1991 SECTION_SIZE, copy_private_bfd_data,
1992 _bfd_elf_get_dynamic_reloc_upper_bound,
1993 _bfd_elf_canonicalize_dynamic_reloc, elfcore_maybe_make_sect,
1994 _bfd_elfcore_make_pseudosection, elfcore_grok_prstatus,
1995 elfcore_grok_lwpstatus, elfcore_grok_win32pstatus,
1996 elfcore_grok_note, elfcore_grok_nto_status, elfcore_grok_nto_gregs,
1997 _bfd_elf_rel_local_sym, _bfd_elf_get_synthetic_symtab): ..
1998 * elf32-arm.h (bfd_elf32_arm_allocate_interworking_sect,
1999 bfd_elf32_arm_process_before_allocation,
2000 elf32_arm_adjust_dynamic_symbol, allocate_dynrelocs,
2001 elf32_arm_size_dynamic_sections, elf32_arm_finish_dynamic_sections,
2002 elf32_arm_write_section): ..
2003 * elf32-cris.c (cris_elf_grok_prstatus,
2004 elf_cris_finish_dynamic_sections, cris_elf_gc_sweep_hook,
2005 elf_cris_adjust_gotplt_to_got, elf_cris_adjust_dynamic_symbol,
2006 cris_elf_check_relocs, elf_cris_size_dynamic_sections,
2007 elf_cris_discard_excess_dso_dynamics,
2008 elf_cris_discard_excess_program_dynamics): ..
2009 * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): ..
2010 * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): ..
2011 * elf32-frv.c (_frvfdpic_add_dyn_reloc, _frvfdpic_add_rofixup,
2012 _frv_create_got_section, _frvfdpic_assign_plt_entries,
2013 elf32_frvfdpic_size_dynamic_sections,
2014 elf32_frvfdpic_modify_segment_map,
2015 elf32_frvfdpic_finish_dynamic_sections): ..
2016 * elf32-h8300.c (elf32_h8_relax_section, elf32_h8_relax_delete_bytes,
2017 elf32_h8_get_relocated_section_contents): ..
2018 * elf32-hppa.c (hppa_build_one_stub, hppa_size_one_stub,
2019 elf32_hppa_adjust_dynamic_symbol, allocate_plt_static,
2020 allocate_dynrelocs, elf32_hppa_size_dynamic_sections, group_sections,
2021 elf32_hppa_size_stubs, elf32_hppa_set_gp, elf32_hppa_build_stubs,
2022 elf32_hppa_finish_dynamic_sections): ..
2023 * elf32-i370.c (i370_elf_adjust_dynamic_symbol,
2024 i370_elf_size_dynamic_sections, i370_elf_check_relocs,
2025 i370_elf_finish_dynamic_sections): ..
2026 * elf32-i386.c (elf_i386_grok_prstatus, elf_i386_adjust_dynamic_symbol,
2027 allocate_dynrelocs, elf_i386_size_dynamic_sections,
2028 elf_i386_relocate_section, elf_i386_finish_dynamic_sections): ..
2029 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
2030 i860_howto_highadj_reloc, i860_howto_splitn_reloc): ..
2031 * elf32-ip2k.c (ip2k_is_switch_table_128,
2032 ip2k_relax_switch_table_128, ip2k_is_switch_table_256,
2033 ip2k_relax_switch_table_256, ip2k_elf_relax_section,
2034 adjust_all_relocations, ip2k_elf_relax_delete_bytes): ..
2035 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc,
2036 m32r_elf_generic_reloc, m32r_elf_adjust_dynamic_symbol,
2037 allocate_dynrelocs, m32r_elf_size_dynamic_sections,
2038 m32r_elf_relocate_section, m32r_elf_finish_dynamic_sections,
2039 m32r_elf_relax_section, m32r_elf_relax_delete_bytes,
2040 m32r_elf_get_relocated_section_contents): ..
2041 * elf32-m68hc11.c (m68hc11_elf_build_one_stub,
2042 m68hc11_elf_size_one_stub, m68hc11_elf_relax_section,
2043 m68hc11_elf_relax_delete_bytes): ..
2044 * elf32-m68hc12.c (m68hc12_elf_build_one_stub,
2045 m68hc12_elf_size_one_stub): ..
2046 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs,
2047 elf32_m68hc11_build_stubs, m68hc11_elf_special_reloc): ..
2048 * elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_gc_sweep_hook,
2049 elf_m68k_adjust_dynamic_symbol, elf_m68k_size_dynamic_sections,
2050 elf_m68k_discard_copies, elf_m68k_finish_dynamic_sections): ..
2051 * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
2052 elf32_mips_grok_prstatus): ..
2053 * elf32-or32.c (or32_elf_consth_reloc): ..
2054 * elf32-ppc.c (ppc_elf_relax_section, ppc_elf_addr16_ha_reloc,
2055 elf_create_pointer_linker_section, ppc_elf_create_linker_section,
2056 ppc_elf_additional_program_headers, ppc_elf_adjust_dynamic_symbol,
2057 allocate_dynrelocs, ppc_elf_size_dynamic_sections,
2058 ppc_elf_finish_dynamic_sections, ppc_elf_grok_prstatus,
2059 ppc_elf_final_write_processing): ..
2060 * elf32-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
2061 allocate_dynrelocs, elf_s390_size_dynamic_sections,
2062 elf_s390_finish_dynamic_sections, elf_s390_grok_prstatus): ..
2063 * elf32-sh.c (sh_elf_reloc_loop, sh_elf_relax_section,
2064 sh_elf_relax_delete_bytes, sh_elf_align_loads,
2065 sh_elf_adjust_dynamic_symbol, allocate_dynrelocs,
2066 sh_elf_size_dynamic_sections, sh_elf_get_relocated_section_contents,
2067 sh_elf_finish_dynamic_sections, elf32_shlin_grok_prstatus): ..
2068 * elf32-sh64-com.c (sh64_address_in_cranges,
2069 sh64_get_contents_type): ..
2070 * elf32-sh64.c (sh64_find_section_for_address,
2071 sh64_elf_final_write_processing): ..
2072 * elf32-sparc.c (sparc_elf_wdisp16_reloc, sparc_elf_hix22_reloc,
2073 sparc_elf_lox10_reloc, elf32_sparc_adjust_dynamic_symbol,
2074 allocate_dynrelocs, elf32_sparc_size_dynamic_sections,
2075 elf32_sparc_relocate_section, elf32_sparc_finish_dynamic_sections): ..
2076 * elf32-v850.c (v850_elf_reloc, v850_elf_relax_section): ..
2077 * elf32-vax.c (elf_vax_check_relocs, elf_vax_adjust_dynamic_symbol,
2078 elf_vax_size_dynamic_sections, elf_vax_discard_copies,
2079 elf_vax_instantiate_got_entries, elf_vax_relocate_section,
2080 elf_vax_finish_dynamic_sections): ..
2081 * elf32-xstormy16.c (xstormy16_elf_24_reloc,
2082 xstormy16_elf_check_relocs, xstormy16_relax_plt_check,
2083 xstormy16_elf_relax_section, xstormy16_elf_always_size_sections,
2084 xstormy16_elf_finish_dynamic_sections): ..
2085 * elf32-xtensa.c (xtensa_read_table_entries,
2086 elf_xtensa_allocate_got_size, elf_xtensa_allocate_local_got_size,
2087 elf_xtensa_size_dynamic_sections, elf_xtensa_do_reloc,
2088 bfd_elf_xtensa_reloc, elf_xtensa_relocate_section,
2089 elf_xtensa_combine_prop_entries, elf_xtensa_finish_dynamic_sections,
2090 elf_xtensa_discard_info_for_section, elf_xtensa_grok_prstatus,
2091 get_relocation_opcode, retrieve_contents, find_relaxable_sections,
2092 collect_source_relocs, is_resolvable_asm_expansion, remove_literals,
2093 relax_section, shrink_dynamic_reloc_sections, relax_property_section,
2094 xtensa_callback_required_dependence): ..
2095 * elf64-alpha.c (elf64_alpha_reloc_gpdisp, elf64_alpha_relax_section,
2096 elf64_alpha_check_relocs, elf64_alpha_adjust_dynamic_symbol,
2097 elf64_alpha_calc_got_offsets_for_symbol, elf64_alpha_calc_got_offsets,
2098 elf64_alpha_size_plt_section, elf64_alpha_size_plt_section_1,
2099 elf64_alpha_always_size_sections, elf64_alpha_calc_dynrel_sizes,
2100 elf64_alpha_size_rela_got_section, elf64_alpha_size_rela_got_1,
2101 elf64_alpha_size_dynamic_sections, elf64_alpha_emit_dynrel,
2102 elf64_alpha_finish_dynamic_sections, elf64_alpha_final_link): ..
2103 * elf64-hppa.c (allocate_dynrel_entries,
2104 elf64_hppa_size_dynamic_sections,
2105 elf64_hppa_finish_dynamic_sections): ..
2106 * elf64-mips.c (mips_elf64_gprel32_reloc, mips16_gprel_reloc,
2107 mips_elf64_canonicalize_dynamic_reloc, mips_elf64_slurp_reloc_table,
2108 elf64_mips_grok_prstatus): ..
2109 * elf64-mmix.c (mmix_elf_perform_relocation, mmix_elf_reloc,
2110 mmix_elf_relocate_section, mmix_elf_final_link,
2111 mmix_set_relaxable_size, _bfd_mmix_after_linker_allocation,
2112 mmix_elf_relax_section, mmix_elf_get_section_contents): ..
2113 * elf64-ppc.c (ppc64_elf_object_p, ppc64_elf_grok_prstatus,
2114 ppc64_elf_check_relocs, ppc64_elf_func_desc_adjust,
2115 ppc64_elf_adjust_dynamic_symbol, ppc64_elf_edit_opd,
2116 allocate_dynrelocs, ppc64_elf_size_dynamic_sections,
2117 ppc_build_one_stub, ppc_size_one_stub, ppc64_elf_next_toc_section,
2118 toc_adjusting_stub_needed, group_sections, ppc64_elf_size_stubs,
2119 ppc64_elf_build_stubs, ppc64_elf_relocate_section,
2120 ppc64_elf_finish_dynamic_sections): ..
2121 * elf64-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
2122 allocate_dynrelocs, elf_s390_size_dynamic_sections,
2123 elf_s390_finish_dynamic_sections): ..
2124 * elf64-sh64.c (sh_elf64_get_relocated_section_contents,
2125 sh_elf64_check_relocs, sh64_elf64_adjust_dynamic_symbol,
2126 sh64_elf64_discard_copies, sh64_elf64_size_dynamic_sections,
2127 sh64_elf64_finish_dynamic_sections): ..
2128 * elf64-sparc.c (sparc64_elf_slurp_reloc_table, init_insn_reloc,
2129 sparc64_elf_check_relocs, sparc64_elf_adjust_dynamic_symbol,
2130 sparc64_elf_size_dynamic_sections, sparc64_elf_relocate_section,
2131 sparc64_elf_finish_dynamic_symbol,
2132 sparc64_elf_finish_dynamic_sections): ..
2133 * elf64-x86-64.c (elf64_x86_64_grok_prstatus,
2134 elf64_x86_64_adjust_dynamic_symbol, allocate_dynrelocs,
2135 elf64_x86_64_size_dynamic_sections, elf64_x86_64_relocate_section,
2136 elf64_x86_64_finish_dynamic_sections): ..
2137 * elfarm-nabi.c (elf32_arm_nabi_grok_prstatus): ..
2138 * elfcode.h (elf_slurp_reloc_table): ..
2139 * elflink.c (_bfd_elf_create_got_section, elf_add_dt_needed_tag,
2140 elf_finalize_dynstr, elf_link_add_object_symbols,
2141 bfd_elf_size_dynamic_sections, elf_link_sort_relocs,
2142 elf_link_input_bfd, bfd_elf_final_link, bfd_elf_discard_info): ..
2143 * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
2144 elf32_mips_grok_prstatus): ..
2145 * elfxx-ia64.c (elfNN_ia64_relax_section, allocate_dynrel_entries,
2146 elfNN_ia64_size_dynamic_sections, elfNN_ia64_install_dyn_reloc,
2147 elfNN_ia64_choose_gp, elfNN_ia64_final_link,
2148 elfNN_ia64_finish_dynamic_sections): ..
2149 * elfxx-mips.c (mips_elf_create_procedure_table,
2150 mips_elf_check_mips16_stubs, _bfd_mips_elf_gprel16_with_gp,
2151 _bfd_mips_elf_hi16_reloc, _bfd_mips_elf_generic_reloc,
2152 mips_elf_global_got_index, mips_elf_multi_got,
2153 mips_elf_create_compact_rel_section, mips_elf_calculate_relocation,
2154 mips_elf_allocate_dynamic_relocations,
2155 mips_elf_create_dynamic_relocation, _bfd_mips_elf_fake_sections,
2156 _bfd_mips_relax_section, _bfd_mips_elf_adjust_dynamic_symbol,
2157 _bfd_mips_elf_always_size_sections,
2158 _bfd_mips_elf_size_dynamic_sections,
2159 _bfd_mips_elf_finish_dynamic_symbol,
2160 _bfd_mips_elf_finish_dynamic_sections,
2161 _bfd_mips_elf_modify_segment_map, _bfd_mips_elf_discard_info,
2162 _bfd_mips_elf_write_section, _bfd_mips_elf_set_section_contents,
2163 _bfd_elf_mips_get_relocated_section_contents,
2164 _bfd_mips_elf_final_link, _bfd_mips_elf_merge_private_bfd_data): ..
2165 * hp300hpux.c (callback): ..
2166 * hppabsd-core.c (make_bfd_asection): ..
2167 * hpux-core.c (make_bfd_asection): ..
2168 * i386linux.c (linux_link_create_dynamic_sections,
2169 bfd_i386linux_size_dynamic_sections, linux_finish_dynamic_link): ..
2170 * i386msdos.c (msdos_write_object_contents): ..
2171 * i386os9k.c (os9k_callback, os9k_write_object_contents,
2172 os9k_set_section_contents): ..
2173 * ieee.c (parse_expression, ieee_slurp_external_symbols,
2174 ieee_slurp_sections, ieee_slurp_debug, ieee_slurp_section_data,
2175 ieee_write_section_part, do_with_relocs, do_as_repeat,
2176 do_without_relocs, ieee_write_debug_part, init_for_output,
2177 ieee_set_section_contents): ..
2178 * ihex.c (ihex_scan, ihex_read_section, ihex_get_section_contents): ..
2179 * irix-core.c (do_sections, make_bfd_asection): ..
2180 * libaout.h (aout_section_merge_with_text_p): ..
2181 * libbfd.c (_bfd_generic_get_section_contents,
2182 _bfd_generic_get_section_contents_in_window): ..
2183 * linker.c (default_indirect_link_order): ..
2184 * lynx-core.c (make_bfd_asection): ..
2185 * m68klinux.c (linux_link_create_dynamic_sections,
2186 bfd_m68klinux_size_dynamic_sections, linux_finish_dynamic_link): ..
2187 * mach-o.c (bfd_mach_o_make_bfd_section,
2188 bfd_mach_o_scan_read_dylinker, bfd_mach_o_scan_read_dylib,
2189 bfd_mach_o_scan_read_thread, bfd_mach_o_scan_read_symtab,
2190 bfd_mach_o_scan_read_segment): ..
2191 * merge.c (_bfd_add_merge_section, record_section, merge_strings,
2192 _bfd_merge_sections): ..
2193 * mmo.c (mmo_find_sec_w_addr, mmo_get_spec_section, mmo_get_loc,
2194 mmo_map_set_sizes, mmo_canonicalize_symtab,
2195 mmo_internal_write_section, mmo_write_object_contents): ..
2196 * netbsd-core.c (netbsd_core_file_p): ..
2197 * nlm32-alpha.c (nlm_alpha_read_reloc, nlm_alpha_write_import,
2198 nlm_alpha_set_public_section): ..
2199 * nlm32-ppc.c (nlm_powerpc_read_reloc, nlm_powerpc_write_reloc): ..
2200 * nlm32-sparc.c (nlm_sparc_write_import): ..
2201 * nlmcode.h (add_bfd_section, nlm_swap_auxiliary_headers_in,
2202 nlm_compute_section_file_positions): ..
2203 * oasys.c (oasys_object_p, oasys_slurp_section_data,
2204 oasys_write_sections, oasys_write_data, oasys_set_section_contents): ..
2205 * opncls.c (get_debug_link_info): ..
2206 * osf-core.c (make_bfd_asection): ..
2207 * pdp11.c (some_aout_object_p, adjust_o_magic, adjust_z_magic,
2208 adjust_n_magic, adjust_sizes_and_vmas, squirt_out_relocs,
2209 final_link, aout_link_input_section): ..
2210 * peXXigen.c (_bfd_XXi_swap_sym_in, _bfd_XXi_swap_aouthdr_out,
2211 pe_print_idata, pe_print_edata, pe_print_pdata, pe_print_reloc): ..
2212 * pef.c (bfd_pef_make_bfd_section, bfd_pef_print_loader_section,
2213 bfd_pef_scan_start_address, bfd_pef_parse_symbols): ..
2214 * ppcboot.c (ppcboot_object_p, ppcboot_canonicalize_symtab): ..
2215 * ptrace-core.c (ptrace_unix_core_file_p): ..
2216 * reloc.c (bfd_perform_relocation, bfd_install_relocation,
2217 _bfd_final_link_relocate, bfd_generic_relax_section,
2218 bfd_generic_get_relocated_section_contents): ..
2219 * reloc16.c (bfd_coff_reloc16_relax_section,
2220 bfd_coff_reloc16_get_relocated_section_c): ..
2221 * riscix.c (riscix_some_aout_object_p): ..
2222 * rs6000-core.c (read_hdr, make_bfd_asection): ..
2223 * sco5-core.c (make_bfd_asection): ..
2224 * simple.c (bfd_simple_get_relocated_section_contents): ..
2225 * som.c (som_object_setup, setup_sections, som_prep_headers,
2226 som_write_fixups, som_begin_writing, bfd_section_from_som_symbol,
2227 som_set_reloc_info, som_get_section_contents,
2228 som_bfd_link_split_section): ..
2229 * sparclinux.c (linux_link_create_dynamic_sections,
2230 bfd_sparclinux_size_dynamic_sections, linux_finish_dynamic_link): ..
2231 * srec.c (srec_scan, srec_read_section, srec_get_section_contents): ..
2232 * stabs.c (_bfd_link_section_stabs, _bfd_discard_section_stabs,
2233 _bfd_write_stab_strings, _bfd_stab_section_offset): ..
2234 * sunos.c (sunos_read_dynamic_info, sunos_create_dynamic_sections,
2235 bfd_sunos_size_dynamic_sections, sunos_scan_std_relocs,
2236 sunos_scan_ext_relocs, sunos_scan_dynamic_symbol,
2237 sunos_write_dynamic_symbol, sunos_check_dynamic_reloc,
2238 sunos_finish_dynamic_link): ..
2239 * syms.c (_bfd_stab_section_find_nearest_line): ..
2240 * tekhex.c (first_phase, tekhex_set_section_contents,
2241 tekhex_write_object_contents): ..
2242 * trad-core.c (trad_unix_core_file_p): ..
2243 * versados.c (process_esd, process_otr, process_otr): ..
2244 * vms-gsd.c (_bfd_vms_slurp_gsd, _bfd_vms_write_gsd): ..
2245 * vms-misc.c (add_new_contents): ..
2246 * vms-tir.c (check_section, new_section, _bfd_vms_write_tir): ..
2247 * vms.c (vms_set_section_contents): ..
2248 * xcofflink.c (xcoff_get_section_contents, xcoff_link_add_symbols,
2249 xcoff_sweep, bfd_xcoff_size_dynamic_sections, xcoff_build_ldsyms,
2250 _bfd_xcoff_bfd_final_link, xcoff_link_input_bfd): ..
2251 * xsym.c (bfd_sym_scan): .. See above.
2252
bf8b15af
L
22532004-06-21 H.J. Lu <hongjiu.lu@intel.com>
2254
2255 * elfxx-ia64.c (elfNN_ia64_relax_section): Add addend when
2256 calling _bfd_merged_section_offset only for section symbols.
2257
d1c6de6f
AM
22582004-06-22 Alan Modra <amodra@bigpond.net.au>
2259
2260 * elf32-ppc.c (ppc_elf_relax_section): Implement reference code
2261 for handling SEC_MERGE symbols in relax_section.
2262
aa02cc63
AO
22632004-06-21 Alexandre Oliva <aoliva@redhat.com>
2264
2265 2003-05-15 Richard Sandiford <rsandifo@redhat.com>
2266 * cpu-h8300.c (compatible): Allow h8300s and h8300sx code to be
2267 linked together. Mark the result as h8300sx code.
2268
aee6f5b4
AO
22692004-06-21 Alexandre Oliva <aoliva@redhat.com>
2270
2271 * elf-bfd.h (struct elf_backend_data): Added
2272 elf_backend_omit_section_dynsym.
2273 (_bfd_elf_link_omit_section_dynsym): Declare.
2274 * elf32-frv.c (_frvfdpic_link_omit_section_dynsym): New.
2275 (elf_backend_omit_section_dynsym): Use it for frvfdpic.
2276 * elflink.c (_bfd_elf_link_omit_section_dynsym): Split out of...
2277 (_bfd_elf_link_renumber_dynsyms): ... this function.
2278 * elfxx-target.h (elf_backend_omit_section_dynsym): Default to
2279 _bfd_elf_link_omit_section_dynsym).
2280 (elfNN_bed): Added elf_backend_omit_section_dynsym.
2281
05576f10
NC
22822004-06-21 Nick Clifton <nickc@redhat.com>
2283
2284 * coffcode.h (styp_to_sec_flags): Ignore IMAGE_SCN_MEM_NOT_PAGED
2285 flags.
2286
02d5a37b
JG
22872004-06-17 Jerome Guitton <guitton@gnat.com>
2288
2289 * bfd-in.h (bfd_cache_close_all): New function declaration.
2290 * bfd-in2.h: Regenerate.
2291 * cache.c (bfd_cache_close_all): New function definition.
2292
d2bef492
MK
22932004-06-16 Mark Kettenis <kettenis@gnu.org>
2294
2295 * configure.in: Don't set COREFILE to trad-core.lo for FreeBSD
2296 4.10 and beyond.
2297 * configure: Regenerate.
2298
8528d62e
DJ
22992004-06-16 Daniel Jacobowitz <dan@debian.org>
2300
2301 * elf32-ppc.c (ppc_elf_create_linker_section): Create symbols in
2302 the pre-existing section.
2303
911d08a7
AM
23042004-06-15 Alan Modra <amodra@bigpond.net.au>
2305
2306 * section.c (struct sec): Remove usused flags. Reorganize a little.
2307 (bfd_get_section_size_before_reloc): Delete.
2308 (bfd_get_section_size_after_reloc): Delete.
2309 (STD_SECTION): Update.
2310 (bfd_get_section_size_now): Delete.
2311 (bfd_set_section_contents): Don't referece reloc_done.
2312 (bfd_get_section_contents): Remove reloc_done comment.
2313 * bout.c (b_out_bfd_get_relocated_section_contents): Don't set
2314 reloc_done.
2315 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Likewise.
2316 * ecoff.c (bfd_debug_section): Update initializer.
2317 * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents): Ditto.
2318 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
2319 * bfd-in.h (bfd_section_size): Expand.
2320 (bfd_get_section_size): New macro.
2321 * bfd-in2.h: Regenerate.
2322 * coff64-rs6000.c (xcoff64_write_object_contents): Replace
2323 bfd_get_section_size_before_reloc with bfd_get_section_size.
2324 * coffcode.h (coff_write_object_contents): Likewise.
2325 * coffgen.c (build_debug_section): Likewise.
2326 * dwarf1.c (parse_line_table): Likewise.
2327 (_bfd_dwarf1_find_nearest_line): Likewise.
2328 * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
2329 * i386msdos.c (msdos_write_object_contents): Likewise.
2330 * pdp11.c (squirt_out_relocs): Likewise.
2331 * elf32-sh64.c (sh64_find_section_for_address): Remove comment.
2332 * elf64-mmix.c (mmix_elf_final_link): Update comment.
2333
092dcd75
CD
23342004-06-14 Chris Demetriou <cgd@broadcom.com>
2335
2336 * elf32-mips.c (elf_mips_gnu_pcrel32): Add (undoing 2004-04-24
2337 removal) with updated comment.
2338 (bfd_elf32_bfd_reloc_type_lookup): Add back case for
2339 BFD_RELOC_32_PCREL.
2340 (mips_elf32_rtype_to_howto): Add back case for R_MIPS_PC32.
2341 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
2342
3ffa5234
AM
23432004-06-12 Alan Modra <amodra@bigpond.net.au>
2344
2345 * elf64-x86-64.c (elf64_x86_64_relocate_section): Ignore reloc
2346 overflow on branches to undefweaks.
2347
e9edc808
MR
23482004-06-11 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
2349
2350 * coff-alpha.c (alpha_relocate_section): Set used_by_bfd directly
2351 as ecoff_section_data() does not return a valid lvalue.
2352
a873f25a
AO
23532004-06-09 Alexandre Oliva <aoliva@redhat.com>
2354
a9b881be
AO
2355 * elflink.c (elf_sort_symbol): Compare section id, not pointers.
2356 (elf_link_add_object_symbols): Likewise.
2357
a873f25a
AO
2358 * elf-m10300.c (_bfd_mn10300_elf_reloc_type_class): New.
2359 (elf_backend_reloc_type_class): New.
2360
eef0f186
MK
23612004-06-08 Mark Kettenis <kettenis@gnu.org>
2362
2363 * configure.in (hppa*-*-netbsd*, hppa*-*-openbsd): Set COREFILE to
2364 netbsd-core.lo.
2365 * configure: Regenerate.
2366
822392ce
DJ
23672004-06-07 Daniel Jacobowitz <dan@debian.org>
2368
2369 From: Albert Chin-A-Young <china@thewrittenword.com>
2370 * bfd/elf-bfd.h (struct eh_cie_fde): Convert unsigned char bitfields
2371 to unsigned int.
2372
9f2e92c5
L
23732004-05-29 H.J. Lu <hongjiu.lu@intel.com>
2374
2375 * elfxx-ia64.c (elfNN_ia64_relax_section): Undo the last
2376 change.
2377
dd90f1b2
DD
23782004-05-28 DJ Delorie <dj@redhat.com>
2379
2380 * elf-m10300.c (mn10300_elf_relax_section): Preserve reloc addend
2381 for linking, but otherwise adjust reloc for merged sections.
2382
5dd23ec1
L
23832004-05-28 H.J. Lu <hongjiu.lu@intel.com>
2384
2385 * elfxx-ia64.c (elfNN_ia64_relax_section): Properly call
2386 _bfd_merged_section_offset for local symbols.
2387
f6f9408f
JR
23882004-05-28 Andrew Stubbs <andrew.stubbs@superh.com>
2389
2390 * Makefile.am: Regenerate dependencies.
2391 * Makefile.in: Regenerate.
2392 * archures.c: Add bfd_mach_sh3_nommu .
2393 * bfd-in2.h: Regenerate.
2394 * cpu-sh.c: Add sh3-nommu architecture.
2395 (bfd_to_arch_table): Create new table.
2396 (sh_get_arch_from_bfd_mach): Create new function.
2397 (sh_get_arch_up_from_bfd_mach): Create new function.
2398 (sh_merge_bfd_arch): Create new function.
2399 * elf32-sh.c (sh_ef_bfd_table): Add table.
2400 (sh_elf_check_relocs): Replace switch statement with
2401 use of sh_ef_bfd_table .
2402 (sh_elf_get_flags_from_mach): Add new function.
2403 (sh_find_elf_flags): Likewise.
2404 (sh_elf_copy_private_data): Replace most of non-elf contents
2405 with a call to sh_merge_bfd_arch() .
2406
d866f350
MC
24072004-05-27 Michael Chastain <mec.gnu@mindspring.com>
2408
2409 * Makefile.am (bfdver.h): Use explicit filename, not $< .
2410 * Makefile.in: Regenerate.
2411
1055df0f
AO
24122004-05-27 Alexandre Oliva <aoliva@redhat.com>
2413
2414 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Avoid
2415 custom calling conventions for dynamic symbols.
2416 (mn10300_elf_relax_section): Avoid relaxing a function as a local
2417 symbol if it's an alias to a global one.
2418
b3096250
L
24192004-05-26 H.J. Lu <hongjiu.lu@intel.com>
2420
2421 * elf.c (_bfd_elf_make_section_from_shdr): Undo the last
2422 change.
2423
9bb351fd
AO
24242004-05-27 Alexandre Oliva <aoliva@redhat.com>
2425
2426 * elf-m10300.c (mn10300_elf_relax_section): Don't test isym within
2427 loop over hashes.
2428
e49f5022
AM
24292004-05-26 Alan Modra <amodra@bigpond.net.au>
2430
2431 * elf.c (_bfd_elf_make_section_from_shdr): Don't set SEC_EXCLUDE
2432 for SHT_GROUP sections.
2433
57ceae94
AM
24342004-05-25 Alan Modra <amodra@bigpond.net.au>
2435
2436 * elflink.c (elf_link_add_object_symbols): Don't set up merge
2437 section data here..
2438 * elf.c (_bfd_elf_merge_sections): .. Do it here instead.
2439 * merge.c: Formatting. Remove unnecessary casts. Expand
2440 bfd_get_section_alignment macro.
2441 (struct sec_merge_sec_info): Rename "first" to "first_str". Update
2442 use throughout file.
2443 (_bfd_add_merge_section): Rename from _bfd_merge_section. Update
2444 comment. Abort on dynamic or non-SEC_MERGE input. Don't test
2445 section name to determine sinfo group, instead test output section
2446 and alignment.
2447 (_bfd_merge_sections): Add struct bfd_link_info param. Call
2448 _bfd_strip_section_from_output rather than just twiddling flags.
2449 * libbfd-in.h (_bfd_add_merge_section): Rename, update comment.
2450 (_bfd_merge_sections): Update prototype.
2451 * libbfd.h: Regenerate.
2452
c6f8758f 24532004-05-24 Mark Kettenis <kettenis@gnu.org>
d34436e8
MK
2454
2455 * netbsd-core.c: Correctly indent section that sets architecture
2456 from machine ID.
2457
c6f8758f
NC
2458 From Miod Vallat <miod@online.fr>:
2459 * m88kopenbsd.c: New file.
2460 * targets.c (m88k_openbsd_vec): New.
2461 * config.bfd: Add m88k-*-openbsd*.
2462 * configure.in (m88k-*-openbsd*): Set COREFILE to netbsd-core.lo.
2463 (m88kopenbsd_vec): New.
2464 * configure: Regenerate.
2465 * Makefile.am (BFD32_BACKENDS): Add m88kopenbsd.lo.
2466 (BFD32_BACKENDS_CFILES): Add m88kopenbsd.c.
2467 Run "make dep-am".
2468 * Makefile.in: Regenerate.
2469 * po/SRC-POTFILES.in: Regenerate.
2470
7d7e6bc4
NC
24712004-05-24 Nick Clifton <nickc@redhat.com>
2472
2473 * hash.c: Remove bogus node "Changing the default Hash Table Size"
2474 introduced by hash table size patch.
2475
bc286f95
BE
24762004-05-22 Ben Elliston <bje@au.ibm.com>
2477
2478 * configure.in (is_release): Remove.
2479 (bfd_version_date, bfd_version, bfd_version_string): Likewise.
2480 (AC_OUTPUT): Don't output bfdver.h from version.h.
2481 * configure: Regenerate.
2482 * Makefile.am (RELEASE): New variable.
2483 (bfdver.h): New target.
2484 * Makefile.in: Regenerate.
2485 * doc/Makefile.in: Likewise.
2486
8b89a4eb
BE
24872004-05-22 Ben Elliston <bje@au.ibm.com>
2488
2489 * Makefile.am (config.status): Don't depend on version.h.
2490 * Makefile.in: Regenerate.
2491
753731ee
AM
24922004-05-22 Alan Modra <amodra@bigpond.net.au>
2493
2494 * merge.c (_bfd_merged_section_offset): Remove "addend" param.
2495 * libbfd-in.h (_bfd_merged_section_offset): Adjust prototype.
2496 * libbfd.h: Regenerate.
2497 * elf.c (_bfd_elf_rela_local_sym): Adjust call.
2498 (_bfd_elf_rel_local_sym): Likewise.
2499 * elflink.c (_bfd_elf_link_sec_merge_syms): Likewise.
2500 (elf_link_input_bfd): Likewise.
2501 * elf32-ppc.c (ppc_elf_relax_section): Likewise.
2502 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
2503 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
2504 (elfNN_ia64_relocate_section): Likewise.
2505
2d643429
NC
25062004-05-21 Andy Chittenden <achittenden@bluearc.com>
2507
2508 * hash.c (bfd_default_hash_table_size): New variable.
2509 (bfd_hash_table_init): Use new variable instead of DEFAULT_SIZE.
2510 (bfd_hash_set_default_size): New function. Set the default size
2511 to a selected prime number close to the argument. Document new
2512 function.
2513 * bfd-in.h: Add prototype for bfd_hash_set_default_size.
2514 * bfd-in2.h: Regenerate.
2515 * Makefile.am (hash.lo): Add dependency upon libiberty.h.
2516 * Makefile.in: Regenerate.
2517
8377c19c
MK
25182004-05-21 Mark Kettenis <kettenis@gnu.org>
2519
2520 * libaout.h (machine_type): Add M_88K_OPENBSD and M_HPPA_OPENBSD.
2521 * netbsd-core.c (netbsd_core_file_p): Set architecture for alpha,
2522 arm, m68k, m88k and hppa core files.
2523
69fd4758
NC
25242004-05-21 Nick Clifton <nickc@redhat.com>
2525
2526 * bfdio.c (bfd_bread): Do not use iovec if it is NULL.
2527 (bfd_bwrite): Likewise.
2528 (bfd_tell): Likewise.
2529 (bfd_flush): Likewise.
2530 (bfd_stat): Likewise.
2531 (bfd_seek): Likewise.
2532 (bfd_get_mtime): Likewise.
2533 (bfd_get_size): Likewise.
2534
cd917290
BE
25352004-05-19 Ben Elliston <bje@au.ibm.com>
2536
2537 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Comment correction.
2538
1b09e940
NC
25392004-05-19 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
2540
2541 * archive.c (_bfd_get_elt_at_filepos): Cope with a nested archives.
2542 (bfd_generic_openr_next_archived_file): Likewise.
2543
096c35a7
BW
25442004-05-17 Bob Wilson <bob.wilson@acm.org>
2545
2546 * elf32-xtensa.c (xtensa_get_property_section_name): Determine linkonce
2547 section names by inserting a new substring after .gnu.linkonce, except
2548 for .gnu.linkonce.t.* where the "t." is replaced.
2549
eea6121a 25502004-05-17 Adam Nemet <anemet@lnxw.com>
b2d65c0b
NC
2551
2552 * config.bfd (sparc-*-lynxos* case): Add to obsolete list.
2553 (m68-*-lynxos* case): Likewise.
2554 (powerpc-*-lyxnos* case): New case.
2555 (i[3-7]86-*-lynxos* case): Update to LynxOS 4.0 ELF.
2556
80fccad2
BW
25572004-05-17 David Heine <dlheine@tensilica.com>
2558
2559 * aout-target.h (MY_bfd_copy_private_header_data): Define.
2560 * aout-tic30.c (MY_bfd_copy_private_header_data): Define.
2561 * bfd.c (bfd_copy_private_header_data): Define.
2562 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Add entries for new
2563 interface.
2564 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
2565 * coffcode.h (coff_bfd_copy_private_header_data): Define.
2566 * elf-bfd.h (_bfd_elf_copy_private_header_data): Declare.
2567 * elf.c (_bfd_elf_copy_private_section_data): Remove code to set up
2568 segments by calling copy_private_bfd_data.
2569 (_bfd_elf_copy_private_header_data): Define.
2570 * elfxx-target.h (bfd_elfNN_bfd_copy_private_header_data): Define.
2571 * libbfd-in.h (_bfd_generic_bfd_copy_private_header_data): Define.
2572 * libecoff.h (_bfd_ecoff_bfd_copy_private_header_data): Define.
2573 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Define.
2574 * mmo.c (mmo_bfd_copy_private_header_data): Define.
2575 * ppcboot.c (ppcboot_bfd_copy_private_header_data): Define.
2576 * som.c (som_bfd_copy_private_header_data): Define.
2577 * targets.c (BFD_JUMP_TABLE_COPY): Add _bfd_copy_private_header_data.
2578 * vms.c (vms_bfd_copy_private_header_data): Define.
2579 * bfd-in2.h: Regenerate.
2580 * libbfd.h: Regenerate.
2581
c5ae1840
TS
25822004-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2583
2584 * elfxx-mips.c (MINUS_TWO): Define.
2585 (mips_elf_higher, mips_elf_highest,
2586 mips_elf_create_dynamic_relocation): Use MINUS_ONE and MINUS_TWO for
2587 some bfd_vma values.
2588 (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Code cleanup.
2589
a99cf92b
DA
25902004-05-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2591
2592 * som.c (log2): Rename to exact_log2. Adjust all callers.
2593
0da76f83
NC
25942004-05-13 Paul Brook <paul@codesourcery.com>
2595
c273895f 2596 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle
336b9722
NC
2597 dwarf3 format CIE entries. Remove comment about the size of the
2598 ra_column field. It is now correctly deduced.
0da76f83 2599
4b363073
NC
26002004-05-13 Joel Sherrill <joel@oarcorp.com>
2601
2602 * config.bfd (or32-*-rtems*): Switch to elf.
2603
9598fbe5
NC
26042004-05-13 Nick Clifton <nickc@redhat.com>
2605
2606 * po/fr.po: Updated French translation.
2607
8c37241b
JJ
26082004-05-11 Jakub Jelinek <jakub@redhat.com>
2609
2610 * elflink.c (elf_bfd_final_link): Don't output STT_SECTION symbol
2611 into .dynsym if elf_section_data (sec)->dynindx <= 0.
2612 Adjust counting of last_local.
2613 (_bfd_elf_link_renumber_dynsyms): Don't assign dynindx to sections
2614 other than SHT_PROGBITS/SHT_NOBITS and neither for .got/.got.plt/.plt
2615 created by the linker nor !SHF_ALLOC.
2616
2617 * elf32-i386.c (elf_i386_finish_dynamic_sections): Point
2618 DT_PLTGOT to the start of the .got.plt section instead of the
2619 .got output section. Set sh_entsize for .got section in addition
2620 to .got.plt.
2621 (elf_i386_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
2622 is at sgot->output_section->vma.
2623 * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Point
2624 DT_PLTGOT to the start of the .got.plt section instead of the
2625 .got output section.
2626 (elf64_x86_64_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
2627 is at sgot->output_section->vma. Set sh_entsize for .got section
2628 in addition to .got.plt.
2629 * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_RELRO.
2630 (bfd_section_from_phdr): Likewise.
2631 (map_sections_to_segments): Likewise.
2632 (assign_file_positions_for_segments): Likewise.
2633 (get_program_header_size): Likewise.
2634 * elflink.c (bfd_elf_size_dynamic_sections): Set
2635 elf_tdata (output_bfd)->relro from info->relro.
2636 * elf-bfd.h (struct elf_obj_tdata): Add relro field.
2637
3f980e41
AO
26382004-05-08 Alexandre Oliva <aoliva@redhat.com>
2639
2640 * elf32-frv.c (_frvfdpic_add_dyn_reloc): Don't warn when we get
2641 a zero symndx for which we hadn't accounted a dynamic relocation.
2642 (_frvfdpic_add_rofixup): Likewise.
2643
d70270c5 26442004-05-07 Brian Ford <ford@vss.fsi.com>
eea6121a 2645 DJ Delorie <dj@redhat.com>
d70270c5
BF
2646
2647 * coffcode.h (coff_write_object_contents) [COFF_IMAGE_WITH_PE]:
2648 Propagate IMAGE_FILE_LARGE_ADDRESS_AWARE.
2649 * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Recognize
2650 IMAGE_FILE_LARGE_ADDRESS_AWARE. Use PE defines.
2651
7e9f3bd6
AO
26522004-05-07 Alexandre Oliva <aoliva@redhat.com>
2653
2654 * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Return
2655 immediately if there's no link info.
2656 (elf32_frvfdpic_copy_private_bfd_data): New.
2657 (bfd_elf32_bfd_copy_private_bfd_data): Use it for frvfdpic.
2658
eb61d2d6
ZW
26592004-05-06 Zack Weinberg <zack@codesourcery.com>
2660
2661 * dwarf2.c (add_line_info): Also set info->filename to NULL if
2662 filename argument is null; do not call strlen on a null pointer.
2663
ecb2d096
DJ
26642004-05-06 Daniel Jacobowitz <drow@mvista.com>
2665
2666 * elf32-arm.h (elf32_arm_relocate_section): Remove R_ARM_PLT32
2667 special case.
2668
43850d5b
AO
26692004-05-05 Alexandre Oliva <aoliva@redhat.com>
2670
2671 * configure.in (bfd_elf32_frvfdpic_vec): New.
2672 * configure: Rebuilt.
2673 * targets.c (bfd_elf32_frvfdpic_vec): New.
2674 * config.bfd: Enable it on frv-*-elf and frv-*-*linux*, as default
2675 on the latter.
2676 * elf32-frv.c: Prefix all identifiers added for FDPIC support with
2677 frvfdpic instead of frv. Rearrange elf-target macros such that
2678 the FDPIC-specific ones are only defined for this new target
2679 vector.
2680 (bfd_elf32_frvfdpic_vec): Declare.
2681 (IS_FDPIC): New.
2682 (elf32_frv_relocate_section): Use it to enable segment checking
2683 and to control rofixup emission. Add output section vma to
2684 applied relocation in non-LOAD non-ALLOC sections. Use
2685 _bfd_error_handler for errors.
2686 (_frv_create_got_section): Create .rel.got and .rofixup only in
2687 FDPIC. Create non-dynamic _gp at .got+2048 in non-FDPIC, like the
2688 linker script.
2689 (elf32_frvfdpic_size_dynamic_sections): Assume FDPIC.
2690 (elf32_frvfdpic_modify_segment_map): Likewise.
2691 (elf32_frv_finish_dynamic_sections): New, do-nothing.
2692 (elf32_frvfdpic_finish_dynamic_sections): Assume FDPIC. Improve
2693 error message if we miscompute the rofixup size.
2694 (frvfdpic_elf_use_relative_eh_frame): Assume FDPIC.
2695 (frvfdpic_elf_encode_eh_address): Likewise.
2696 (elf32_frv_check_relocs): Reject FDPIC-only relocs in non-FDPIC.
2697 Record relocs only in FDPIC. Make sure _gp is defined for GPREL
2698 relocs. Reject unknown relocation types.
2699 (elf32_frv_object_p): Make sure target vector matches FDPIC bits.
2700 (frv_elf_merge_private_bfd_data): Likewise.
2701 (ELF_MAXPAGESIZE): Revert to 0x1000 for elf32-frv; keep it as
2702 0x4000 for newly-added elf32-frvfdpic.
2703
06fc8a8c
NC
27042004-05-05 Nick Clifton <nickc@redhat.com>
2705
2706 PR/136
2707 * cache.c (bfd_cache_lookup_worker): Call abort() rather than
2708 returning NULL as most users of this function do not check its
2709 return value.
33216455
NC
2710 * hppabsd-core.c (hppabsd_core_core_file_p): Do not check result
2711 of bfd_cache_lookup().
2712 * sco5-core.c (sco5_core_file_p): Likewise.
2713 * trad-core.c (trad_unix_core_file_p): Likewise.
06fc8a8c
NC
2714
27152004-05-05 Nick Clifton <nickc@redhat.com>
2716
2717 * cache.c (bfd_cache_lookup): Improve formatting.
2718 * archive.c: Fix formatting.
2719
6b6e92f4
NC
27202004-05-05 Peter Barada <peter@the-baradas.com>
2721
2722 * bfd_archures.c(bfd_architecture): Add 521x,5249,547x,548x.
2723 * cpu-m68k.c(bfd_m68k_arch): Likewise.
2724 * bfd-in2.h(bfd_architecture): Regenerate.
2725
6a8d1586
AM
27262004-05-03 Alan Modra <amodra@bigpond.net.au>
2727
2728 * elf.c (_bfd_elf_rela_local_sym): Set kept_section for excluded
2729 SEC_MERGE sections.
2730 * elflink.c (elf_link_input_bfd): Adjust output reloc index for
2731 those against discarded link-once and SEC_MERGE section symbols.
2732
fafe6678
L
27332004-05-02 H.J. Lu <hongjiu.lu@intel.com>
2734
2735 * section.c (bfd_get_section_by_name_if): New.
2736 * bfd-in2.h: Regenerated.
2737
ad7b9a36
AM
27382004-05-02 Alan Modra <amodra@bigpond.net.au>
2739
2740 * som.c (som_bfd_is_group_section): Define.
2741
73499ab8
AM
27422004-05-01 Alan Modra <amodra@bigpond.net.au>
2743
2744 * section.c (bfd_make_section_anyway): Copy the whole
2745 bfd_hash_entry, not just "next" from existing entry.
2746
45c5e9ed
L
27472004-04-30 H.J. Lu <hongjiu.lu@intel.com>
2748
2749 * elf.c (bfd_section_from_shdr): Maintain the section order in
2750 a section group.
2751 (special_sections): Add ".note.GNU-stack".
2752 (elf_fake_sections): Handle section group for relocatable
2753 link..
2754
bc87dd2e
L
27552004-04-30 H.J. Lu <hongjiu.lu@intel.com>
2756
2757 * section.c (bfd_sections_find_if): New.
2758 * bfd-in2.h: Regenerated.
2759
72adc230
AM
27602004-04-30 Alan Modra <amodra@bigpond.net.au>
2761
2762 * section.c (bfd_make_section_anyway): Add all sections to hash tab.
2763
2764 * elf-bfd.h (bfd_elf_is_group_section): Declare.
2765 * elf.c (bfd_elf_is_group_section): New function.
2766 * elfxx-target.h (bfd_elfNN_bfd_is_group_section
2767 * section.c (bfd_generic_is_group_section): New function.
2768 * targets.c (struct bfd_target): Add _bfd_is_group_section field.
2769 (BFD_JUMP_TABLE_LINK): Adjust.
2770 * aout-adobe.c (aout_32_bfd_is_group_section): Define.
2771 * aout-target.h (MY_bfd_is_group_section): Define.
2772 * aout-tic30.c (MY_bfd_is_group_section): Define.
2773 * bfd.c (bfd_is_group_section): Define.
2774 * binary.c (binary_bfd_is_group_section): Define.
2775 * bout.c (b_out_bfd_is_group_section): Define.
2776 * coff-alpha.c (_bfd_ecoff_bfd_is_group_section): Define.
2777 * coff-mips.c (_bfd_ecoff_bfd_is_group_section): Define.
2778 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Adjust.
2779 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Adjust.
2780 * coffcode.h (coff_bfd_is_group_section): Define.
2781 * i386msdos.c (msdos_bfd_is_group_section): Define.
2782 * i386os9k.c (os9k_bfd_is_group_section): Define.
2783 * ieee.c (ieee_bfd_is_group_section): Define.
2784 * ihex.c (ihex_bfd_is_group_section): Define.
2785 * libbfd-in.h (_bfd_nolink_bfd_is_group_section): Define.
2786 * mach-o.c (bfd_mach_o_bfd_is_group_section): Define.
2787 * mmo.c (mmo_bfd_is_group_section): Define.
2788 * nlm-target.h (nlm_bfd_is_group_section): Define.
2789 * oasys.c (oasys_bfd_is_group_section): Define.
2790 * pef.c (bfd_pef_bfd_is_group_section): Define.
2791 * ppcboot.c (ppcboot_bfd_is_group_section): Define.
2792 * srec.c (srec_bfd_is_group_section): Define.
2793 * tekhex.c (tekhex_bfd_is_group_section): Define.
2794 * versados.c (versados_bfd_is_group_section): Define.
2795 * vms.c (vms_bfd_is_group_section): Define.
2796 * xsym.c (bfd_sym_bfd_is_group_section): Define.
2797 * bfd-in2.h: Regenerate.
2798 * libbfd.h: Regenerate.
2799
20f0a1ad
AM
28002004-04-30 Alan Modra <amodra@bigpond.net.au>
2801
2802 * elflink.c (elf_gc_mark): Follow indirect and warning syms.
2803
f7458fc9 28042004-04-30 Hans-Peter Nilsson <hp@axis.com>
7dfb3b6b
HPN
2805
2806 * configure.in: Update version to 2.15.91.
2807 * configure: Regenerate.
2808
8a7140c3
NC
28092004-04-29 Brian Ford <ford@vss.fsi.com>
2810
2811 * bfd.c (bfd_get_sign_extend_vma): Add pe[i]-i386 case to DJGPP hack.
2812 * coffcode.h (DOT_DEBUG, GNU_LINKONCE_WI): Define.
2813 [!COFF_WITH_PE] (sec_to_styp_flags, styp_to_sec_flags): Use them.
2814 (coff_compute_section_file_positions) [RS6000COFF_C]: Likewise.
2815 [COFF_WITH_PE] (sec_to_styp_flags): Handle DWARF 2/3 .debug* and
2816 .gnu.linkonce.wi. sections.
2817 * pe-i386.c (COFF_SUPPORT_GNU_LINKONCE): Define.
2818 (COFF_SECTION_ALIGNMENT_ENTRIES): Add entries for .debug and
2819 .gnu.linkonce.wi..
2820 * pei-i386.c (COFF_SUPPORT_GNU_LINKONCE): Likewise.
2821 (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
2822
3e722fb5
CD
28232004-04-28 Chris Demetriou <cgd@broadcom.com>
2824
2825 * reloc.c: Remove BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
2826 * bfd-in2.h: Regenerate.
2827 * libbfd.h: Likewise.
2828
351e2b5a
DA
28292004-04-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2830
2831 * som.c (struct som_misc_symbol_info): Add is_comdat, is_common and
2832 dup_common fields.
2833 (setup_sections): Use som_subspace_dictionary_record struct instead
2834 subspace_dictionary_record. Set SEC_LINK_ONCE if subspace is
2835 is_comdat, is_common or dup_common.
2836 (som_prep_headers): Use som_subspace_dictionary_record struct. Set
2837 is_comdat, is_common and dup_common in section subspace_dict from
2838 copy_data.
2839 (som_begin_writing): Use som_subspace_dictionary_record struct.
2840 (som_finish_writing): Likewise.
2841 (som_bfd_derive_misc_symbol_info): Add support to set is_comdat,
2842 is_common and dup_common flags in info for symbol. Add comment
2843 regarding linker support for these fields. Slightly reorganize
2844 function.
2845 (som_build_and_write_symbol_table): Set is_comdat, is_common and
2846 dup_common fields in symbol table from symbol info.
2847 (bfd_som_set_subsection_attributes): Add comdat, common and dup_common
2848 arguments. Set corresponding fields in copy_data. Change all callers.
2849 (som_bfd_ar_write_symbol_stuff): Set dup_common flag in library
2850 symbol table.
2851 (som_vec): Add SEC_LINK_ONCE to applicable section flags.
2852 * som.h (som_subspace_dictionary_record): Define.
2853 (som_copyable_section_data_struct): Add is_comdat, is_common and
2854 dup_common fields.
2855 (som_section_data_struct): Use som_subspace_dictionary_record struct
2856 instead of subspace_dictionary_record.
2857 (bfd_boolean bfd_som_set_subsection_attributes): Adjust prototype.
2858
3ba3bc8c
BW
28592004-04-27 Bob Wilson <bob.wilson@acm.org>
2860
2861 * elf32-xtensa.c (xtensa_read_table_entries): Use section _cooked_size
2862 if set. Check reloc_done flag before applying relocations. Use
2863 output addresses, both when applying relocations and when comparing
2864 against the specified section.
2865 (elf_xtensa_relocate_section): Use output address to check if dynamic
2866 reloc is in a literal pool. Set section's reloc_done flag.
2867
beb8df56
L
28682004-04-27 H.J. Lu <hongjiu.lu@intel.com>
2869
2870 * elf32-sh64.c (elf_backend_section_flags): New. Defined.
2871 (sh64_elf_set_mach_from_flags): Remove the kludge for .cranges
2872 section.
2873 (sh64_elf_section_flags): New. Set SEC_DEBUGGING for .cranges
2874 section.
2875
1829f4b2
AM
28762004-04-27 Alan Modra <amodra@bigpond.net.au>
2877
2878 * elf64-alpha.c (elf64_alpha_read_ecoff_info): Don't assign
2879 structure field removed in 2004-04-24 patch.
2880 * elf64-sparc.c (sparc64_elf_plt_sym_val): Warning fix.
2881
2882 * elf-bfd.h (struct elf_backend_data <elf_backend_section_flags>):
2883 Constify hdr arg.
2884 * elf32-arm.h (elf32_arm_section_flags): Likewise.
2885 * elf64-alpha.c (elf64_alpha_section_flags): Likewise.
2886 * elfxx-ia64.c (elfNN_ia64_section_flags): Likewise.
2887 * elf.c (_bfd_elf_make_section_from_shdr): Set the bfd_section
2888 field before calling elf_backend_section_flags.
2889
4030e8f6
CD
28902004-04-24 Chris Demetriou <cgd@broadcom.com>
2891
2892 * elf32-mips.c (elf_mips_gnu_rel_hi16, elf_mips_gnu_rel_lo16)
2893 (elf_mips_gnu_pcrel64, elf_mips_gnu_pcrel32): Remove.
2894 (bfd_elf32_bfd_reloc_type_lookup): Remove cases for
2895 BFD_RELOC_PCREL_HI16_S, BFD_RELOC_PCREL_LO16, BFD_RELOC_64_PCREL,
2896 and BFD_RELOC_32_PCREL.
2897 (mips_elf32_rtype_to_howto): Remove cases for R_MIPS_GNU_REL_HI16,
2898 R_MIPS_GNU_REL_LO16, R_MIPS_PC64, R_MIPS_PC32.
2899 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
2900 (_bfd_mips_elf_lo16_reloc): Remove handling for R_MIPS_GNU_REL_HI16.
2901 (mips_elf_next_relocation): Move comment about matching HI/LO
2902 relocations to...
2903 (_bfd_mips_elf_relocate_section): Here. Remove handling for
2904 R_MIPS_GNU_REL_HI16.
2905
3e27568f
CD
29062004-04-23 Chris Demetriou <cgd@broadcom.com>
2907
2908 * coff-mips.c (mips_relhi_reloc, mips_rello_reloc)
2909 (mips_switch_reloc, mips_read_relocs, mips_relax_section)
2910 (mips_relax_pcrel16, PCREL16_EXPANSION_ADJUSTMENT): Remove.
2911 (mips_relocate_hi): Remove now-unused 'adjust' and 'pcrel' arguments,
2912 and update comments to reflect current usage.
2913 (mips_howto_table): Remove entries for MIPS_R_RELHI, MIPS_R_RELLO,
2914 and MIPS_R_SWITCH, as well as several empty entries. Update comment
2915 for MIPS_R_PCREL16.
2916 (mips_ecoff_swap_reloc_in, mips_ecoff_swap_reloc_out)
2917 (mips_adjust_reloc_out, mips_bfd_reloc_type_lookup): Remove support
2918 for MIPS_R_SWITCH, MIPS_R_RELLO, and MIPS_R_RELHI relocations.
2919 (mips_adjust_reloc_in): Likewise, adjust maximum accepted relocation
2920 type number to be MIPS_R_PCREL16.
2921 (mips_relocate_section): Remove support for link-time relaxation
2922 of branches used by embedded-PIC. Remove support for MIPS_R_SWITCH,
2923 MIPS_R_RELLO, and MIPS_R_RELHI relocations.
2924 (_bfd_ecoff_bfd_relax_section): Redefine to bfd_generic_relax_section.
2925 * ecoff.c (ecoff_indirect_link_order): Remove support for link-time
2926 relaxation of branches used by embedded-PIC.
2927 * ecofflink.c (bfd_ecoff_debug_accumulate): Likewise.
2928 * libecoff.h (struct ecoff_section_tdata): Remove embedded-PIC
2929 related members, update comment.
2930 * pe-mips.c: Remove disabled (commented-out and #if 0'd)
2931 code related to embedded-PIC.
2932 * elfxx-mips.c (_bfd_mips_elf_read_ecoff_info): Remove
2933 initialization of now-removed 'adjust' member of
2934 'struct ecoff_debug_info'.
2935
b32de0bc 29362004-04-23 Chris Demetriou <cgd@broadcom.com>
8472310d
CD
2937
2938 * elfxx-mips.c (mips_elf_get_global_gotsym_index): Remove.
2939
955af222
PB
29402004-04-21 Philip Blundell <pb@nexus.co.uk>
2941
2942 * elf32-arm.h (elf32_arm_check_relocs): Don't output REL32
2943 relocs for locally defined symbols during -shared final link.
2944 (elf32_arm_final_link_relocate): Likewise.
2945
47a9f7b3
JJ
29462004-04-22 Jakub Jelinek <jakub@redhat.com>
2947
2948 * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Copy also
2949 ELF_LINK_POINTER_EQUALITY_NEEDED.
2950 (elf64_x86_64_check_relocs): Set ELF_LINK_POINTER_EQUALITY_NEEDED
2951 if r_type is not R_X86_64_PC32.
2952 (elf64_x86_64_finish_dynamic_symbol): If
2953 ELF_LINK_POINTER_EQUALITY_NEEDED is not set, clear st_value of
2954 SHN_UNDEF symbols.
2955
1f1799d5
KK
29562004-04-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
2957
2958 * elf32-sh.c (sh_elf_plt_sym_val): New function.
2959 (elf_backend_plt_sym_val): Define.
2960
0fdea5ce
AC
29612004-04-22 Andrew Cagney <cagney@redhat.com>
2962
2963 * opncls.c (bfd_alloc): Fix type of "wanted" in doco.
2964
5198ba8b
DA
29652004-04-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2966
eb61d2d6 2967 * hpux-core.c (hpux_core_core_file_p): Add cast in call to
5198ba8b
DA
2968 make_bfd_asection.
2969 * som.c (som_set_section_contents): Constantify second argument.
2970 (hppa_som_gen_reloc_type): Abort for unsupported selectors.
2971 (som_object_setup): Rework to avoid warning.
2972 (setup_sections, som_write_fixups, bfd_section_from_som_symbol):
2973 Likewise.
2974
fe2e161a
AC
29752004-04-22 Andrew Cagney <cagney@redhat.com>
2976
2977 * cache.c (bfd_cache_close): Check for a previously closed file.
2978
4c45e5c9
JJ
29792004-04-22 Jakub Jelinek <jakub@redhat.com>
2980
2981 * bfd.c (bfd_get_synthetic_symtab): Define.
2982 * targets.c (BFD_JUMP_TABLE_DYNAMIC): Add
2983 NAME##_get_synthetic_symtab.
2984 (struct bfd_target): Add _bfd_get_synthetic_symtab.
2985 * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Define.
2986 * elf-bfd.h (struct elf_backend_data): Add plt_sym_val and
2987 relplt_name fields.
2988 (_bfd_elf_get_synthetic_symtab): New prototype.
2989 * elfcode.h (elf_get_synthetic_symtab): Define.
2990 * elf.c (_bfd_elf_get_synthetic_symtab): New function.
2991 * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Define.
2992 (elf_backend_plt_sym_val, elf_backend_relplt_name): Define.
2993 (elfNN_bed): Add elf_backend_plt_sym_val and elf_backend_relplt_name.
2994 * bfd-in2.h: Rebuilt.
2995 * libbfd.h: Rebuilt.
2996 * elf32-i386.c (elf_i386_plt_sym_val): New function.
2997 (elf_backend_plt_sym_val): Define.
2998 * elf64-x86-64.c (elf64_x86_64_plt_sym_val): New function.
2999 (elf_backend_plt_sym_val): Define.
3000 * elf32-s390.c (elf_s390_plt_sym_val): New function.
3001 (elf_backend_plt_sym_val): Define.
3002 * elf64-s390.c (elf_s390_plt_sym_val): New function.
3003 (elf_backend_plt_sym_val): Define.
3004 * elf32-sparc (elf32_sparc_plt_sym_val): New function.
3005 (elf_backend_plt_sym_val): Define.
3006 * elf64-sparc.c (sparc64_elf_plt_sym_val): New function.
3007 (elf_backend_plt_sym_val): Define.
3008 * elf32-ppc.c (ppc_elf_plt_sym_val): New function.
3009 (elf_backend_plt_sym_val): Define.
3010 * aout-target.h (MY_get_synthetic_symtab): Define.
3011 * aout-tic30.c (MY_get_synthetic_symtab): Define.
3012 * coff-rs6000.c (rs6000coff_vec): Add
3013 _bfd_nodynamic_get_synthetic_symtab.
3014 (pmac_xcoff_vec): Likewise.
3015 * coff64-rs6000.c (rs6000coff64_vec): Add
3016 _bfd_nodynamic_get_synthetic_symtab.
3017 (aix5coff64_vec): Likewise.
3018 * sunos.c (MY_get_synthetic_symtab): Define.
3019 * vms.c (vms_get_synthetic_symtab): Define.
3020
d2f7ecac
NC
30212004-04-22 Nick Clifton <nickc@redhat.com>
3022
3023 * bfd.c (bfd_archive_filename): Return NULL on NULL input.
3024
fd99574b
NC
30252004-04-22 Peter Barada <peter@the-baradas.com>
3026
3027 * archures.c: Add bfd_mach_mcfv4e to bfd_architecture.
3028 * bfd2-in.h: Regenerate.
3029 * cpu-m68k.c: Add 'm68k:mcfv4e' to arch_info_struct[].
3030
23867d67
CD
30312004-04-21 Chris Demetriou <cgd@broadcom.com>
3032
3033 * coff-mips.c (bfd_mips_ecoff_create_embedded_relocs): Remove.
3034 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Remove.
3035 * bfd-in.h (bfd_mips_ecoff_create_embedded_relocs)
3036 (bfd_mips_elf32_create_embedded_relocs): Remove prototypes
3037 * bfd-in2.h: Regenerate.
3038
2c8c90bc
BW
30392004-04-21 Bob Wilson <bob.wilson@acm.org>
3040
3041 * elf32-xtensa.c (is_same_value): Add final_static_link argument and
3042 require relocations against a weak symbol to reference the same
3043 symbol hash entry if not a final, static link.
3044 (get_cached_value, add_value_map): Add final_static_link argument.
3045 (remove_literals): Pass final_static_link argument as needed.
3046
40838a72
AC
30472004-04-21 Andrew Cagney <cagney@redhat.com>
3048
3049 * opncls.c (_bfd_new_bfd_contained_in): Copy "iovec".
3050 (struct opncls, opncls_btell, opncls_bseek, opncls_bread)
3051 (opncls_bwrite, opncls_bclose, opncls_bflush)
3052 (opncls_bstat, opncls_iovec, bfd_openr_iovec): Implement a
3053 bfd iovec that uses function callbacks.
3054 (bfd_close): Use the iovec's bclose.
3055 * cache.c (cache_btell, cache_bseek, cache_bread, cache_bwrite)
3056 (cache_bclose, cache_bflush, cache_bstat)
3057 (cache_iovec): New functions and global variable, implement a
3058 cache "iovec", where applicable set bfd_error.
3059 (bfd_cache_init, bfd_cache_close): Set/test the bfd's iovec.
3060 * bfdio.c (struct bfd_iovec): Define.
3061 (real_read): Delete function.
3062 (bfd_bread, bfd_bread, bfd_bwrite, bfd_tell, bfd_flush, bfd_stat)
3063 (bfd_seek, bfd_get_mtime, bfd_get_size): Use the bfd's "iovec",
3064 assume that bread and bwrite set bfd_error.
3065 * bfd.c (struct bfd): Add "iovec", update comments.
3066 * bfd-in2.h, libbfd.h: Re-generate.
3067
7f919c84
AC
30682004-04-21 Andrew Cagney <cagney@redhat.com>
3069
3070 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
3071
715df9b8
EB
30722004-04-21 Eric Botcazou <ebotcazou@act-europe.fr>
3073
3074 * elflink.c (elf_gc_mark_dynamic_ref_symbol): New function.
3075 (bfd_elf_gc_sections): Fail if a shared object is being created.
3076 Do not fail if dynamic sections have been created. Instead call
3077 elf_gc_mark_dynamic_ref_symbol to mark sections that contain
3078 dynamically referenced symbols. Do not mark the whole graph
3079 rooted at .eh_frame, only the section proper.
3080
6482c264
NC
30812004-04-20 DJ Delorie <dj@redhat.com>
3082
3083 * reloc.c: Add BFD_RELOC_32_SECREL.
3084 * bfd-in2.h: Regenerate.
3085 * libbfd.h: Likewise.
3086 * coff-i386.c (howto_table) [COFF_WITH_PE]: Add R_SECREL32.
3087 (coff_i386_rtype_to_howto) [COFF_WITH_PE]: Handle it.
3088 (coff_i386_reloc_type_lookup) [COFF_WITH_PE]: Likewise.
3089
4dc570c2
JJ
30902004-04-19 Jakub Jelinek <jakub@redhat.com>
3091
3092 * elf32-sparc.c (elf32_sparc_relocate_section): Handle
3093 relocs against hidden/protected undefweak symbols properly.
3094 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
3095
0b60d5d3
MK
30962004-04-18 Mark Kettenis <kettenis@gnu.org>
3097
3098 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
3099 * netbsd-core.c (netbsd_core_file_p): Set architecture for PowerPC
3100 core files.
3101
d48bdb99
AM
31022004-04-17 Brian Ford <ford@vss.fsi.com>
3103
3104 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the first non-zero
3105 filepos for the SizeOfHeaders field.
3106 (_bfd_XXi_swap_scnhdr_out): Correct section flags lossage on reloc
3107 overflow.
3108 (_bfd_XXi_swap_sym_in): Remove redundant section flags assignment.
3109
57a1784e
AM
31102004-04-16 Alan Modra <amodra@bigpond.net.au>
3111
3112 * simple.c (bfd_simple_get_relocated_section_contents): Don't
3113 change reloc_done. Set and restore _cooked_size.
3114 (RETURN): Delete.
3115
d1ad3f6f
MK
31162004-04-15 Mark Kettenis <kettenis@gnu.org>
3117
3118 * netbsd-core.c (netbsd_core_file_p): Set architecture for VAX
3119 core files.
3120
3d1bca9d
NC
31212004-04-15 Nick Clifton <nickc@redhat.com>
3122
3123 * bfd.c (bfd_archive_filename): Catch NULL bfd pointers.
3124
019b892f
AM
31252004-04-15 Alan Modra <amodra@bigpond.net.au>
3126
3127 * elf64-sparc.c (sparc64_elf_check_relocs): Fix thinko last change.
3128
15b43f48
AM
31292004-04-15 H.J. Lu <hongjiu.lu@intel.com>
3130
3131 * elflink.c (_bfd_elf_merge_symbol): Treat weak as strong only
3132 when it is a definition.
3133
6de00a78
AM
31342004-04-14 Alan Modra <amodra@bigpond.net.au>
3135
3136 * elf32-sparc.c (elf32_sparc_relocate_section): Don't abort
3137 when statically linking PIC code.
3138 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
3139
279500de
TS
31402004-04-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3141
3142 * config.bfd: Remove mips*-*-mach3* and mips*-dec-mach3* targets.
3143 * configure.in: Remove mips-dec-bsd*, mips-dec-mach3*, mips-*-mach3*
3144 targets amd aout_mips_big_vec, aout_mips_little_vec target vectors.
3145 * configure: Regenerate.
3146
ccf2f652
RS
31472004-04-08 Richard Sandiford <rsandifo@redhat.com>
3148
3149 * elflink.c: Include libiberty.h.
3150 * Makefile.am (elflink.lo): Depend on libiberty.h.
3151 * Makefile.in: Regenerate.
3152
ca07892d
DJ
31532004-04-06 Daniel Jacobowitz <drow@mvista.com>
3154
3155 * elfxx-mips.c (MIPS_ELF_STUB_SECTION_NAME): Always use
3156 ".MIPS.stubs".
3157
a5a58ba4
L
31582004-04-05 H.J. Lu <hongjiu.lu@intel.com>
3159
3160 * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Always
3161 reserve the memory for dynamic linker
3162
24d18d30
MK
31632004-04-05 Mark Kettenis <kettenis@gnu.org>
3164
3165 * netbsd-core.c (CORE_WCOOKIE_OFFSET): New define.
3166 (netbsd_core_file_p): Create a .wcookie section for OpenBSD/sparc.
3167
a4d7b4b5
L
31682004-04-02 H.J. Lu <hongjiu.lu@intel.com>
3169
3170 * elf32-cr16c.c (elf32_cr16c_relocate_section): Use
3171 RELOC_FOR_GLOBAL_SYMBOL.
3172 (elf32_cr16c_add_symbol_hook): Remove const from Elf_Internal_Sym.
3173
1f433d93
L
31742004-04-02 H.J. Lu <hongjiu.lu@intel.com>
3175
3176 * elf32-arm.h (elf32_arm_final_link_relocate): Handle
3177 R_ARM_ALU* only if OLD_ARM_ABI is not defined.
3178
e489d0ae
PB
31792004-04-01 Paul Brook <paul@codesourcery.com>
3180
3181 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update.
3182 * elf32-arm.h (struct elf32_elf_section_map): New.
3183 (struct _arm_elf_section_data): New.
3184 (elf32_arm_section_data): Define.
3185 (struct elf32_arm_link_hash_table): Add byteswap_code.
3186 (elf32_arm_link_hash_table_create): Initialize byteswap_code.
3187 (bfd_elf32_arm_process_before_allocation): Add byteswap_code.
3188 (elf32_arm_post_process_headers): Set EF_ARM_BE8.
3189 (elf32_arm_output_symbol_hook, elf32_arm_new_section_hook,
3190 elf32_arm_compare_mapping, elf32_arm_write_section): New functions.
3191 (bfd_elf32_new_section_hook, elf_backend_write_section,
3192 elf_backend_link_output_symbol_hook): Define.
3193
66a695f0
NC
31942004-04-01 Andy Chittenden <achittenden@bluearc.com>
3195
3196 * stabs.c (struct stab_link_includes_totals): Add field 'symb'
3197 that keeps the characters in a B_INCL..B_EINCL range.
3198 (_bfd_link_section_stabs): When computing the sum of the
3199 characters in a B_INCL..B_EINCL range also keep a copy of those
3200 characters. Use this information to distinguish between
3201 include sections that have the same sum and the same length
3202 but which are nevertheless unique.
3203
8375c36b
PB
32042004-03-31 Paul Brook <paul@codesourcery.com>
3205
3206 * elf32-arm.h (elf32_arm_final_link_relocate): Add R_ARM_ALU*.
3207 * elfarm-nabi.c (elf32_arm_howto_table): Ditto.
3208
a56b48eb
NC
32092004-03-31 Andy Chittenden <achittenden@bluearc.com>
3210
3211 * stabs.c (struct stab_link_includes_totals): Rename field 'total'
3212 to 'sum_chars' and add field 'num_chars'.
3213 (_bfd_link_section_stabs): When computing the sum of the
3214 characters in a B_INCL..B_EINCL range also keep a count of the
3215 number of characters. Use this information to help distinguish
3216 between include sections when have the same sum but which
3217 nevertheless are still unique.
3218