Commit graph

2281 commits

Author SHA1 Message Date
Alan Modra
00bb149b28 * emultempl/elf-generic.em (map_segments): Reorganise loop so that
layout happens before segment map.  Don't do segment map on
	relocatable link.
2006-07-26 12:27:12 +00:00
Alan Modra
a7f651f7f2 * ld-scripts/overlay-size-map.d: Update. 2006-07-26 05:10:05 +00:00
Alan Modra
66e28d60cb * ldexp.c (fold_name <LOADADDR>): Use the lma.
* ldlang.h (lang_memory_region_type): Delete old_length.  Add
	last_os.
	* ldlang.c (lang_memory_region_lookup): Init new field.
	(lang_reset_memory_regions): Reset new field.
	(lang_insert_orphan): Don't set load_base.
	(lang_leave_overlay): Likewise.
	(lang_size_sections_1): Delete unnecessary code setting lma_region
	to region.  Correct lma region check.
	(lang_do_assignments_1): Rename output_section_statement parm
	to current_os.  Set lma from previous section in region.
2006-07-26 05:05:52 +00:00
Alan Modra
329c1c8685 * ldlang.c: Formatting. 2006-07-26 00:42:33 +00:00
Bob Wilson
b2f2897591 * emultempl/xtensaelf.em (xtensa_strip_inconsistent_linkonce_sections):
Set discarded section's output_section to bfd_abs_section_ptr.
2006-07-26 00:10:26 +00:00
Thiemo Seufer
6085129af6 * ld-mips-elf/mips16-call-global-2.s,
ld-mips-elf/mips16-call-global-3.s, ld-mips-elf/mips16-call-global.d:
	Improve test robustness.
2006-07-25 16:45:55 +00:00
Alan Modra
7544697a28 * ldlang.c (analyze_walk_wild_section_handler): Init handler_data
earlier.
2006-07-25 14:45:17 +00:00
Bob Wilson
644143c8e1 * emultempl/xtensaelf.em (is_inconsistent_linkonce_section): Add space
in dep_sec_name for null terminator.  Make sure dep_sec_name has a
	".t" linkonce tag.
2006-07-25 00:20:09 +00:00
Nick Clifton
ff15b24025 * emulparams/elf_x86_64.sh (LIBPATH_SUFFIX, ELF_INTERPRETER_NAME): Set for *-*-solaris2*.
* elf.c (bfd_section_from_shdr): Reject unrecognised OS-specific sections
  only if the SHF_OS_NONCONFORMING flag is present.
2006-07-24 18:18:19 +00:00
Nick Clifton
b45619c047 Fix spelling typos 2006-07-24 13:49:50 +00:00
Nick Clifton
50c77e5dcb * ldlang.c (lang_section_bst): New structure for sorting sections by name.
(wild_sort_fast): New function: Insert a section into a binary search tree.
  (output_section_callback_fast): New function: Store a section in BST.
  (output_section_callback_tree_to_list): New function: Convert a BST into a list.
  (analyze_walk_wild_section_handler): Initialize handler_data elements.
  (wild): If the data is sorted by name use the BST method to sort the names.
2006-07-23 15:32:08 +00:00
Nick Clifton
3e4cf9243a * ld-sh/arch/arch.exp (test_arch): Set the endian flag to suit the multilib
being tested.
2006-07-21 09:56:40 +00:00
Thiemo Seufer
35d3d567cc [ bfd/ChangeLog ]
* elf32-mips.c (mips16_jump_reloc): Remove function.
	(elf_mips16_howto_table_rel): Use _bfd_mips_elf_generic_reloc
	instead of mips16_jump_reloc.
	* elf64_mips.c, wlfn32-mips.c (mips16_jump_reloc): Remove function.
	(elf_mips16_howto_table_rel, elf_mips16_howto_table_rela): Use
	_bfd_mips_elf_generic_reloc instead of mips16_jump_reloc.

	[ gas/ChangeLog ]
	* config/tc-mips.c (mips_fix_adjustable): Handle BFD_RELOC_MIPS16_JMP.
	(tc_gen_reloc): Handle mips16 jumps to section symbol offsets.

	[ ld/testsuite/ChangeLog ]
	* ld-mips-elf/mips16-call-global-1.s,
	ld-mips-elf/mips16-call-global-2.s,
	ld-mips-elf/mips16-call-global-3.s, ld-mips-elf/mips16-call-global.d:
	Test linking of external mips16 jumps.
	* ld-mips-elf/mips-elf.exp: Run new test.
2006-07-20 16:46:30 +00:00
Thiemo Seufer
8c991f1883 * ld-selective/selective.exp: Fix selective testcases for MIPS. 2006-07-19 11:49:32 +00:00
Alan Modra
5061a8853b bfd/
* bfd-in.h (enum notice_asneeded_action): Define.
	* bfd-in2.h: Regenerate.
	* elflink.c (elf_link_add_object_symbols): Call linker "notice"
	function with NULL name for as-needed handling.
ld/
	* ld.h (handle_asneeded_cref): Declare.
	* ldcref.c: Include objalloc.h.
	(old_table, old_count, old_tab, alloc_mark): New variables.
	(tabsize, entsize, refsize, old_symcount): Likewise.
	(add_cref): Use bfd_hash_allocate for refs.
	(handle_asneeded_cref): New function.
	* ldmain.c (notice): Call handle_asneeded_cref for NULL name.
2006-07-19 01:50:23 +00:00
Daniel Jacobowitz
d19628a59d * configure.tgt (i[3-7]86-*-solaris2*, i[3-7]86-*-solaris*): Correct
typo setting targ_extra_libpath.
2006-07-14 15:26:36 +00:00
Thiemo Seufer
5bf2ff2f3e * ld-mips-elf/tlslib-o32-ver.got, ld-mips-elf/tlslib-o32.got:
Update TLS testcases.
2006-07-13 10:58:47 +00:00
H.J. Lu
d2dee3b25c bfd/
2006-07-12  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/2884
	* elflink.c (_bfd_elf_merge_symbol): Copy the symbol info from
	the old versioned dynamic definition to the new one with
	non-default visibility.  Hide the symbol if it is hidden or
	internal.

ld/testsuite/

2006-07-12  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/2884
	* ld-elf/begin.c: New file.
	* ld-elf/end.c: Likewise.
	* ld-elf/endhidden.c: Likewise.
	* ld-elf/endprotected.c: Likewise.
	* ld-elf/foo.c: Likewise.
	* ld-elf/foo.map: Likewise.
	* ld-elf/hidden.out: Likewise.
	* ld-elf/main.c: Likewise.
	* ld-elf/normal.out: Likewise.
	* ld-elf/shared.exp: Likewise.

	* lib/ld-lib.exp (run_cc_link_tests): New.
2006-07-12 15:45:33 +00:00
Richard Sandiford
fb405f8a9f bfd/
2006-07-12  Matthew R. Dempsky  <mrd@alkemio.org>

	* cpu-m68k.c (bfd_m68k_compatible): Handle CPU32.

ld/testsuite/
2006-07-12  Richard Sandiford  <richard@codesourcery.com>

	* ld-m68k/merge-ok-1c.d: New test.
	* ld-m68k/m68k.exp: Run it.
2006-07-12 12:47:00 +00:00
Hans-Peter Nilsson
73724cd71b * ld-cris/libdso-2.d: Adjust for recent hash-related changes. 2006-07-11 21:47:41 +00:00
Jakub Jelinek
fdc90cb46b include/
* bfdlink.h (struct bfd_link_info): Add emit_hash and
	emit_gnu_hash bitfields.
include/elf/
	* common.h (SHT_GNU_HASH, DT_GNU_HASH): Define.
ld/
	* scripttempl/elf.sc: Add .gnu.hash section.
	* emultempl/elf32.em (OPTION_HASH_STYLE): Define.
	(gld${EMULATION_NAME}_add_options): Register --hash-style option.
	(gld${EMULATION_NAME}_handle_option): Handle it.
	(gld${EMULATION_NAME}_list_options): Document it.
	* ldmain.c (main): Initialize emit_hash and emit_gnu_hash.
	* ld.texinfo: Document --hash-style option.
