Commit graph

2780 commits

Author SHA1 Message Date
Bob Wilson
0ebdbb8312 * elf.c (assign_file_positions_for_segments): Set next_file_pos even
if there are no segments.
2004-11-04 00:44:23 +00:00
Daniel Jacobowitz
675b2ace5d * config.bfd: Mark arm-*-oabi and thumb-*-oabi as obsolete. 2004-11-02 16:24:35 +00:00
Nick Clifton
58852c2769 Convert to ISO C90 2004-11-02 12:52:32 +00:00
Hans-Peter Nilsson
20288ed68a Correct last entry: s/SYMBOL/TABLE_/ 2004-11-02 05:51:13 +00:00
Hans-Peter Nilsson
e6857c0cd5 * elflink.c (_bfd_elf_create_got_section): Hide _GLOBAL_OFFSET_SYMBOL. 2004-11-02 05:44:34 +00:00
H.J. Lu
bf71845826 2004-10-28 H.J. Lu <hongjiu.lu@intel.com>
* elfxx-ia64.c (elfNN_ia64_relocate_section): Handle weak
	undefined symbols for R_IA64_SECREL32MSB, R_IA64_SECREL32LSB,
	R_IA64_SECREL64MSB and R_IA64_SECREL64LSB.
2004-10-28 14:55:41 +00:00
Kaz Kojima
044ad7e3d7 * elf32-sh.c (tpoff): Take alignment into account. 2004-10-28 12:00:17 +00:00
Nick Clifton
0d48eab68d Fix spelling typo 2004-10-28 09:56:14 +00:00
Nick Clifton
d5cb4bb8aa iq2000_elf_relocate_section): Do nothing when perfoming a relocatable link.
(iq2000_elf_object_p): Do not set elf_bad_symtab.  This is only	for MIPS ports
  under Irix.
