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