bfd/
	* elf.c (_bfd_elf_print_private_bfd_data): Handle DT_GNU_HASH.
	(bfd_section_from_shdr, elf_fake_sections, assign_section_numbers):
	Handle SHT_GNU_HASH.
	(special_sections_g): Include .gnu.hash section.
	(bfd_elf_gnu_hash): New function.
	* elf-bfd.h (bfd_elf_gnu_hash, _bfd_elf_hash_symbol): New prototypes.
	(struct elf_backend_data): Add elf_hash_symbol method.
	* elflink.c (_bfd_elf_link_create_dynamic_sections): Create .hash
	only if info->emit_hash, create .gnu.hash section if
	info->emit_gnu_hash.
	(struct collect_gnu_hash_codes): New type.
	(elf_collect_gnu_hash_codes, elf_renumber_gnu_hash_syms,
	_bfd_elf_hash_symbol): New functions.
	(compute_bucket_count): Don't compute HASHCODES array, instead add
	that and NSYMS as arguments.  Use bed->s->sizeof_hash_entry
	instead of bed->s->arch_size / 8.  Fix .hash size estimation.
	When not optimizing, use the number of hashed symbols rather than
	dynsymcount.
	(bfd_elf_size_dynamic_sections): Only add DT_HASH if info->emit_hash,
	and ADD DT_GNU_HASH if info->emit_gnu_hash.
	(bfd_elf_size_dynsym_hash_dynstr): Size .hash only if info->emit_hash,
	adjust compute_bucket_count caller.  Create and populate .gnu.hash
	section if info->emit_gnu_hash.
	(elf_link_output_extsym): Only populate .hash section if
	finfo->hash_sec != NULL.
	(bfd_elf_final_link): Adjust assertion.  Handle DT_GNU_HASH.
	* elfxx-target.h (elf_backend_hash_symbol): Define if not yet defined.
	(elfNN_bed): Add elf_backend_hash_symbol.
	* elf64-x86-64.c (elf64_x86_64_hash_symbol): New function.
	(elf_backend_hash_symbol): Define.
	* elf32-i386.c (elf_i386_hash_symbol): New function.
	(elf_backend_hash_symbol): Define.
binutils/
	* readelf.c (get_dynamic_type): Handle DT_GNU_HASH.
	(get_section_type_name): Handle SHT_GNU_HASH.
	(dynamic_info_DT_GNU_HASH): New variable.
	(process_dynamic_section): Handle DT_GNU_HASH.
	(process_symbol_table): Print also DT_GNU_HASH histogram.
ld/testsuite/
	* ld-powerpc/tlsso32.r: Adjust.
	* ld-powerpc/tlsso32.d: Adjust.
	* ld-powerpc/tlsso32.g: Adjust.
	* ld-powerpc/tlsso.r: Adjust.
	* ld-powerpc/tlsso.g: Adjust.
	* ld-powerpc/tlstocso.g: Adjust.
2006-07-10 21:40:25 +00:00
Nick Clifton
b83ef3ee25 * po/zh_TW.po: New Chinese (traditional) translation.
* configure.in (ALL_LINGUAS): Add zh_TW.
* configure: Regenerate.
2006-07-10 14:30:41 +00:00
Nick Clifton
71ba23f64d PR ld/2874
* ld.texinfo: Remove "Using LD" from the title since it is redundant.
2006-07-07 11:18:51 +00:00
Nick Clifton
ba1be17eab PR ld/2877
* ld.texinfo: Fix spelling mistakes.
2006-07-06 10:46:46 +00:00
Thiemo Seufer
de4f2349c5 * ld-mips-elf/multi-got-1.d, ld-mips-elf/tls-multi-got-1.got,
ld-mips-elf/tls-multi-got-1.r: Update multigot testcases.
2006-07-05 16:01:38 +00:00
H.J. Lu
10efb593b7 bfd/
2006-06-30  H.J. Lu  <hongjiu.lu@intel.com>

	* elf32-i386.c (elf_i386_relocate_section): Use xchg %ax,%ax
	instead of 2 nops.
	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
	(elf64_x86_64_plt0_entry): Use nopl 0(%rax) instead of 4 nops.

ld/testsuite/

2006-06-30  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-i386/tlsbindesc.dd: Updated to expect xchg %ax,%ax instead
	of 2 nops.
	* ld-i386/tlsdesc.dd: Likewise.
	* ld-i386/tlsgdesc.dd: Likewise.
	* ld-x86-64/tlsbindesc.dd: Likewise.
	* ld-x86-64/tlsdesc.dd: Likewise.
	* ld-x86-64/tlsdesc.pd: Likewise.
	* ld-x86-64/tlsgdesc.dd: Likewise.
2006-06-30 14:16:13 +00:00
Jakub Jelinek
ebcfb3c00f PR ld/2513
* elf32-i386.c (GOT_TLS_MASK, GOT_TLS_IE_IE, GOT_TLS_IE_GD,
	GOT_TLS_IE_MASK, elf_i386_check_relocs, allocate_dynrelocs): Revert
	2006-04-08 changes.
	(elf_i386_relocate_section): Likewise.  For GD->IE transition
	change subl into addl whenever tls_type is GOT_TLS_IE_POS.

	* ld-i386/tlsbin.dd: Fix expected output.
2006-06-29 12:34:37 +00:00
Nick Clifton
b1d9458ab4 * emultempl/pe.em (gld_$_open_dynamic_archive): Compute maximum length of
format strings in the libname_fmt[] array, rather than relying upon a
  statically chosen value.  Adjust xmalloc call to use this longest length.
2006-06-27 11:45:21 +00:00
Nick Clifton
ece2d90e7c (-rpath-link): Clarify distinction between -rpath and -rpath-link. 2006-06-27 08:52:38 +00:00
Daniel Jacobowitz
0faaaeb8fc * configure.tgt (i[3-7]86-*-solaris2*, i[3-7]86-*-solaris*): Set
targ_extra_libpath.
2006-06-23 18:11:47 +00:00
Nick Clifton
5b8273bf5f * pe-dll.c (pe_details_type): Add new pointer for symbols list autofilter.
(autofilter_symbollist): Split into autofilter_symbollist_generic and
    autofilter_symbollist_i386.
  (pe_detail_list): Add autofilter_symbollist_i386 to i386 case and
    autofilter_symbollist_generic for all the others.
  (autofilter_symbolprefixlist): Moved _fmode, _impure_ptr, cygwin_attach_dll,
    cygwin_premain0, cygwin_premain1, cygwin_premain2, cygwin_premain3,
    environ, into autofilter_symbollist_i386.
  (auto_export): Get autofilter_symbollist from pe_details.
2006-06-23 11:20:15 +00:00
Nick Clifton
b952b98f27 PR ld/2757
* emultempl/pe.em (gld_$_after_open): When reporting non PE format output
  files mention the file name and the fact that it is an output file.
2006-06-22 16:25:36 +00:00
Nick Clifton
cf8456db9f Correct comment. 2006-06-22 13:48:30 +00:00
Nick Clifton
45e948fe97 * emultempl/pe.em (gld_${EMULATION_NAME}_open_dynamic_archive): Restructure.
Add native "%s.lib" format to search list
* ld.texinfo (node WIN32): Update documentation on dynamic lib search order.
   Add another reason for using import libs.
2006-06-22 13:43:04 +00:00
Mark Shinwell
5e542ba70e Fix for segmentation fault.
* ldlang.c (lang_insert_orphan): Correctly handle the case where
	the section is to end up after the section currently at the end
	of the list in output_bfd.
2006-06-21 13:25:54 +00:00
Alan Modra
c219a7a5ff * ld-elf/tls_common.exp: Match 32-bit output. 2006-06-21 05:36:17 +00:00
Hans-Peter Nilsson
a4308b792c * emultempl/mmo.em: Improve comments. Explain why there's
ELF-stuff here.
2006-06-21 02:53:43 +00:00
Alan Modra
f5ff60a6db * emultempl/elf-generic.em (gld${EMULATION_NAME}_map_segments): Limit
loop to ten iterations.  Throw away any previous linker generated
	segment map.
	* ldlang.c (lang_phdr_list): Make global.
	* ldlang.h (lang_phdr_list): Declare.
	* Makefile.am (ELF_GEN_DEPS): Define.  Use in emul deps.
	* Makefile.in: Regenerate.
2006-06-20 16:37:29 +00:00
Jakub Jelinek
6a4a0940e5 * elflink.c (elf_link_add_object_symbols): Don't create .tcommon
section for relocatable link.

	* ld-elf/tls_common.exp: New test.
	* ld-elf/tls_common.s: New file.