2004-10-28 09:53:44 +00:00
Paul Brook
5b5bb74101 2004-10-27 Richard Earnshaw <rearnsha@arm.com>
bfd/
	* elf32-arm.h (bfd_elf32_arm_process_before_allocation): Handle
	R_ARM_CALL and R_ARM_JUMP24 as aliases of R_ARM_PC24.
	(elf32_arm_final_link_relocate): Ditto.
	(arm_add_to_rel, elf32_arm_relocate_section): Ditto.
	(elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto
	(elf32_arm_adjust_dynamic_symbol): Ditto.
	* elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_CALL and
	R_ARM_JUMP32.  Move R_ARM_R{REL32,ABS32,PC24,BASE}...
	(elf32_arm_r_howto): ... To here.
	(elf32_arm_howto_from_type): Use elf32_arm_r_howto.
include/
	* elf/arm.h: Add R_ARM_CALL and R_ARM_JUMP32.
2004-10-27 20:48:22 +00:00
H.J. Lu
97ecf3226d 2004-10-26 H.J. Lu <hongjiu.lu@intel.com>
PR 475
	* elfxx-ia64.c (elfNN_ia64_relocate_section): Correct
	R_IA64_SECREL32MSB, R_IA64_SECREL32LSB, R_IA64_SECREL64MSB
	and R_IA64_SECREL64LSB.
2004-10-27 00:46:05 +00:00
Paul Brook
3e3b46e5c8 bfd/
* elflink.c (elf_finalize_dynstr): Skip shared aux structure.
	(bfd_elf_size_dynamic_sections): Create default version definition.
	(elf_link_output_extsym): Adjust for default symbol version.
include/
	* bfdlink.h (struct bfd_link_info): Add create_default_symver.
ld/
	* ld.texinfo: Document --default-symver.
	* ldmain.c (main): Set link_info.create_default_symver.
	* lexsup.c (enum option_values): Add OPTION_DEFAULT_SYMVER.
	(ld_options): Add default-symver.
	(parse_args): Handle OPTION_DEFAULT_SYMVER.
ld/testsuite/
	* ld-elfvers/vers.exp (build_binary): Add ldargs parameter.
	(build_vers_lib_pic_flags): New function.
	Add vers29 test.
	* ld-elfvers/vers29.c: New file.
	* ld-elfvers/vers29.dsym: New file.
	* ld-elfvers/vers29.ver: New file.
2004-10-26 13:46:05 +00:00
Hans-Peter Nilsson
278b46236c * mmo.c: Adjust to ISO C. 2004-10-24 22:50:43 +00:00
Hans-Peter Nilsson
aa69fe43dd * mmo.c (mmo_write_section_description): New function broken out
of mmo_internal_write_section.
	(mmo_internal_write_section): For each of .text and .data, call
	mmo_write_section_description before outputting contents if it has
	nontrivially deducible vma or contents.
	(mmo_has_leading_or_trailing_zero_tetra_p): New function.
	(mmo_canonicalize_symtab): Adjust absolute symbols to .data
	symbols if found within the .data address range.
2004-10-24 21:40:36 +00:00
Daniel Jacobowitz
ed0403211c * opncls.c (bfd_close): Return TRUE for BFD_IN_MEMORY. 2004-10-24 18:45:38 +00:00
Hans-Peter Nilsson
830866afa5 * mmo.c (File Layout): Correct place of misplaced blurb about
special data.
2004-10-24 14:09:16 +00:00
Mark Kettenis
5f417ca318 * config.bfd: Add mips64*-*-openbsd. 2004-10-23 12:23:15 +00:00
Bob Wilson
823fc61f00 * elf32-xtensa.c (ebb_propose_action): Put declarations before
statements.
2004-10-21 16:29:11 +00:00
H.J. Lu
8697aafb0c 2004-10-21 H.J. Lu <hongjiu.lu@intel.com>
* configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.94.
	* configure: Regenerate.
2004-10-21 15:32:41 +00:00
H.J. Lu
dfeffb9fe1 bfd/
2004-10-21  H.J. Lu  <hongjiu.lu@intel.com>

	PR 463
	* aoutx.h (aout_link_input_section_std): Pass proper hash entry
	to linker reloc_overflow callback.
	(aout_link_input_section_ext): Likewise.
	(aout_link_reloc_link_order): Likewise.
	* coff-a29k.c (coff_a29k_relocate_section): Likewise.
	* coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
	Likewise.
	(alpha_relocate_section): Likewise.
	* coff-arm.c (coff_arm_relocate_section): Likewise.
	* coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
	* coff-h8500.c (extra_case): Likewise.
	* coff-i960.c (coff_i960_relocate_section): Likewise.
	* coff-mcore.c (coff_mcore_relocate_section): Likewise.
	* coff-mips.c (mips_relocate_section): Likewise.
	* coff-or32.c (coff_or32_relocate_section): Likewise.
	* coff-ppc.c (coff_ppc_relocate_section): Likewise.
	* coff-rs6000.c (xcoff_ppc_relocate_section): Likewise.
	* coff-sh.c (sh_relocate_section): Likewise.
	* coff-tic80.c (coff_tic80_relocate_section): Likewise.
	* coff-w65.c (w65_reloc16_extra_cases): Likewise.
	* coff-z8k.c (extra_case): Likewise.
	* coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
	* cofflink.c (_bfd_coff_reloc_link_order): Likewise.
	(_bfd_coff_generic_relocate_section): Likewise.
	* ecoff.c (ecoff_reloc_link_order): Likewise.
	* elf-hppa.h (elf_hppa_relocate_section): Likewise.
	* elf-m10200.c (mn10200_elf_relocate_section): Likewise.
	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
	* elf32-arm.h (elf32_arm_relocate_section): Likewise.
	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
	* elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
	* elf32-cris.c (cris_elf_relocate_section): Likewise.
	* elf32-crx.c (elf32_crx_relocate_section): Likewise.
	* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
	* elf32-i370.c (i370_elf_relocate_section): Likewise.
	* elf32-i386.c (elf_i386_relocate_section): Likewise.
	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
	* elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
	* elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
	* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
	* elf32-s390.c (elf_s390_relocate_section): Likewise.
	* elf32-sh.c (sh_elf_relocate_section): Likewise.
	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
	* elf32-v850.c (v850_elf_relocate_section): Likewise.
	* elf32-vax.c (elf_vax_relocate_section): Likewise.
	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
	* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
	* elf64-s390.c (elf_s390_relocate_section): Likewise.
	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
	* elflink.c (elf_reloc_link_order): Likewise.
	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
	(_bfd_elf_mips_get_relocated_section_contents): Likewise.
	* linker.c (_bfd_generic_reloc_link_order): Likewise.
	* pdp11.c (pdp11_aout_link_input_section): Likewise.
	(aout_link_reloc_link_order): Likewise.
	* reloc.c (bfd_generic_get_relocated_section_contents):
	Likewise.
	* xcofflink.c (xcoff_reloc_link_order): Likewise.
	* simple.c (simple_dummy_reloc_overflow): Updated.

include/

2004-10-21  H.J. Lu  <hongjiu.lu@intel.com>

	PR 463
	* bfdlink.h (bfd_link_callbacks): Add a pointer to struct
	bfd_link_hash_entry to reloc_overflow.

ld/

2004-10-21  H.J. Lu  <hongjiu.lu@intel.com>

	PR 463
	* ldmain.c (reloc_overflow): Accept a pointer to struct
	bfd_link_hash_entry. Report symbol location for relocation
	overflow.
2004-10-21 15:28:33 +00:00
Andreas Schwab
1715e0e33e * elf32-m68k.c (elf_m68k_plt_sym_val): New function.
(elf_backend_plt_sym_val): Define.
2004-10-20 21:29:45 +00:00
Danny Smith
db3d41a858 * config.bfd: Set targ_underscore=yes for PE COFF targets. 2004-10-20 01:58:47 +00:00
Alan Modra
4b85d634bf * elf64-ppc.c (opd_entry_value): Handle --just-symbols objects.
(ppc64_elf_edit_opd): Likewise.
2004-10-19 12:00:58 +00:00
Mark Mitchell
6df4d94c68 * elfarm-nabi.c (ELF_DYNAMIC_SEC_FLAGS): Add comment.
* elflink.c (_bfd_elf_create_dynamic_sections): For a loaded PLT,
	set SEC_ALLOC and SEC_LOAD.
2004-10-19 06:02:46 +00:00
Nick Clifton
00d962d155 Compute 'name' for relocs against both local and global symbols. 2004-10-18 08:06:31 +00:00
Daniel Jacobowitz
b58f81aef6 bfd/
* bfd-in2.h: Regenerate.
	* bfd.c (struct bfd): Add no_export.
	* elflink.c (elf_link_add_object_symbols): Handle no_export.
ld/
	* ldlang.c (struct excluded_lib, excluded_libs, add_excluded_libs)
	(check_excluded_libs): New.
	(load_symbols): Call check_excluded_libs.
	* ldlang.h (add_excluded_libs): New prototype.
	* emultempl/elf32.em (OPTION_EXCLUDED_LIBS): Define.
	(gld${EMULATION_NAME}_add_options): Add --exclude-libs.
	(gld${EMULATION_NAME}_handle_option): Handle --exclude-libs.
	* ld.texinfo (Command Line Variables): Document --exclude-libs.
	(Options Specific to i386 PE Targets): Remove --exclude-libs.
ld/testsuite/
	* ld-elf/exclude1.s, ld-elf/exclude2.s, ld-elf/exclude.exp: New.
2004-10-16 18:13:54 +00:00
Alan Modra
7d3f158fa8 * config.bfd: Whitespace cleanup.
* Makefile.am: Run "make dep-am"
	* Makefile.in: Regenerate.
2004-10-15 05:47:11 +00:00
Jakub Jelinek
6d2cd2108d * elflink.c (struct already_linked_section): Removed.
(try_match_symbols_in_sections, already_linked): Removed.
	(_bfd_elf_section_already_linked): Skip ^\.gnu\.linkonce\.[^.]*\.
	prefix of section names when finding already_linked_table
	chain.  Compare section names.  Instead of calling already_linked,
	do it inline and only for sections in the same already_linked_list.
2004-10-15 05:19:19 +00:00
Alan Modra
92e4ec35d9 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Add "info"
parameter.  If called after _bfd_elf_write_section_eh_frame,
	don't allow a -2 return unless need_* bit is already set, and
	handle offsets adjusted for output_offset.
	* elf-bfd.h (_bfd_elf_eh_frame_section_offset): Update prototype.
	* elf.c (_bfd_elf_section_offset): Update call.
2004-10-14 23:38:08 +00:00
H.J. Lu
7bf6dedeec 2004-10-13 H.J. Lu <hongjiu.lu@intel.com>
PR 440
	* coffcode.h (coff_compute_section_file_positions): Cast to
	bfd_vma when computing page alignment.
2004-10-13 18:14:40 +00:00
Mark Mitchell
c0042f5da0 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
offsets, not VMAs, for DT_VERSYM, DT_VERDEF, DT_VERNEED.

	* scripttempl/armbpabi.sc: Do not put .gnu.version.* into a
	loadable segment.
2004-10-13 17:45:31 +00:00
Mark Mitchell
2a1b9a480a * elf32-arm.h (elf32_arm_finish_dynamic_symbol): Make .rel.plt
relocations use a virtual address, not a section offset.
2004-10-13 03:09:28 +00:00
Bob Wilson
b08b507153 bfd ChangeLog
* elf32-xtensa.c (elf_xtensa_get_private_bfd_flags): Delete.
	(narrow_instruction, widen_instruction): Remove unnecessary calls to
	xtensa_format_encode.
	(ebb_propose_action): Inline call to ebb_add_proposed_action.
	(ebb_add_proposed_action): Delete.

gas ChangeLog

	* config/tc-xtensa.c (xtensa_frequency_pseudo): Use set_subseg_freq.
	(is_entry_opcode, is_movi_opcode, is_the_loop_opcode, is_jx_opcode,
	is_windowed_return_opcode): Delete.
	(xtensa_frob_label): Use get_subseg_target_freq.
	(md_assemble): Inline call to is_entry_opcode.
	(xtensa_handle_align): Inline call to get_frag_is_literal.
	(relaxation_requirements): Inline call to is_jx_opcode.
	(emit_single_op): Inline call to is_movi_opcode.
	(xg_assemble_vliw_tokens): Inline calls to get_frag_is_insn,
	get_frag_is_no_transform, is_entry_opcode, and
	set_frag_is_specific_opcode.  Use get_subseg_total_freq.
	(xtensa_fix_a0_b_retw_frags, xtensa_fix_b_j_loop_end_frags,
	xtensa_fix_close_loop_end_frags, relax_frag_immed, convert_frag_immed):
	Inline calls to get_frag_is_no_transform.
	(next_instrs_are_b_retw): Inline call to is_windowed_return_opcode.
	(xtensa_fix_short_loop_frags): Inline calls to is_the_loop_opcode and
	get_frag_is_no_transform.
	(convert_frag_immed_finish_loop): Inline calls to get_expression_value
	and set_frag_is_no_transform.
	(get_expression_value): Delete.
	(subseg_map struct): Rename cur_total_freq to total_freq.  Rename
	cur_target_freq to target_freq.
	(get_subseg_info): Split out code to create a new map entry into ...
	(add_subseg_info): ... this new function.
	(get_last_insn_flags): Check if get_subseg_info succeeded.
	(set_last_insn_flags): Call add_subseg_info if needed.
	(get_subseg_total_freq, get_subseg_target_freq, set_subseg_freq): New.
	(xtensa_reorder_segments): Compute last_sec while counting sections.
	Remove call to get_last_sec.
	(get_last_sec): Delete.
	(cache_literal_section): Inline call to retrieve_literal_seg and its
	callees, seg_present and add_seg_list.
	(retrieve_literal_seg, seg_present, add_seg_list): Delete.
	(get_frag_is_insn, get_frag_is_no_transform,
	set_frag_is_specific_opcode, set_frag_is_no_transform): Delete.
	* config/tc-xtensa.h (MAX_SLOTS): Reduce from 31 to 15.
2004-10-12 23:05:32 +00:00
Bob Wilson
7fa3d080a2 bfd ChangeLog
* elf32-xtensa.c: Use ISO C90 formatting.

gas ChangeLog

	* config/tc-xtensa.c: Use ISO C90 formatting.
	* config/tc-xtensa.h: Likewise.
	* config/xtensa-istack.h: Likewise.
	* config/xtensa-relax.c: Likewise.
	* config/xtensa-relax.h: Likewise.

ld ChangeLog

	* emultempl/xtensaelf.em: Use ISO C90 formatting.

opcodes ChangeLog

	* xtensa-dis.c: Use ISO C90 formatting.
2004-10-12 18:33:17 +00:00
Paul Brook
3656d5e3c7 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Rephrase error
message.
2004-10-12 14:51:42 +00:00
Paul Brook
8cb5156692 2004-10-12 Paul Brook <paul@codesourcery.com>
bfd/
	* elf32-arm.h: Support EABI version 4 objects.
binutils/
	* readelf.c (decode_ARM_machine_flags): Support EABI version 4.
gas/
	* config/tc-arm.c (md_begin): Change EF_ARM_EABI_VER3 to
	EF_ARM_EABI_VER4.
	(arm_eabis): Ditto.
	* doc/c-arm.texi: Document that we actually support -meabi=4, not
	-meabi=3.
include/
	* elf/arm.h (EF_ARM_EABI_VER4): Define.
2004-10-12 14:17:08 +00:00
Alan Modra
1abc85973a PR 325
* cpu-i386.c (bfd_x86_64_arch_intel_syntax): Place last in chain.
	Don't mark as default.
	(bfd_x86_64_arch): Don't mark as default.
2004-10-12 08:13:46 +00:00
Alan Modra
9e66c9426b * elflink.c (enum action_discarded): New.
(elf_section_complain_discarded): Delete.
	(elf_action_discarded): New function subsuming the above and also
	controlling reloc behaviour.
	(elf_link_input_bfd): Use it.
2004-10-12 02:27:53 +00:00
Jakub Jelinek
7f1204bb4f * elf.c (bfd_section_from_shdr): Handle SHT_GNU_LIBLIST.
(special_sections): Add .gnu.liblist and .gnu.conflict.
	(assign_section_numbers): Handle SHT_GNU_LIBLIST.
2004-10-11 13:48:36 +00:00
Alan Modra
87e5235d04 PR 233
* elflink.c (elf_link_input_bfd): Try harder to support
	relocations against symbols in removed linkonce sections.
2004-10-11 13:29:01 +00:00
Alan Modra
029446c42d * elflink.c (elf_link_input_bfd): Revert PR 354 change. 2004-10-11 09:17:13 +00:00
Alan Modra
2ad770c380 PR 354
* elflink.c (elf_link_input_bfd): Check that relocs in SEC_ALLOC
	sections do not reference symbols in non-SEC_ALLOC sections.
2004-10-11 04:54:27 +00:00
Alan Modra
1da212d6fb PR 437
* elflink.c (elf_link_sort_relocs): Don't bomb on unusual sections.
	(_bfd_elf_link_omit_section_dynsym): Formatting.
2004-10-11 01:13:10 +00:00
Alan Modra
f12123c0d5 * libbfd-in.h (BFD_ASSERT, BFD_FAIL): Wrap macro body in do while.
* libbfd.h: Regnerate.
	* elf32-cris.c: Add missing semicolon to BFD_ASSERTs.
	* elf32-frv.c: Likewise.
	* elf32-m32r.c: Likewise.
	* elf32-ppc.c: Likewise.
	* elf64-hppa.c: Likewise.
	* elfxx-ia64.c: Likewise.
	* opncls.c: Likewise.
2004-10-10 13:58:05 +00:00
Alan Modra
3472e2e999 * elf-bfd.h (struct eh_frame_hdr_info): Add offsets_adjusted.
* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust
	offsets stored in struct eh_cie_fde entries before doing other
	work.
2004-10-10 13:02:01 +00:00
Alan Modra
fda3ecf23f * elf-bfd.h (struct eh_cie_fde): Add cie_inf, remove sec.
(struct eh_frame_hdr_info): Add last_cie_inf, remove last_cie_offset.
	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete code
	setting offsets for removed CIEs.  Don't set "sec", instead set
	cie_inf for FDEs.  Keep a pointer to last struct eh_cie_fde for a
	CIE in hdr_info.  Only set make_relative and make_lsda_relative
	for CIEs.  Use pointers rather than array indices.
	(_bfd_elf_eh_frame_section_offset): Test/set make_relative,
	make_lsda_relative, need_* on cie_inf for FDEs.
	(_bfd_elf_write_section_eh_frame): Adjust offset and new_offset for
	section output_offset.  Delete cie_offset, instead use cie_inf
	pointer to CIE entry.  Use need_relative and need_lsda_relative on
	CIE entry for FDEs.  Use pointers rather than array indices.
2004-10-10 07:58:07 +00:00
Alan Modra
7db6994ff2 * coff-rs6000.c (rs6000coff_vec): Add initializer for
bfd_is_target_special_symbol.
	* coff64-rs6000.c (rs6000coff64_vec): Likewise.
	* som.c (som_bfd_is_target_special_symbol): Define.
2004-10-09 02:51:31 +00:00
Bob Wilson
85a5ac8099 Add David Heine and Sterling Augustine to previous ChangeLog entry. 2004-10-08 19:20:13 +00:00
Nick Clifton
873d03ee3a fix spelling typo in previous delta's ChangeLog entry 2004-10-08 14:55:35 +00:00
Nick Clifton
3c9458e953 Implement a new BFD API function: bfd_is_target_special_symbol. Use this in nm
and objdump to skip the displaying of ARM Mapping symbols unless specifically
requested.
2004-10-08 14:54:04 +00:00