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