2006-06-20 16:36:18 +00:00
Paul Brook
add68859a9 2006-06-19 Vladimir Prus <vladimir@codesourcery.com>
bfd/
	* elf32-arm.c (elf32_arm_swap_symbol_out): Don't set low
	bit for undefined symbols.

	ld/testsuite
	* ld-arm/arm-elf.exp: New test.
	* ld-arm/use-thumb-lib.s: New file.
	* ld-arm/use-thumb-lib.sym: New file.
2006-06-20 13:55:08 +00:00
Alan Modra
8ded5a0fc3 bfd/
* elf-bfd.h: Formatting.
	(_bfd_elf_map_sections_to_segments): Declare.
	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame_hdr): Don't
	clear program_header_size.
	* elf.c (get_program_header_size): Move.  Don't use or set saved
	program_header_size here.
	(elf_modify_segment_map): New function.  Split out from..
	(assign_file_positions_for_load_sections): ..here.  Assert
	header size is correct.  Remove dead code.
	(_bfd_elf_map_sections_to_segments): Rename from
	map_sections_to_segments.  Make global.  Use get_program_header_size
	when we need estimate of header size.  Call elf_modify_segment_map.
	Set program_header_size.
	(print_segment_map): Delete.
	(_bfd_elf_sizeof_headers): If segment_map available, get the
	actual size.
	* elf32-arm.c (elf32_arm_symbian_modify_segment_map): Make safe
	for calling more than once.
	* elf32-bfin.c (elf32_bfinfdpic_modify_segment_map): Likewise.
	* elf32-frv.c (elf32_frvfdpic_modify_segment_map): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise.
	* elf32-i370.c (elf_backend_add_symbol_hook): Delete.
	(elf_backend_additional_program_headers): Delete.
	(elf_backend_modify_segment_map): Delete.
	* elf64-hppa.c (elf64_hppa_modify_segment_map): Convert to ISO C.
	* elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise.
	* doc/bfdint.texi: Delete SIZEOF_HEADERS difficulties.
ld/
	* Makefile.am (ELF_DEPS): Define.  Use in emul file deps.  Fix
	many ELF emul file deps that incorrectly said they needed elf32.em
	instead of generic.em.  Add genelf.em as required.
	* Makefile.in: Regenerate.
	* ldlang.c (lang_process): Call ldemul_finish before
	lang_check_section_addresses.
	* emulparams/arcelf.sh: Generic elf target needs genelf.
	* emulparams/d30v_e.sh: Likewise.
	* emulparams/d30v_o.sh: Likewise.
	* emulparams/d30velf.sh: Likewise.
	* emulparams/elf32_dlx.sh: Likewise.
	* emulparams/elf32_i860.sh: Likewise.
	* emulparams/elf32fr30.sh: Likewise.
	* emulparams/elf32frv.sh: Likewise.
	* emulparams/elf32iq10.sh: Likewise.
	* emulparams/elf32iq2000.sh: Likewise.
	* emulparams/elf32mt.sh: Likewise.
	* emulparams/mn10200.sh: Likewise.
	* emulparams/or32.sh: Likewise.
	* emulparams/or32elf.sh: Likewise.
	* emulparams/pjelf.sh: Likewise.
	* emulparams/msp430all.sh: Likewise.  Extract common entries.
	* emulparams/pjlelf.sh: Include pjelf.sh.
	* emulparams/elf32frvfd.sh (EXTRA_EM_FILE): Unset.
	* emulparams/mn10300.sh (EXTRA_EM_FILE): Unset.
	* emultempl/elf-generic.em: New file.
	* emultempl/genelf.em: New file.
	* emultempl/elf32.em: Include elf-generic.em.
	(gld${EMULATION_NAME}_layout_sections_again): Delete.
	(gld${EMULATION_NAME}_finish): Call gld${EMULATION_NAME}_map_segments.
	* emultempl/hppaelf.em (hppaelf_layout_sections_again): Likewise.
	(gld${EMULATION_NAME}_finish): Rename from hppaelf_finish.  Call
	gld${EMULATION_NAME}_map_segments.
	(LDEMUL_FINISH): Update.
	* emultempl/mmo.em: Correct comment.  Include elf-bfd.h and
	source elf-generic.em.
	(mmo_finish): Call gld${EMULATION_NAME}_map_segments.
	* emultempl/ppc64elf.em (ppc_layout_sections_again): Likewise.
	(gld${EMULATION_NAME}_finish): Rename from ppc_finish.  Call
	gld${EMULATION_NAME}_map_segments.
	(LDEMUL_FINISH): Update.
ld/testsuite/
	* ld-elf/eh1.d: Update for fewer program headers.
	* ld-elf/eh2.d: Likewise.
	* ld-elf/eh3.d: Likewise.
2006-06-20 02:22:16 +00:00
Paul Brook
0fa3dcad7e 2006-06-19 Vladimir Prus <vladimir@codesourcery.com>
bfd/
	* elf32-arm.c (elf32_arm_swap_symbol_out): Don't set low
	bit for undefined symbols.

	ld/testsuite
	* ld-arm/arm-elf.exp: New test.
	* ld-arm/use-thumb-lib.s: New file.
	* ld-arm/use-thumb-lib.sym: New file.
2006-06-19 14:22:27 +00:00
Alan Modra
a6b96bebd2 bfd/
* elf-bfd.h (struct elf_backend_data): Add bfd_link_info pointer
	parameter.
	(_bfd_elf_sizeof_headers): Replace bfd_boolean param with
	bfd_link_info pointer.
	* targets.c (struct bfd_target <_bfd_sizeof_headers>): Likewise.
	* bfd.c (bfd_sizeof_headers): Tweak param name.
	* aout-adobe.c (aout_adobe_sizeof_headers): Adjust.
	* aoutx.h (NAME (aout, sizeof_headers)): Adjust.
	* binary.c (binary_sizeof_headers): Adjust.
	* bout.c (b_out_sizeof_headers): Adjust.
	* coff-rs6000.c (_bfd_xcoff_sizeof_headers): Adjust.
	* coff64-rs6000.c (xcoff64_sizeof_headers): Adjust.
	* coffgen.c (coff_sizeof_headers): Adjust.
	* ecoff.c (_bfd_ecoff_sizeof_headers): Adjust.
	(ecoff_compute_section_file_positions): Adjust.
	(_bfd_ecoff_write_object_contents): Adjust.
	* elf.c (get_program_header_size, _bfd_elf_sizeof_headers): Adjust.
	* elf32-arm.c (elf32_arm_additional_program_headers): Adjust.
	* elf32-i370.c (elf_backend_additional_program_headers): Adjust.
	* elf32-ppc.c (ppc_elf_additional_program_headers): Adjust.
	* elf64-hppa.c (elf64_hppa_additional_program_headers): Adjust.
	* elf64-x86-64.c (elf64_x86_64_additional_program_headers): Adjust.
	* elfxx-ia64.c (elfNN_ia64_additional_program_headers): Adjust.
	* elfxx-mips.c (_bfd_mips_elf_additional_program_headers): Adjust.
	* elfxx-mips.h (_bfd_mips_elf_additional_program_headers): Adjust.
	* i386msdos.c: Convert to ISO C.
	(msdos_sizeof_headers): Adjust.
	* i386os9k.c: Convert to ISO C.
	(os9k_sizeof_headers): Adjust.
	* ieee.c (ieee_sizeof_headers): Adjust.
	* ihex.c (ihex_sizeof_headers): Adjust.
	* libaout.h (NAME (aout, sizeof_headers)): Adjust.
	* libbfd-in.h (_bfd_nolink_sizeof_headers): Adjust.
	* libcoff-in.h (coff_sizeof_headers): Adjust.
	* libecoff.h (_bfd_ecoff_sizeof_headers): Adjust.
	* mach-o.c (bfd_mach_o_sizeof_headers): Adjust.
	* mmo.c (mmo_sizeof_headers): Adjust.
	* oasys.c (oasys_sizeof_headers): Adjust.
	* pdp11.c (NAME (aout, sizeof_headers)): Adjust.
	* pef.c (bfd_pef_sizeof_headers): Adjust.
	* ppcboot.c (ppcboot_sizeof_headers): Adjust.
	* som.c (som_sizeof_headers): Adjust.
	* srec.c (srec_sizeof_headers): Adjust.
	* tekhex.c (tekhex_sizeof_headers): Adjust.
	* versados.c (versados_sizeof_headers): Adjust.
	* vms.c (vms_sizeof_headers): Adjust.
	* xcoff-target.h (_bfd_xcoff_sizeof_headers): Adjust.
	* xsym.c (bfd_sym_sizeof_headers): Adjust.
	* xsym.h (bfd_sym_sizeof_headers): Adjust.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.
	* libcoff.h: Regenerate.
ld/
	* ldexp.c (fold_name): Adjust bfd_sizeof_headers call.
2006-06-19 13:17:44 +00:00
Mark Shinwell
4962c51a67 * include/elf/arm.h: Correct names of R_ARM_LDC_G{0,1,2}
to R_ARM_LDC_SB_G{0,1,2} respectively.

bfd/
	* bfd-in2.h: Regenerate.
	* elf32-arm.c (R_ARM_ALU_PC_G0_NC, R_ARM_ALU_PC_G0,
	R_ARM_ALU_PC_G1_NC, R_ARM_ALU_PC_G1, R_ARM_ALU_PC_G2,
	R_ARM_LDR_PC_G1, R_ARM_LDR_PC_G2, R_ARM_LDRS_PC_G0,
	R_ARM_LDRS_PC_G1, R_ARM_LDRS_PC_G2, R_ARM_LDC_PC_G0,
	R_ARM_LDC_PC_G1, R_ARM_LDC_PC_G2, R_ARM_ALU_SB_G0_NC,
	R_ARM_ALU_SB_G0, R_ARM_ALU_SB_G1_NC, R_ARM_ALU_SB_G1,
	R_ARM_ALU_SB_G2, R_ARM_LDR_SB_G0, R_ARM_LDR_SB_G1,
	R_ARM_LDR_SB_G2, R_ARM_LDRS_SB_G0, R_ARM_LDRS_SB_G1,
	R_ARM_LDRS_SB_G2, R_ARM_LDC_SB_G0, R_ARM_LDC_SB_G1,
	R_ARM_LDC_SB_G2): New relocation types.
	(R_ARM_PC13): Rename to AAELF name R_ARM_LDR_PC_G0 and
	adjust HOWTO entry to be consistent with R_ARM_LDR_PC_G1
	and friends.
	(elf32_arm_howto_table_3): Delete; contents merged into
	elf32_arm_howto_table_2.
	(elf32_arm_howto_from_type): Adjust correspondingly.
	(elf32_arm_reloc_map): Extend with the above relocations.
	(calculate_group_reloc_mask): New function.
	(identify_add_or_sub): New function.
	(elf32_arm_final_link_relocate): Support for the above
	relocations.
	* reloc.c: Add enumeration entries for BFD_RELOC_ARM_...
	codes to correspond to the above relocations.

gas/
	* config/tc-arm.c (enum parse_operand_result): New.
	(struct group_reloc_table_entry): New.
	(enum group_reloc_type): New.
	(group_reloc_table): New array.
	(find_group_reloc_table_entry): New function.
	(parse_shifter_operand_group_reloc): New function.
	(parse_address_main): New function, incorporating code
	from the old parse_address function.  To be used via...
	(parse_address): wrapper for parse_address_main; and
	(parse_address_group_reloc): new function, likewise.
	(enum operand_parse_code): New codes OP_SHG, OP_ADDRGLDR,
	OP_ADDRGLDRS, OP_ADDRGLDC.
	(parse_operands): Support for these new operand codes.
	New macro po_misc_or_fail_no_backtrack.
	(encode_arm_cp_address): Preserve group relocations.
	(insns): Modify to use the above operand codes where group
	relocations are permitted.
	(md_apply_fix): Handle the group relocations
	ALU_PC_G0_NC through LDC_SB_G2.
	(tc_gen_reloc): Likewise.
	(arm_force_relocation): Leave group relocations for the linker.
	(arm_fix_adjustable): Likewise.

gas/testsuite/
	* gas/arm/group-reloc-alu.d: New test.
	* gas/arm/group-reloc-alu-encoding-bad.d: New test.
	* gas/arm/group-reloc-alu-encoding-bad.l: New test.
	* gas/arm/group-reloc-alu-encoding-bad.s: New test.
	* gas/arm/group-reloc-alu-parsing-bad.d: New test.
	* gas/arm/group-reloc-alu-parsing-bad.l: New test.
	* gas/arm/group-reloc-alu-parsing-bad.s: New test.
	* gas/arm/group-reloc-alu.s: New test.
	* gas/arm/group-reloc-ldc.d: New test.
	* gas/arm/group-reloc-ldc-encoding-bad.d: New test.
	* gas/arm/group-reloc-ldc-encoding-bad.l: New test.
	* gas/arm/group-reloc-ldc-encoding-bad.s: New test.
	* gas/arm/group-reloc-ldc-parsing-bad.d: New test.
	* gas/arm/group-reloc-ldc-parsing-bad.l: New test.
	* gas/arm/group-reloc-ldc-parsing-bad.s: New test.
	* gas/arm/group-reloc-ldc.s: New test.
	* gas/arm/group-reloc-ldr.d: New test.
	* gas/arm/group-reloc-ldr-encoding-bad.d: New test.
	* gas/arm/group-reloc-ldr-encoding-bad.l: New test.
	* gas/arm/group-reloc-ldr-encoding-bad.s: New test.
	* gas/arm/group-reloc-ldr-parsing-bad.d: New test.
	* gas/arm/group-reloc-ldr-parsing-bad.l: New test.
	* gas/arm/group-reloc-ldr-parsing-bad.s: New test.
	* gas/arm/group-reloc-ldr.s: New test.
	* gas/arm/group-reloc-ldrs.d: New test.
	* gas/arm/group-reloc-ldrs-encoding-bad.d: New test.
	* gas/arm/group-reloc-ldrs-encoding-bad.l: New test.
	* gas/arm/group-reloc-ldrs-encoding-bad.s: New test.
	* gas/arm/group-reloc-ldrs-parsing-bad.d: New test.
	* gas/arm/group-reloc-ldrs-parsing-bad.l: New test.
	* gas/arm/group-reloc-ldrs-parsing-bad.s: New test.
	* gas/arm/group-reloc-ldrs.s: New test.

ld/testsuite/
	* ld-arm/group-relocs-alu-bad.d: New test.
	* ld-arm/group-relocs-alu-bad.s: New test.
	* ld-arm/group-relocs.d: New test.
	* ld-arm/group-relocs-ldc-bad.d: New test.
	* ld-arm/group-relocs-ldc-bad.s: New test.
	* ld-arm/group-relocs-ldr-bad.d: New test.
	* ld-arm/group-relocs-ldr-bad.s: New test.
	* ld-arm/group-relocs-ldrs-bad.d: New test.
	* ld-arm/group-relocs-ldrs-bad.s: New test.
	* ld-arm/group-relocs.s: New test.
	* ld-arm/arm-elf.exp: Wire in new tests.
2006-06-15 11:03:02 +00:00
Richard Sandiford
cc3e26bed7 bfd/
* elf32-m68k.c (elf_m68k_plt_info): New structure.
	(elf_m68k_plt0_entry): Add R_68K_PC32-style in-place addends.
	(elf_m68k_plt_entry): Likewise.
	(elf_m68k_plt_info): New table.
	(CFV4E_PLT_ENTRY_SIZE): Rename to...
	(ISAB_PLT_ENTRY_SIZE): ...this.
	(CFV4E_FLAG): Delete.
	(elf_cfv4e_plt0_entry): Rename to...
	(elf_isab_plt0_entry): ...this.  Adjust comments.  Use (-6,%pc,%d0)
	for the second instruction too.
	(elf_cfv4e_plt_entry): Rename to...
	(elf_isab_plt_entry): ...this.  Adjust comments and use (-6,%pc,%d0).
	(elf_isab_plt_info): New table.
	(CPU32_FLAG): Delete.
	(PLT_CPU32_ENTRY_SIZE): Rename to...
	(CPU32_PLT_ENTRY_SIZE): ...this.
	(elf_cpu32_plt0_entry): Update bounds accordingly.  Add R_68K_PC32-
	style in-place addends.
	(elf_cpu32_plt_entry): Likewise.
	(elf_cpu32_plt_info): New table.
	(elf_m68k_link_hash_table): Add a plt_info field.
	(elf_m68k_link_hash_table_create): Initialize it.
	(elf_m68k_get_plt_info): New function.
	(elf_m68k_always_size_sections): Likewise.
	(elf_m68k_adjust_dynamic_symbol): Use the plt_info hash table field.
	(elf_m68k_install_pc32): New function.
	(elf_m68k_finish_dynamic_symbol): Factor code using plt_info and
	elf_m68k_install_pc32.
	(elf_m68k_finish_dynamic_sections): Likewise.
	(elf_m68k_plt_sym_val): Use elf_m68k_get_plt_info.
	(elf_backend_always_size_sections): Define.

ld/testsuite/
	* ld-m68k/plt1.s, ld-m68k/plt1-empty.s, ld-m68k/plt1.ld: New files.
	* ld-m68k/plt1-68020.d, ld-m68k/plt1-cpu32.d: Likewise.
	* ld-m68k/plt1-isab.d: Likewise.
	* ld-m68k/m68k.exp: Run new PLT tests.
2006-06-14 08:27:41 +00:00
Alan Modra
5fa222e442 * ld.texinfo: Document new -z lazy option.
* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Handle
	new option.
	(gld${EMULATION_NAME}_list_options): Update help text.
2006-06-14 02:43:58 +00:00
Fred Fish
ce28273f99 Reviewed and approved by Daniel Jacobowitz and Thiemo Seufer
2006-06-12  Fred Fish  <fnf@specifix.com>
	* emulparams/elf32bmip.sh (OTHER_SECTIONS): Keep the
	".mdebug.<abi>" and ".gcc_compiled_long<size>" sections
	generated by mips gcc.
2006-06-12 12:36:26 +00:00
Thiemo Seufer
7fd91fe0bb [ bfd/ChangeLog ]
* elf32-mips.c: Expand comment about ABI-mandated pagesize values.
	(ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): define in a more obvious way.
	* elf64-mips.c, elfn32-mips.c (ELF_MAXPAGESIZE): Fix value for IRIX6.
	Delete old comments.
	(ELF_COMMONPAGESIZE): Define in a more obvious way.

	[ ld/ChangeLog ]
	* emulparams/elf64bmip.sh, emulparams/elf64btsmip.sh (COMMONPAGESIZE):
	Define.

	[ ld/testsuite/ChangeLog ]
	* ld-mips-elf/multi-got-no-shared.d: Adjust for recent change of
	ELF_MAXPAGESIZE.
2006-06-12 11:35:45 +00:00
Richard Sandiford
5108fc1bc9 bfd/
* elfxx-mips.c (mips_elf_link_hash_table): Add function_stub_size.
	(STUB_ORI): New macro.
	(STUB_LI16U): Fix formatting.
	(MIPS_FUNCTION_STUB_SIZE): Delete.
	(MIPS_FUNCTION_STUB_MAX_SIZE): Likewise.
	(MIPS_FUNCTION_STUB_NORMAL_SIZE): New macro.
	(MIPS_FUNCTION_STUB_BIG_SIZE): Likewise.
	(_bfd_mips_elf_adjust_dynamic_symbol): Use htab->function_stub_size
	instead of MIPS_FUNCTION_STUB_SIZE.
	(count_section_dynsyms): New function, split out from
	_bfd_mips_elf_final_link.
	(_bfd_mips_elf_always_size_sections): Get a worst-case estimate
	of the number of dynamic symbols needed and use it to set up
	function_stub_size.  Use function_stub_size rather than
	MIPS_FUNCTION_STUB_SIZE to determine the size of the stub section.
	Use 16-byte stubs for 0x10000 dynamic symbols.
	(_bfd_mips_elf_size_dynamic_sections): Use htab->function_stub_size
	instead of MIPS_FUNCTION_STUB_SIZE.  Fix formatting.
	(_bfd_mips_elf_finish_dynamic_symbol): Likewise.  Change the
	size of the stub buffer from MIPS_FUNCTION_STUB_MAX_SIZE to
	MIPS_FUNCTION_STUB_BIG_SIZE.  Tweak the check for unhandled dynindxes.
	Use MIPS_FUNCTION_STUB_BIG_SIZE rather than a hard-coded 20.
	Use STUB_ORI rather than STUB_LI16U for big stubs.
	(_bfd_mips_elf_link_hash_table_create): Initialize function_stub_size.
	(_bfd_mips_elf_final_link): Use count_section_dynsyms.

ld/testsuite/
	* ld-mips-elf/stub-dynsym-1.s,
	* ld-mips-elf/stub-dynsym-1.ld,
	* ld-mips-elf/stub-dynsym-1-7fff.d,
	* ld-mips-elf/stub-dynsym-1-8000.d,
	* ld-mips-elf/stub-dynsym-1-fff0.d,
	* ld-mips-elf/stub-dynsym-1-10000.d,
	* ld-mips-elf/stub-dynsym-1-2fe80.d: New test.
	* ld-mips-elf/mips-elf.exp: Run it.
2006-06-11 08:33:27 +00:00
Alan Modra
409d7240c7 * ldlang.h (lang_input_statement_type): Use bitfields for booleans.
* ldlang.c (struct out_section_hash_entry): Rename from
	output_statement_hash_entry.  Delete output_section_statement_type
	entry.  Add statement_union_type entry.  Adjust all users.
	(output_section_statement_table): Rename from output_statement_table.
	Adjust all users.
	(output_section_statement_newfunc): Rename from
	output_statement_newfunc.  Adjust all users.
	(output_section_statement_table_init): Rename from
	output_statement_table_init.  Adjust all users.
	(output_section_statement_table_free): Rename from
	output_statement_table_free.  Adjust all users.
2006-06-09 01:13:39 +00:00
Joseph Myers
6648b7cff9 bfd/doc:
* bfd.texinfo: Remove local @tex code.

bfd:
	* po/Make-in (pdf, ps): New dummy targets.

binutils:
	* po/Make-in (pdf, ps): New dummy targets.

gas:
	* po/Make-in (pdf, ps): New dummy targets.

gprof:
	* po/Make-in (pdf, ps): New dummy targets.

ld:
	* po/Make-in (pdf, ps): New dummy targets.

opcodes:
	* po/Make-in (pdf, ps): New dummy targets.
2006-06-07 15:38:01 +00:00
Alan Modra
02a38f9286 * ldlang.h (enum section_type): Delete dsect_section, copy_section,
info_section and overlay_section.  Add noalloc_section.
	* ldlang.c (lang_add_section): Adjust.
	* ldgram.y (type): Adjust.
2006-06-07 04:55:11 +00:00
Alan Modra
65864bd2a6 * ld-elfvers/vers.exp (objdump_versionstuff): Allow versions in
any order.
	* ld-elfvers/vers1.ver: Update.
	* ld-elfvers/vers2.ver: Update.
	* ld-elfvers/vers4a.ver: Update.
	* ld-elfvers/vers7a.ver: Update.
	* ld-elfvers/vers8.ver: Update.
	* ld-elfvers/vers9.ver: Update.
	* ld-elfvers/vers15.ver: Update.
	* ld-elfvers/vers16a.ver: Update.
	* ld-elfvers/vers17.ver: Update.
	* ld-elfvers/vers18.ver: Update.
	* ld-elfvers/vers20.ver: Update.
	* ld-elfvers/vers20a.ver: Update.
	* ld-elfvers/vers21.ver: Update.
	* ld-elfvers/vers22a.ver: Update.
	* ld-elfvers/vers22b.ver: Update.
	* ld-elfvers/vers23a.ver: Update.
	* ld-elfvers/vers23b.ver: Update.
	* ld-elfvers/vers23c.ver: Update.
	* ld-elfvers/vers25a.ver: Update.
	* ld-elfvers/vers26a.ver: Update.
	* ld-elfvers/vers27a.ver: Update.
	* ld-elfvers/vers27d.ver: Update.
	* ld-elfvers/vers28b.ver: Update.
	* ld-elfvers/vers29.ver: Update.
	* ld-elfvers/vers30.ver: Update.
	* ld-elfvers/vers31.ver: Update.
2006-06-06 04:30:21 +00:00
Alan Modra
e0f6802f19 * ldlang.c (init_os): Whitespace.
(map_input_to_output_sections): Don't init_os for lang_input_section.
	(print_all_symbols): Remove forward declaration.  Convert to ISO C.
2006-06-06 02:24:33 +00:00
Daniel Jacobowitz
4cfe2c59ff bfd/, binutils/, gas/, gprof/, ld/, opcodes/
* po/Make-in (top_builddir): Define.
2006-06-05 14:04:05 +00:00
Alan Modra
bac7e5292c * ld-elf/sec64k.exp: Add "main" symbol. Use dc.a for addresses.
Cater for different address sizes.  Match end of line when
	comparing symbols.
	* ld-elf/start.s: Use dc.a for addresses.
2006-06-05 12:53:50 +00:00
Alan Modra
65ede3f489 * ldexp.c (exp_get_abs_int): Make error message the same as
others emitted in this file.
2006-06-05 12:45:34 +00:00
Alan Modra
8c61c1533b * config.in: Regenerate. 2006-06-05 12:30:16 +00:00
Alan Modra
87aa7f19be * ldlang.c (lookup_name): Delete dead code. Remove FIXMEs. 2006-06-05 06:12:40 +00:00
Alan Modra
e13629bc07 * emultempl/elf32.em (global_found): Make it a pointer.
(stat_needed, try_needed): Adjust.
	(check_needed): Don't skip non-loaded as-needed entries.  Only
	consider entries with both filename and the_bfd non-null.
	(after_open): Try loading non-loaded as-needed libs to satisfy
	DT_NEEDED libs.
2006-06-03 02:45:26 +00:00
Joseph Myers
e10fad1212 binutils:
* doc/Makefile.am (TEXI2DVI): Define.
	* doc/Makefile.in: Regenerate.

gas:
	* doc/Makefile.am (TEXI2DVI): Define.
	* doc/Makefile.in: Regenerate.
	* doc/c-arc.texi: Fix typo.

ld:
	* Makefile.am (TEXI2DVI): Add -I $(top_srcdir)/../libiberty.
	* Makefile.in: Regenerate.
2006-06-02 23:08:12 +00:00
Alan Modra
92c6c67a5d * ld-powerpc/tlsexe.r: Update for removal of some section syms.
* ld-powerpc/tlsexetoc.r: Likewise.
	* ld-powerpc/tlsso.r: Likewise.
	* ld-powerpc/tlstocso.r: Likewise.
	* ld-s390/tlsbin_64.rd: Likewise.
	* ld-s390/tlspic_64.rd: Likewise.
2006-06-02 07:53:30 +00:00
Alan Modra
f0b5bb34d5 bfd/
PR ld/2723
	* elflink.c (bfd_elf_final_link): Don't output section symbols
	for special ELF sections.
ld/testsuite/
Update for removal of some section syms.
2006-06-02 00:32:00 +00:00
H.J. Lu
1224efb888 include/elf/
2006-05-31  H.J. Lu  <hongjiu.lu@intel.com>

	* internal.h (ELF_SECTION_SIZE): New.
	(ELF_IS_SECTION_IN_SEGMENT): Likewise.
	(ELF_IS_SECTION_IN_SEGMENT_FILE): Updated.
	(ELF_IS_SECTION_IN_SEGMENT_MEMORY): Likewise.

ld/testsuite/

2006-05-31  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-elf/binutils.exp: Make it Linux only.
	(strip_test): Renamed to binutils_test. Check for unsupported
	options.
	Add more tests.

	* ld-elf/commonpage1.d: Make it Linux only.
	* ld-elf/maxpage1.d: Likewise.

	* ld-elf/maxpage1.s: Add main, start and __start.

	* ld-elf/maxpage2.d: New file.
	* ld-elf/tbss1.s: Likewise.
	* ld-elf/tbss2.s: Likewise.
	* ld-elf/tdata1.s: Likewise.
	* ld-elf/tdata2.s: Likewise.
2006-06-01 05:40:24 +00:00
Daniel Jacobowitz
20e95c23ab Configury changes: update src repository (binutils, gdb, and rda) to use
config/gettext-sister.m4 instead of the old gettext.m4.  Regenerate all
affected autotools files.  Include intl in gdb releases again.
2006-05-31 15:14:46 +00:00
H.J. Lu
24718e3ba5 bfd/
2006-05-30  H.J. Lu  <hongjiu.lu@intel.com>

	* bfd.c (bfd_emul_get_maxpagesize): New.
	(bfd_elf_set_pagesize): Likewise.
	(bfd_emul_set_maxpagesize): Likewise.
	(bfd_emul_get_commonpagesize): Likewise.
	(bfd_emul_set_commonpagesize): Likewise.
	* bfd-in2.h: Regenerated.

	* elf-bfd.h (elf_backend_data): Add commonpagesize.
	(xvec_get_elf_backend_data): New.
	(get_elf_backend_data): Use xvec_get_elf_backend_data.

	* elf32-arm.c (elf32_arm_vxworks_bed): Remove const.
	* elfxx-target.h (elfNN_bed): Likewise.

	* elf32-arm.c (ELF_COMMONPAGESIZE): Defined.
	* elf32-mips.c (ELF_COMMONPAGESIZE): Likewise.
	* elf32-ppc.c (ELF_COMMONPAGESIZE): Likewise.
	* elf32-sh.c (ELF_COMMONPAGESIZE): Likewise.
	* elf32-sh64.c (ELF_COMMONPAGESIZE): Likewise.
	* elf32-sparc.c (ELF_COMMONPAGESIZE): Likewise.
	* elf64-alpha.c (ELF_COMMONPAGESIZE): Likewise.
	* elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise.
	* elf64-sparc.c (ELF_COMMONPAGESIZE): Likewise.
	* elf64-x86-64.c (ELF_COMMONPAGESIZE): Likewise.
	* elfn32-mips.c (ELF_COMMONPAGESIZE): Likewise.
	* elfxx-ia64.c (ELF_COMMONPAGESIZE): Likewise.

	* elfxx-target.h (ELF_COMMONPAGESIZE): Define if not defined.
	(elfNN_bed): Initialize commonpagesize with ELF_COMMONPAGESIZE.

	* targets.c (bfd_find_target): Support NULL abfd.

ld/

2006-05-30  H.J. Lu  <hongjiu.lu@intel.com>

	* emulparams/arcelf.sh (MAXPAGESIZE): Changed to
	"CONSTANT (MAXPAGESIZE)".
	* emulparams/armelf_nbsd.sh: Likewise.
	* emulparams/armelf_vxworks.sh: Likewise.
	* emulparams/armnto.sh: Likewise.
	* emulparams/armsymbian.sh: Likewise.
	* emulparams/crislinux.sh: Likewise.
	* emulparams/elf32_i860.sh: Likewise.
	* emulparams/elf32_i960.sh: Likewise.
	* emulparams/elf32am33lin.sh: Likewise.
	* emulparams/elf32bfinfd.sh: Likewise.
	* emulparams/elf32bmipn32-defs.sh: Likewise.
	* emulparams/elf32frvfd.sh: Likewise.
	* emulparams/elf32i370.sh: Likewise.
	* emulparams/elf32lppcnto.sh: Likewise.
	* emulparams/elf32mcore.sh: Likewise.
	* emulparams/elf32openrisc.sh: Likewise.
	* emulparams/elf32ppcnto.sh: Likewise.
	* emulparams/elf32ppcwindiss.sh: Likewise.
	* emulparams/elf32vax.sh: Likewise.
	* emulparams/elf32xc16x.sh: Likewise.
	* emulparams/elf32xc16xl.sh: Likewise.
	* emulparams/elf32xc16xs.sh: Likewise.
	* emulparams/elf64_aix.sh: Likewise.
	* emulparams/elf64hppa.sh: Likewise.
	* emulparams/elf64mmix.sh: Likewise.
	* emulparams/elf_i386_be.sh: Likewise.
	* emulparams/elf_i386_chaos.sh: Likewise.
	* emulparams/elf_i386_ldso.sh: Likewise.
	* emulparams/hppa64linux.sh: Likewise.
	* emulparams/hppalinux.sh: Likewise.
	* emulparams/hppaobsd.sh: Likewise.
	* emulparams/i386lynx.sh: Likewise.
	* emulparams/i386moss.sh: Likewise.
	* emulparams/i386nto.sh: Likewise.
	* emulparams/i386nw.sh: Likewise.
	* emulparams/m32relf_linux.sh: Likewise.
	* emulparams/m68kpsos.sh: Likewise.
	* emulparams/or32elf.sh: Likewise.
	* emulparams/pjelf.sh: Likewise.
	* emulparams/pjlelf.sh: Likewise.
	* emulparams/ppclynx.sh: Likewise.
	* emulparams/ppcnw.sh: Likewise.
	* emulparams/shelf32_nbsd.sh : Likewise.
	* emulparams/shelf_nbsd.sh: Likewise.
	* emulparams/shelf_nto.sh: Likewise.
	* emulparams/shlelf_nto.sh: Likewise.
	* emulparams/xtensa-config.sh: Likewise.

	* emulparams/armelf_linux.sh (MAXPAGESIZE): Changed to
	"CONSTANT (MAXPAGESIZE)".
	(COMMONPAGESIZE): Changed to "CONSTANT (COMMONPAGESIZE)".
	* emulparams/elf32_sparc.sh: Likewise.
	* emulparams/elf32bmip.sh: Likewise.
	* emulparams/elf32ppccommon.sh: Likewise.
	* emulparams/elf64_ia64.sh: Likewise.
	* emulparams/elf64_s390.sh: Likewise.
	* emulparams/elf64_sparc.sh: Likewise.
	* emulparams/elf64alpha.sh: Likewise.
	* emulparams/elf64ppc.sh: Likewise.
	* emulparams/elf_i386.sh: Likewise.
	* emulparams/elf_i386_vxworks.sh: Likewise.
	* emulparams/elf_s390.sh: Likewise.
	* emulparams/elf_x86_64.sh: Likewise.
	* emulparams/shlelf32_linux.sh: Likewise.
	* emulparams/shlelf_linux.sh: Likewise.

	* emulparams/elf32bmipn32.sh (COMMONPAGESIZE): Changed to
	"CONSTANT (COMMONPAGESIZE)".
	* emulparams/elf32btsmipn32.sh: Likewise.

	* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Add
	"-z max-page-size=" and "-z common-page-size=".
	(gld${EMULATION_NAME}_list_options): Likewise.

	* ld.h (ld_config_type): Add maxpagesize and commonpagesize.

	* ld.texinfo: Document "-z max-page-size=" and
	"-z common-page-size=".

	* ldexp.c (exp_print_token): Handle CONSTANT.
	(fold_name): Likewise.
	* ldgram.y: Likewise.
	* ldlex.l: Likewise.

	* ldmain.c (main): Initiliaze config.maxpagesize and
	config.commonpagesize. Call bfd_emul_set_maxpagesize if
	config.maxpagesize isn't 0. Call bfd_emul_set_commonpagesize if
	config.commonpagesize config.maxpagesize isn't 0.
ld/testsuite/

2006-05-30  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-elf/binutils.exp: New file.
	* ld-elf/commonpage1.d: Likewise.
	* ld-elf/maxpage1.d: Likewise.
	* ld-elf/maxpage1.s: Likewise.
2006-05-30 16:45:32 +00:00
Nick Clifton
eebf07fbf5 Update Spanish translation 2006-05-30 11:01:59 +00:00
H.J. Lu
f7661549c7 bfd/
2006-05-25  H.J. Lu  <hongjiu.lu@intel.com>

	* elf64-x86-64.c (ELF_MAXPAGESIZE): Updated to 0x200000.

ld/

2006-05-25  H.J. Lu  <hongjiu.lu@intel.com>

	* emulparams/elf_x86_64.sh (MAXPAGESIZE): Updated to 0x200000.

ld/testsuite/

2006-05-25  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-x86-64/tlsbin.dd: Updated for 2MB maximum page size.
	* ld-x86-64/tlsbin.rd: Likewise.
	* ld-x86-64/tlsbin.sd: Likewise.
	* ld-x86-64/tlsbin.td: Likewise.
	* ld-x86-64/tlsbindesc.dd: Likewise.
	* ld-x86-64/tlsbindesc.rd: Likewise.
	* ld-x86-64/tlsbindesc.sd: Likewise.
	* ld-x86-64/tlsbindesc.td: Likewise.
	* ld-x86-64/tlsdesc.dd: Likewise.
	* ld-x86-64/tlsdesc.pd: Likewise.
	* ld-x86-64/tlsdesc.rd: Likewise.
	* ld-x86-64/tlsdesc.sd: Likewise.
	* ld-x86-64/tlsdesc.td: Likewise.
	* ld-x86-64/tlsgdesc.dd: Likewise.
	* ld-x86-64/tlspic.dd: Likewise.
	* ld-x86-64/tlspic.rd: Likewise.
	* ld-x86-64/tlspic.sd: Likewise.
	* ld-x86-64/tlspic.td: Likewise.
2006-05-26 02:44:19 +00:00
H.J. Lu
314e9a4e32 bfd/
2006-05-24  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/1485
	* config.bfd: Set want64 to true if 64bit bfd is used.
	(sh-*-linux*): Use targ64_selvecs for 64bit targets.
	(sh*l*-*-netbsdelf*): Likewise.
	(sh-*-netbsdelf*): Likewise.
	(shl*-*-elf*): Likewise.
	(sh[1234]l*-*-elf*): Likewise.
	(sh3el*-*-elf*): Likewise.
	(shl*-*-kaos*): Likewise.
	(sh-*-elf*): Likewise.
	(sh[1234]*-elf*): Likewise.
	(sh-*-rtems*): Likewise.
	(sh-*-kaos*): Likewise.

ld/

2006-05-24  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/1485
	* configure.in: Use ${srcdir}/../bfd/config.bfd to check 64bit
	bfd.  Support 64bit host for --enable-targets=all.
	* configure: Regenerated.
2006-05-25 01:03:09 +00:00
Paul Brook
4e617b1e97 2006-05-24 Paul Brook <paul@codesourcery.com>
bfd/
	* elf-bfd.h (elf_backend_data): Add elf_backend_output_arch_local_syms
	* elf32-arm.c (output_arch_syminfo): Define.
	(elf32_arm_ouput_plt_map_sym, elf32_arm_output_plt_map,
	elf32_arm_output_arch_local_syms): New functions.
	(elf_backend_output_arch_local_syms): Define.
	* elflink.c (bfd_elf_final_link): Call
	elf_backend_output_arch_local_syms.
	* elfxx-target.h (elf_backend_output_arch_local_syms): Provide default
	definition.
	(elfNN_bed): Add elf_backend_output_arch_local_syms.
ld/testsuite/
	* ld-arm/arm-app-abs32.d: Update expected output.
	* ld-arm/arm-app.d: Ditto.
	* ld-arm/arm-lib-plt32.d: Ditto.
	* ld-arm/arm-lib.d: Ditto.
	* ld-arm/mixed-app-v5.d: Ditto.
	* ld-arm/mixed-app.d: Ditto.
	* ld-arm/mixed-lib.d: Ditto.
2006-05-24 17:10:02 +00:00
Nick Clifton
4a4d496a37 Updated Vietnamese and Irish translations 2006-05-24 07:54:45 +00:00
Nick Clifton
28c9d252b4 Add support for AVR6 family 2006-05-24 07:36:12 +00:00
H.J. Lu
f607ec8858 2006-05-23 H.J. Lu <hongjiu.lu@intel.com>
PR ld/2655
	PR ld/2657
	* ld-elf/eh1.d: New file.
	* ld-elf/eh1.s: Likewise.
	* ld-elf/eh1a.s: Likewise.
	* ld-elf/eh2.d: Likewise.
	* ld-elf/eh2a.s: Likewise.
	* ld-elf/eh3.d: Likewise.
	* ld-elf/eh3.s: Likewise.
	* ld-elf/eh3a.s: Likewise.
2006-05-24 02:39:16 +00:00
Daniel Jacobowitz
943284cc7c bfd/
* elflink.c (_bfd_elf_add_dynamic_entry): Remove DT_TEXTREL
	check.
	(bfd_elf_final_link): Add a late DT_TEXTREL check.
	* elfxx-mips.c (MIPS_ELF_READONLY_SECTION): Define.
	(mips_elf_create_dynamic_relocation): Set DF_TEXTREL.
	(_bfd_mips_elf_check_relocs): Delete MIPS_READONLY_SECTION.
	Use MIPS_ELF_READONLY_SECTION.
	(_bfd_mips_elf_size_dynamic_sections): Clear DF_TEXTREL after
	creating DT_TEXTREL.
	(_bfd_mips_elf_finish_dynamic_sections): Clear textrel markers
	if no text relocations were generated.
ld/testsuite/
	* ld-mips-elf/textrel-1.d: Relax some patterns.
2006-05-22 15:06:23 +00:00
Nick Clifton
b7309adaf2 * scripttempl/elf32crx.sc (.rdata): Add .rodata.*. 2006-05-22 08:49:33 +00:00
Nick Clifton
03f4e42f06 fix typo 2006-05-22 08:45:46 +00:00
Nick Clifton
761d8d914d * ld-eld/start.s (start): Add this symbol for SH targets.
(main): Add this symbol for HPPA targets.
2006-05-22 08:45:18 +00:00
Nick Clifton
7ff7c29e1f Remove ChangeLog entries, since the template files were already up to date. 2006-05-22 08:30:57 +00:00
Nick Clifton
5002adadc5 Update translation templates 2006-05-22 08:25:15 +00:00
Alan Modra
9e328bda63 * ld-scripts/empty-orphan.d: Update again. 2006-05-19 11:50:31 +00:00
Alan Modra
c6f90868f6 * ld-scripts/empty-orphan.t: Discard .reginfo.
* ld-scripts/empty-orphan.d: Update.
2006-05-19 06:10:03 +00:00
Alan Modra
f0636a4439 * ldlang.c (lang_size_sections_1): Don't check mem regions for
os->ignored sections.
2006-05-19 06:09:31 +00:00
Daniel Jacobowitz
f86a87568d * ldlang.c (lang_size_sections): Call lang_reset_memory_regions
before redoing one_lang_size_sections_pass.
2006-05-17 16:46:54 +00:00
Thiemo Seufer
1038890526 * ld-elfweak/size2.d, ld-elfweak/size2a.s, ld-elfweak/size2b.s:
Add __start as entry symbol.
2006-05-17 11:30:24 +00:00
Thiemo Seufer
c5eb39efda * ld-elf/orphan.ld: Add placement for MIPS .reginfo section. 2006-05-16 13:58:51 +00:00
Paul Brook
b079691183 2006-05-15 Paul Brook <paul@codesourcery.com>
bfd/
	* cpu-arm.c (bfd_is_arm_mapping_symbol_name): Rename ...
	(bfd_is_arm_special_symbol_name): ... to this.  Add type argument.
	Check symbol name is of specified type.
	* elf32-arm.c (elf32_arm_is_target_special_symbol,
	arm_elf_find_function, elf32_arm_output_symbol_hook): Use
	bfd_is_arm_special_symbol_name.
	* bfd-in.h (BFD_ARM_SPECIAL_SYM_TYPE_MAP,
	BFD_ARM_SPECIAL_SYM_TYPE_TAG, BFD_ARM_SPECIAL_SYM_TYPE_OTHER,
	BFD_ARM_SPECIAL_SYM_TYPE_ANY): Define.
	(bfd_is_arm_mapping_symbol_name): Remove prototype.
	(bfd_is_arm_special_symbol_name): Add prototype.
	* bfd-in2.h: Regenerate.
gas/
	* config/tc-arm.c (arm_adjust_symtab): Use
	bfd_is_arm_special_symbol_name.
ld/testsuite/
	* ld-arm/arm-be8.d: New test.
	* ld-arm/arm-be8.s: New test.
	* ld-arm/arm-elf.exp: Add arm-be8.
2006-05-15 19:57:35 +00:00
H.J. Lu
30b2f8e793 2006-05-14 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/stab.d: Skip ia64-*-*.
2006-05-15 00:48:44 +00:00
Carlos O'Donell
370b66a128 bfd/doc/
2006-05-11  Carlos O'Donell  <carlos@codesourcery.com>

	* bfd.texinfo: Rename "Index" to "BFD Index"

gas/

2006-05-11  Carlos O'Donell  <carlos@codesourcery.com>

	* doc/as.texinfo: Rename "Index" to "AS Index",
	and "ABORT" to "ABORT (COFF)".

ld/

2006-05-11  Carlos O'Donell  <carlos@codesourcery.com>

	* ld.texinfo: Rename "Index" to "LD Index"
2006-05-11 16:11:29 +00:00
Paul Brook
b6895b4f37 2006-05-11 Paul Brook <paul@codesourcery.com>
bfd/
	* elf32-arm.c (elf32_arm_reloc_map): Add MOVW and MOVT relocs.
	(elf32_arm_final_link_relocate): Handle MOVW and MOVT relocs.
	(elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto.
	* reloc.c: Ditto.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.
	* libcoff.h: Regenerate.
gas/
	* config/tc-arm.c (parse_half): New function.
	(operand_parse_code): Remove OP_Iffff.  Add OP_HALF.
	(parse_operands): Ditto.
	(do_mov16): Reject invalid relocations.
	(do_t_mov16): Ditto.  Use Thumb reloc numbers.
	(insns): Replace Iffff with HALF.
	(md_apply_fix): Add MOVW and MOVT relocs.
	(tc_gen_reloc): Ditto.
	* doc/c-arm.texi: Document relocation operators
ld/testsuite/
	* ld-arm/arm-elf.exp: Add arm-movwt.
	* ld-arm/arm-movwt.d: New test.
	* ld-arm/arm-movwt.s: New test.
	* ld-arm/arm.ld: Add .far.
2006-05-11 15:17:34 +00:00
Alan Modra
b1f2595c5d * ld-elf/stab.d: New. 2006-05-11 12:35:44 +00:00
Nick Clifton
53baae4870 Apply fixes to allow arm WinCE toolchain to produce working executables. 2006-05-11 08:48:58 +00:00
Thiemo Seufer
1cb571e976 * ld-elf/sec64k.exp: Extend for MIPS ELF. 2006-05-10 15:07:24 +00:00
Alan Modra
d1b46e8025 * ld-powerpc/tlsexetoc.r: Update for correction to tls optimization.
* ld-powerpc/tlsexetoc.g: Likewise.
2006-05-05 13:08:49 +00:00
Alan Modra
2a60a7a82c * ld.texinfo: Document PowerPC and PowerPC64 options.
* gen-doc.texi: Enable.
2006-05-05 00:51:37 +00:00
Daniel Jacobowitz
38fc1cb168 binutils/
* doc/Makefile.am (AM_MAKEINFOFLAGS): New.
	(TEXI2POD): Use AM_MAKEINFOFLAGS.
	(config.texi): Don't set top_srcdir.
	* doc/binutils.texi: Don't use top_srcdir.
	* aclocal.m4, Makefile.in, doc/Makefile.in: Regenerated.
gas/
	* doc/Makefile.am (AM_MAKEINFOFLAGS): New.
	(TEXI2POD): Use AM_MAKEINFOFLAGS.
	(asconfig.texi): Don't set top_srcdir.
	* doc/as.texinfo: Don't use top_srcdir.
	* aclocal.m4, Makefile.in, doc/Makefile.in: Regenerated.
ld/
	* Makefile.am (AM_MAKEINFOFLAGS): Add libiberty.
	(TEXI2POD): Use AM_MAKEINFOFLAGS.
	(configdoc.texi): Don't set top_srcdir.
	* ld.texinfo: Don't use top_srcdir.
	* aclocal.m4, Makefile.in: Regenerated.
2006-05-02 14:20:46 +00:00
H.J. Lu
a78d2a672f 2006-05-02 H.J. Lu <hongjiu.lu@intel.com>
* ld-cdtest/cdtest-foo.cc (Foo::Foo): Add const to char *.
	* ld-cdtest/cdtest-foo.h (Foo::Foo): Likewise.
	* ld-srec/sr3.cc (Foo::Foo): Likewise.
2006-05-02 13:35:45 +00:00
Paul Brook
a8bc6c780e 2006-05-02 Paul Brook <paul@codesourcery.com>
bfd/
	* elf32-arm.c (elf32_arm_final_link_relocate): Set thumb funciton bit
	for R_ARM_REL32.
gas/
	* config/tc-arm.c (arm_optimize_expr): New function.
	* config/tc-arm.h (md_optimize_expr): Define
	(arm_optimize_expr): Add prototype.
	(TC_FORCE_RELOCATION_SUB_SAME): Define.
ld/testsuite/
	* ld-arm/arm-elf.exp: Add thumb-rel32.
	* ld-arm/thumb-rel32.d: New test.
	* ld-arm/thumb-rel32.s: New test.
2006-05-02 13:09:18 +00:00
H.J. Lu
da54898db3 2006-04-26 H.J. Lu <hongjiu.lu@intel.com>
* ld-elfvers/vers.exp: Xfail vers7a, vers7, vers23a, vers23b,
	vers23c, vers23d, vers23, vers25a, vers25b1, vers25b2, vers27a,
	vers27b, vers27c1, vers27c2, vers27d4 and vers27d5 if PIC is
	required.
2006-04-30 00:23:00 +00:00
H.J. Lu
eaa628a1d3 2006-04-25 H.J. Lu <hongjiu.lu@intel.com>
* ld-alpha/tlsbin.rd: Updated for readelf change.
	* ld-alpha/tlsbinr.rd: Likewise.
	* ld-alpha/tlspic.rd: Likewise.
2006-04-25 22:05:15 +00:00
Alan Modra
abe6ac950c * ldlang.c (wild): Tidy default_common_section loop.
(print_input_section): Format.
2006-04-19 02:10:43 +00:00