Commit Graph

112 Commits

Author SHA1 Message Date
Joseph Myers d5da93a2e1 * ld-elf/group.ld: Discard .reginfo. 2007-05-18 19:04:51 +00:00
Paul Brook 30618a1e61 2007-05-17 Paul Brook <paul@codesourcery.com>
ld/testsuite/
	* ld-elf/multibss1.s: Use %nobits instead of @nobits.
2007-05-17 16:54:38 +00:00
H.J. Lu 43edfb7fac 2007-05-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/4504
	* ld-elf/data1.c: New file.
	* ld-elf/data1.h: Likewise.
	* ld-elf/dynbss1.c: Likewise.
	* ld-elf/pass.out: Likewise.

	* ld-elf/shared.exp (build_tests): Add "Build libdata1.so".
	(run_tests): Add "Run with libdata1.so".
2007-05-15 13:57:03 +00:00
Andreas Schwab b7b7fe3f8f * emultempl/ppc64elf.em (gld${EMULATION_NAME}_new_vers_pattern):
Handle null pattern.

testsuite/:
	* ld-elf/dl2a.list: New file.
	* ld-elf/shared.exp: Add test using --dynamic-list=dl2a.list.
2007-05-14 08:53:23 +00:00
Richard Sandiford 8c252fd9c3 bfd/
* elf.c (assign_file_positions_for_load_sections): Use p_memsz
	rather than p_filesz to calculate the LMA of the end of a segment.

ld/testsuite/
	* ld-elf/multibss1.d, ld-elf/multibss1.s: New test.
2007-05-10 14:46:48 +00:00
H.J. Lu f856040acc ld/
2007-04-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/4090
	* ldexp.h (node_type): Add lineno.
	* ldexp.c: Include "ldlex.h".
	(exp_intop): Set the lineno field from lineno.
	(exp_bigintop): Likewise.
	(exp_relop): Likewise.
	(exp_nameop): Likewise.
	(exp_binop): Set the lineno field from lineno of lhs.
	(exp_trinop): Likewise.
	(exp_unop): Set the lineno field from lineno of child.
	(exp_assop): Set the lineno field from lineno of src.
	(exp_provide): Likewise.
	(exp_assert): Set the lineno field from lineno of exp.
	(exp_get_abs_int): Set lineno from lineno of nonconstant
	expression when report problem.

ld/testsuite/

2007-04-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/4090
	* ld-elf/expr1.d: New file.
	* ld-elf/expr1.s: Likewise.
	* ld-elf/expr1.t: Likewise.
2007-04-02 16:32:04 +00:00
Alan Modra 067b934b9a * ld-elf/note-1.s: Increase .foo size. 2007-03-27 14:14:19 +00:00
Alan Modra 34711ca3dd ld/
* ldlang.c (lang_insert_orphan): Provide start/stop loadaddr syms
	rather than defining unconditionally.
	(lang_leave_overlay_section): Likewise.
	* ld.texinfo (Overlay Description): Update description and examples
	for start/stop syms.
ld/testsuite/
	* ld-elf/overlay.d: -u symbols we want to see in the output.
2007-03-24 06:49:03 +00:00
Alan Modra 9f264ea9a7 * ld-elf/elf.exp: Add "--local-store 0:0" to LDFLAGS for spu. 2007-03-22 23:44:00 +00:00
H.J. Lu 0920dee7ba bfd/
2007-03-22  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/4007
	* elf.c (assign_file_positions_for_load_sections): Check if
	all sections are in the segment.

ld/testsuite/

2007-03-22  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/4007
	* ld-elf/note-1.d: New file.
	* ld-elf/note-1.s: Likewise.
	* ld-elf/note-1.t: Likewise.
	* ld-i386/alloc.d: Likewise.
	* ld-i386/alloc.s: Likewise.
	* ld-i386/alloc.t: Likewise.

	* ld-i386/i386.exp: Run "alloc".
2007-03-22 15:50:38 +00:00
Richard Sandiford 6d59ad8298 ld/testsuite/
* ld-elf/extract-symbol-1.ld (data): Explicitly set the start address
	to 0.
2007-03-08 17:54:29 +00:00
Alan Modra f78039904e xfail hppa 2007-03-07 10:25:11 +00:00
Alan Modra ab96bf03fd PR 3958
bfd/
	* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): No error on relocatable link.
	(elf_discarded_section): Move..
	* bfd-in.h: ..to here.
	* bfd-in2.h: Regenerate.
	* elflink.c (elf_link_input_bfd): Don't zap relocs against symbols
	from discarded sections before relocate_section has done its job.
	* reloc.c (bfd_generic_get_relocated_section_contents): Handle
	relocs against symbols from discarded sections.
	* elf-hppa.h (elf_hppa_howto_table): Set size.  Set dst_mask on
	SECREL32.
	(elf_hppa_relocate_section): Handle relocatable link after setting
	sec, sym, h etc. for final link.  Squash error messages for
	relocatable link.  Clear section contents for relocs against
	symbols in discarded sections, and zero reloc.  Remove existing
	zero r_symndx code.
	* elf-m10200.c (mn10200_elf_relocate_section): Likewise.
	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
	* elf32-arm.c (elf32_arm_relocate_section): Likewise.
	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
	* elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
	(bfin_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-m32c.c (m32c_elf_relocate_section): Likewise.
	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
	* elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
	* elf32-mep.c (mep_elf_relocate_section): Likewise.
	* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
	* elf32-mt.c (mt_elf_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-score.c (_bfd_score_elf_relocate_section): Likewise.
	* elf32-sh.c (sh_elf_relocate_section): Likewise.
	* elf32-spu.c (spu_elf_relocate_section): Likewise.
	* elf32-v850.c (v850_elf_relocate_section): Likewise.
	* elf32-vax.c (elf_vax_relocate_section): Likewise.
	* elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
	* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
	* elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
	(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-x86-64.c (elf64_x86_64_relocate_section): Likewise.
	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.

	* elf32-arm.c (elf32_arm_relocate_section): Always adjust section
	symbols for relocatable link.  Don't use always-zero st_value.
	(elf_backend_rela_normal): Don't define.
	* elf32-bfin.c (bfinfdpic_relocate_section): Use
	RELOC_FOR_GLOBAL_SYMBOL.
	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
	* elf32-d10v.c (elf32_d10v_relocate_section): Combine SEC_MERGE
	section symbol adjustments with same for relocatable link.
	* elf32-i386.c (elf_i386_relocate_section): Likewise.
	* elf32-m68hc1x.c (m68hc11_get_relocation_value): Move..
	(elf32_m68hc11_check_relocs): ..to here.
	* elf32-score.c (score_elf_final_link_relocate): Remove zero
	r_symndx code.
	* elfxx-mips.c (mips_elf_calculate_relocation): Likewise.

ld/testsuite/
	* ld-elf/linkonce1.d: New.
	* ld-elf/linkonce1a.s: New.
	* ld-elf/linkonce1b.s: New.
	* ld-elf/linkonce2.d: New.
	* ld-i386/pcrel16abs.d: New.
	* ld-i386/pcrel16abs.s: New.
	* ld-i386/i386.exp: Run it.
2007-03-07 08:54:35 +00:00
H.J. Lu d64cc92a74 2007-03-06 H.J. Lu <hongjiu.lu@intel.com>
PR ld/4144
	* ld-elf/nobits-1.d: New file.
	* ld-elf/nobits-1.s: Likewise.
	* ld-elf/nobits-1.t: Likewise.
2007-03-07 03:58:44 +00:00
Richard Sandiford cde1b43932 ld/testsuite/
* ld-elf/binutils.exp: Revert last change.
2007-03-02 09:20:13 +00:00
Richard Sandiford d3e52d400e binutils/
200x-xx-xx  Phil Edwards  <phil@codesourcery.com>
	    Richard Sandiford  <richard@codesourcery.com>

	* NEWS: Mention addition of --extract-symbol.
	* doc/binutils.texi: Document it.
	* objcopy.c (extract_symbol): New variable.
	(OPTION_EXTRACT_SYMBOLS): New command_line_switch.
	(copy_options): Add an entry for --extract-symbol.
	(copy_usage): Mention --extract-symbol.
	(copy_object): Set the start address to zero for --extract-symbol.
	Do not copy private BFD data in that case.
	(setup_section): Set the size, LMA and VMA to zero for
	--extract-symbol.  Do not copy private BFD data in that case.
	(copy_section): Do not copy section contents if --extract-symbol
	is passed.
	(copy_main): Set extract_symbol to TRUE if --extract-symbol
	is passed.

ld/testsuite/
	* ld-elf/extract-symbol-1sym.d, ld-elf/extract-symbol-1sec.d,
	* ld-elf/extract-symbol-1.s, ld-elf/extract-symbol-1.ld: New tests.
	* ld-elf/binutils.exp: Run them.
2007-03-01 16:39:42 +00:00
H.J. Lu fab4a87f1b bfd/
2007-02-14  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/3953
	* elflink.c (_bfd_elf_add_default_symbol): Check warning symbol
	when adding default symbol.

ld/testsuite/

2007-02-14  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/3953
	* ld-elf/beginwarn.c: New file.
	* ld-elf/warn.out: Likewise.

	* ld-elf/shared.exp (build_tests): Add "Build warn libbar.so".
	(run_tests): Add "Run warn with versioned libfoo.so".

	* lib/ld-lib.exp (default_ld_relocate): Make exec_output global
	and remove target first.
	(default_ld_link): Likewise.
	(default_ld_simple_link): Likewise.
	(run_ld_link_exec_tests): Take an optional linker warning and
	check it.
	(default_ld_link): Check pruned linker output.
2007-02-14 14:15:52 +00:00
Nick Clifton cc9fe4437e PR ld/3805
* ld-elf/sec64k.exp: Expect the relocatable version of this test to fail for
  the m32r because it creates both .rel and .rela sections.
2007-02-06 15:26:53 +00:00
Nathan Sidwell 723cda2582 * ld-elf/header.d: Reduce page size, restrict to linux & vxworks
* ld-elf/header.s: Adjust.
	* ld-elf/header.t: Reduce initial offset.
2007-01-23 16:42:43 +00:00
H.J. Lu d8cf8b5133 ld/
2007-01-19 H.J. Lu  <hongjiu.lu@intel.com>

	* ld.h (args_type): Add new symbolic and dynamic_list fields.

	* ld.texinfo: Update -Bsymbolic-functions.

	* ldmain.c (main): Initialize command_line.symbolic to
	symbolic_unset and command_line.dynamic_list to
	dynamic_list_unset.  Check -Bsymbolic, -Bsymbolic-functions and
	--dynamic-list* before setting link_info.symbolic,
	link_info.dynamic and link_info.dynamic_data.

	* lexsup.c (option_values): Add OPTION_SYMBOLIC_FUNCTIONS.
	(ld_options): Use OPTION_SYMBOLIC_FUNCTIONS with
	-Bsymbolic-functions.
	(parse_args): Handle -Bsymbolic-functions.  Don't set
	link_info.dynamic, link_info.dynamic_data and link_info.symbolic
	here.  Set command_line.symbolic for -Bsymbolic.  Set
	command_line.dynamic_list and command_line.symbolic for
	--dynamic-list-data, --dynamic-list-cpp-new,
	--dynamic-list-cpp-typeinfo and --dynamic-list.

ld/testsuite/

2007-01-19 H.J. Lu  <hongjiu.lu@intel.com>

	* ld-elf/dl6.c: New file.
	* ld-elf/dl6a.out: Likewise.
	* ld-elf/dl6amain.c: Likewise.
	* ld-elf/dl6b.out: Likewise.
	* ld-elf/dl6bmain.c: Likewise.
	* ld-elf/dl6cmain.c: Likewise.
	* ld-elf/dl6dmain.c: Likewise.

	* ld-elf/shared.exp: Add new tests for -Bsymbolic,
	-Bsymbolic-functions, --dynamic-list-data and
	--dynamic-list-cpp-new.
2007-01-19 15:13:29 +00:00
H.J. Lu b814286567 ld/
2007-01-19  Jakub Jelinek  <jakub@redhat.com>
	    H.J. Lu  <hongjiu.lu@intel.com>

	* emultempl/elf32.em (handle_option): Make sure -z max-page-size
	or -z common-page-size argument is a power of 2.  Call
	bfd_emul_set_maxpagesize and bfd_emul_set_commonpagesize.

2007-01-19  H.J. Lu  <hongjiu.lu@intel.com>

	* ldmain.c (main): Don't call bfd_emul_set_maxpagesize nor
	bfd_emul_set_commonpagesize.

ld/testsuite/

2007-01-19  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-elf/maxpage3.t: New file.
	* ld-elf/maxpage3a.d: Likewise.
	* ld-elf/maxpage3b.d: Likewise.
	* ld-elf/maxpage3c.d: Likewise.
2007-01-19 15:06:27 +00:00
H.J. Lu e47251a9cb 2007-01-17 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/header.d: Adjust for .text section with 16byte
	alignment.
2007-01-17 19:17:15 +00:00
H.J. Lu f7a46012c7 2007-01-16 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/dl1main.c (main): Fix a typo.
2007-01-16 18:55:06 +00:00
H.J. Lu 40b36307e3 bfd/
2007-01-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/3831
	* elf-bfd.h (bfd_elf_link_mark_dynamic_symbol): Add an
	argument, Elf_Internal_Sym *.

	* elflink.c (bfd_elf_link_mark_dynamic_symbol): Mark a data
	symbol dynamic if info->dynamic_data is TRUE.
	(bfd_elf_record_link_assignment): Updated call to
	bfd_elf_record_link_assignment.
	(_bfd_elf_merge_symbol): Likewise.  Always call
	bfd_elf_link_mark_dynamic_symbol.

include/

2007-01-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/3831
	* bfdlink.h (bfd_link_info): Rename dynamic to dynamic_list.
	Add dynamic and dynamic_data.

ld/

2007-01-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/3831
	* NEWS: Mention -Bsymbolic-functions, --dynamic-list-data and
	--dynamic-list-cpp-new.

	* ld.texinfo: Document -Bsymbolic-functions, --dynamic-list-data
	and --dynamic-list-cpp-new.

	* ldlang.c (lang_append_dynamic_list_cpp_new): New.
	(lang_process): Change link_info.dynamic to
	link_info.dynamic_list.
	(lang_append_dynamic_list): Likewise.
	* ldmain.c (main): Likewise.  Initialize link_info.dynamic and
	link_info.dynamic_data to FALSE.

	* ldlang.h (lang_append_dynamic_list_cpp_new): New.

	* lexsup.c (option_values): Add OPTION_DYNAMIC_LIST_DATA and
	OPTION_DYNAMIC_LIST_CPP_NEW.
	(ld_options): Add entries for -Bsymbolic-functions,
	--dynamic-list-data and --dynamic-list-cpp-new.  Make
	-Bsymbolic-functions an alias of --dynamic-list-data.
	(parse_args): Change link_info.dynamic to link_info.dynamic_list.
	Set link_info.dynamic to TRUE for --dynamic-list and
	--dynamic-list-cpp-typeinfo.  Handle --dynamic-list-data and
	--dynamic-list-cpp-new.

ld/testsuite/

2007-01-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/3831
	* ld-elf/del.cc: New.
	* ld-elf/dl5.cc: Likewise.
	* ld-elf/dl5.out: Likewise.
	* ld-elf/new.cc: Likewise.

	* ld-elf/shared.exp: Add tests for --dynamic-list-data and
	 --dynamic-list-cpp-new.
2007-01-16 14:56:32 +00:00
Hans-Peter Nilsson c3c6b70e63 * ld-elf/header.d: Allow arbitrary lines between "Program Header"
and "Sections".  Only run on *-*-linux*.
2007-01-12 01:57:28 +00:00
Nathan Sidwell 59e0647f0d bfd/
* elf.c (assign_file_positions_for_load_sections): We can
	require fewer phdrs than expected.
ld/
	* emultempl/elf-generic.em (gdl_map_segments): Only allow header
	shrinkage for the first few iterations.
ld/testsuite/
	* ld-elf/header.d: New.
	* ld-elf/header.t: New.
	* ld-elf/header.s: New.
2007-01-11 12:23:53 +00:00
H.J. Lu 83ad0046cf bfd/
2006-12-29  H.J. Lu  <hongjiu.lu@intel.com>

	* elflink.c (elf_link_add_object_symbols): Remember the symbol
	size only if it is defined.

ld/testsuite/

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

	* ld-elf/wrap.exp: New file.
	* ld-elf/wrap1.c: Likewise.
	* ld-elf/wrap1.out: Likewise.
	* ld-elf/wrap1a.c: Likewise.
	* ld-elf/wrap1b.c: Likewise.
2006-12-29 17:56:32 +00:00
H.J. Lu e5d080028d bfd/
2006-12-07  H.J. Lu <hjl@gnu.org>

	PR ld/3666
	* elflink.c (elf_link_add_object_symbols): Keep symbol
	visibility for symbols from discarded section.

ld/testsuite/

2006-12-07  H.J. Lu <hjl@gnu.org>

	PR ld/3666
	* ld-elf/group3a.d: New file.
	* ld-elf/group3a.s: Likewise.
	* ld-elf/group3b.d: Likewise.
	* ld-elf/group3b.s: Likewise.
2006-12-07 13:32:02 +00:00
Jan Beulich eb3d5f3b94 bfd/
2006-12-04  Jan Beulich  <jbeulich@novell.com>

	* elflink.c (_bfd_elf_link_create_dynamic_sections): Don't create
	.eh_frame_hdr section from here anymore.
	(bfd_elf_size_dynamic_sections): Call _bfd_elf_maybe_strip_eh_frame_hdr
	a little earlier.

ld/
2006-12-04  Jan Beulich  <jbeulich@novell.com>

	* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Create
	.eh_frame_hdr section here.

ld/testsuite/
2006-12-04  Jan Beulich  <jbeulich@novell.com>

	* ld-elf/eh-frame-hdr.d: New.
	* ld-elf/eh-frame-hdr.s: New.
	* ld-ia64/tlsbin.dd, ld-ia64/tlsbin.sd: Don't depend on exact linkage
	table layout.
2006-12-04 08:57:09 +00:00
Thiemo Seufer 0e2bc53a68 * ld-elf/warn2.d: Match regex also for the second segment. 2006-11-23 16:50:39 +00:00
Jakub Jelinek bce613b9bf * elf-eh-frame.c (struct cie): New type.
(cie_compare): Removed.
	(cie_eq, cie_hash, cie_compute_hash): New functions.
	(_bfd_elf_discard_section_eh_frame): Rewrite not to rely on FDEs
	pointing only to last CIE and allow merging of any duplicate CIEs,
	not just duplicate consecutive CIEs.
	(_bfd_elf_discard_section_eh_frame_hdr): Delete cies hash table.
	* elf-bfd.h (struct cie_header, struct cie): Removed.
	(struct eh_frame_sec_info): Remove alloced field.
	(struct eh_frame_hdr_info): Remove last_cie, last_cie_sec
	and last_cie_inf fields.  Add cies field.

	* ld-elf/eh5.d: New test.
	* ld-elf/eh5.s: New file.
	* ld-elf/eh5a.s: New file.
	* ld-elf/eh5b.s: New file.
2006-11-21 11:25:17 +00:00
Alan Modra 9e3be61d60 ld/
* emultempl/elf32.em (gld*_before_allocation): Adjust output section
	size for warning sections.
ld/testsuite/
	* ld-elf/group.ld: Handle .rodata.brlt for powerpc64.
2006-11-08 11:29:16 +00:00
Vladimir Prus d661a1c202 2006-11-07 Vladimir Prus <vladimir@codesourcery.com>
* testsuite/ld-elf/symbol2w.s: Use "%" instead
        of "@" to avoid breakage on ARM.
2006-11-08 10:21:12 +00:00
Vladimir Prus 7d0317c40f 2006-11-06 Vladimir Prus <vladimir@codesourcery.com>
* testsuite/ld-elf/symbol1ref.s: Use ".dc.a" instead
       of ".long".
2006-11-06 12:15:35 +00:00
Vladimir Prus bc251d509b * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
Don't prepend "warning" to the message.
	* testsuite/ld-elf/warn2.d: New.
	* testsuite/ld-elf/symbol2w.s: New.
	* testsuite/ld-elf/symbol2ref.s: New.
2006-11-06 10:39:17 +00:00
Alan Modra e9f5312993 New Cell SPU port. 2006-10-25 06:49:21 +00:00
H.J. Lu 92b7c7b6e9 bfd/
2006-10-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/3290
	* elflink.c (elf_link_add_object_symbols): Hide definitions in
	debug sections.

ld/testsuite/

2006-10-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/3290
	* ld-elf/dummy.c: New file.
	* ld-elf/dwarf.exp: Likewise.
	* ld-elf/dwarf1.c: Likewise.
	* ld-elf/dwarf1.h: Likewise.
	* ld-elf/dwarf1.out: Likewise.
	* ld-elf/dwarf1main.c: Likewise.
2006-10-19 02:40:14 +00:00
H.J. Lu c555238b1a 2006-10-18 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/dl4.c: New file.
	* ld-elf/dl4.list: Likewise.
	* ld-elf/dl4a.out: Likewise.
	* ld-elf/dl4b.out: Likewise.
	* ld-elf/dl4main.c: Likewise.
	* ld-elf/dl4xxx.c: Likewise.
	* ld-elf/dl4xxx.list: Likewise.

	* ld-elf/shared.exp (build_tests): Add libdl4a.so and
	libdl4b.so.
	(run_tests): Likewise.
2006-10-18 16:23:24 +00:00
Alan Modra 74541ad4c0 bfd/
* elf-bfd.h (struct elf_link_hash_table): Reorder.  Add
	text_index_section and data_index_section.
	(struct elf_backend_data): Add elf_backend_init_index_section.
	(_bfd_elf_init_1_index_section): Declare.
	(_bfd_elf_init_2_index_sections): Declare.
	* elfxx-target.h (elf_backend_init_index_section): Define.
	(elfNN_bed): Init new field.
	* elflink.c (_bfd_elf_link_omit_section_dynsym): Keep first tls
	section and text_index_section plus data_index_section.
	(_bfd_elf_link_renumber_dynsyms): Clear dynindx on omitted sections.
	(_bfd_elf_init_1_index_section): New function.
	(_bfd_elf_init_2_index_sections): New function.
	(bfd_elf_size_dynsym_hash_dynstr): Call elf_backend_init_index_section.
	(elf_link_input_bfd): When emitting relocs, use text_index_section
	and data_index_section for removed sections.
	* elf-m10300.c (elf_backend_omit_section_dynsym): Define.
	* elf32-i386.c: Likewise.
	* elf32-m32r.c: Likewise.
	* elf32-sh.c: Likewise.
	* elf32-xstormy16.c: Likewise.
	* elf32-xtensa.c: Likewise.
	* elf64-alpha.c: Likewise.
	* elf64-hppa.c: Likewise.
	* elf64-mmix.c: Likewise.
	* elf64-sh64.c: Likewise.
	* elfxx-ia64.c: Likewise.
	* elf32-arm.c (elf32_arm_final_link_relocate): Use text_index_section
	and data_index_section sym for relocs against sections with no dynamic
	section sym.
	(elf_backend_init_index_section): Define.
	* elf32-cris.c: Similarly.
	* elf32-hppa.c: Similarly.
	* elf32-i370.c: Similarly.
	* elf32-m68k.c: Similarly.
	* elf32-mips.c: Similarly.
	* elf32-ppc.c: Similarly.
	* elf32-s390.c: Similarly.
	* elf32-sparc.c: Similarly.
	* elf32-vax.c: Similarly.
	* elf64-mips.c: Similarly.
	* elf64-ppc.c: Similarly.
	* elf64-s390.c: Similarly.
	* elf64-sparc.c: Similarly.
	* elf64-x86-64.c: Similarly.
	* elfn32-mips.c: Similarly.
	* elfxx-mips.c: Similarly.
	* elfxx-sparc.c: Similarly.
	* linker.c (fix_syms): Base symbols in removed sections on
	previous section in preference to using absolute section.

ld/
	* ldlang.c (strip_excluded_output_sections): Do strip sections
	that define syms, but don't ignore them.
	* ld.texinfo (Output Section Discarding): Revise.
	* emultempl/armcoff.em (gld${EMULATION_NAME}_finish): Always call
	finish_default.

ld/testsuite/
	Update for section sym changes.
2006-10-17 13:41:49 +00:00
Jakub Jelinek ac685e6adf * elf-bfd.h (struct eh_cie_fde): Add set_loc pointer.
* elf-eh-frame.c (skip_cfa_op): Fix handling of DW_CFA_advance_loc.
	Handle DW_CFA_{remember,restore}_state, DW_CFA_GNU_window_save,
	DW_CFA_val_{offset{,_sf},expression}.
	(skip_non_nops): Record number of DW_CFA_set_loc ops.
	(_bfd_elf_discard_section_eh_frame): Require skip_non_nops recognizes
	all ops.  If there are any DW_CFA_set_loc ops and they are pcrel
	or going to be pcrel, compute set_loc array.
	(_bfd_elf_eh_frame_section_offset): If make_relative, kill relocations
	against DW_CFA_set_loc operands.
	(_bfd_elf_write_section_eh_frame): Handle DW_CFA_set_loc adjusting.

	* ld-elf/eh4.d: New test.
	* ld-elf/eh4.s: New file.
	* ld-elf/eh4a.s: New file.
2006-10-03 13:15:39 +00:00
Nick Clifton 1c0d3aa6ae Add support for Score target. 2006-09-16 23:51:50 +00:00
H.J. Lu 65163a8aaa 2006-09-15 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/hash.d: Don't run for mips targets.
2006-09-15 14:55:42 +00:00
H.J. Lu 06010a4e79 2006-09-15 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/loadaddr.s: Pad sections to 16 bytes.
	* ld-elf/loadaddr1.d: Updated.
	* ld-elf/loadaddr2.d: Likewise.
	* ld-elf/loadaddr3a.d: Likewise.
	* ld-elf/loadaddr3b.d: Likewise.
2006-09-15 14:48:46 +00:00
H.J. Lu 41198d0cfa bfd/
2006-09-12  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/3197
	* elflink.c (elf_link_output_extsym): Compute bucket only if
	needed.

ld/testsuite/

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

	PR ld/3197
	* ld-elf/hash.d: New test.
2006-09-12 22:10:31 +00:00
H.J. Lu 55255daec3 bfd/
2006-09-07  H.J. Lu  <hongjiu.lu@intel.com>

	* elf-bfd.h (elf_link_hash_entry): Add a dynamic field.
	(bfd_elf_link_mark_dynamic_symbol): New.
	(SYMBOLIC_BIND): New.

	* elf32-i386.c (elf_i386_check_relocs): Replace info->symbolic
	with SYMBOLIC_BIND (info, h).
	(elf_i386_relocate_section): Likewise.
	* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
	(elf64_x86_64_relocate_section): Likewise.
	* elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise.

	* elflink.c (bfd_elf_link_mark_dynamic_symbol): New.
	(bfd_elf_record_link_assignment): Call
	bfd_elf_link_mark_dynamic_symbol on new entry.
	(_bfd_elf_merge_symbol): Likewise.
	(_bfd_elf_export_symbol): Return if the symbol isn't exported.
	(_bfd_elf_fix_symbol_flags): Replace info->symbolic with
	SYMBOLIC_BIND (info, h).
	(_bfd_elf_dynamic_symbol_p): Likewise.
	(_bfd_elf_symbol_refs_local_p): Likewise.
	(bfd_elf_size_dynamic_sections): Updated.

include/

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

	* bfdlink.h (bfd_elf_dynamic_list): New.
	(bfd_link_info): Add a dynamic field.

ld/

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

	* Makefile.am (CXX): Set to g++.
	(CXX_FOR_TARGET): Likewise.
	* Makefile.in: Regenerated.

	* NEWS: Mention --dynamic-list.

	* ld.texinfo: Document --dynamic-list.

	* ldgram.y: Support dynamic list.

	* ldlang.c (lang_process): Call lang_finalize_version_expr_head
	on link_info.dynamic if needed.
	(lang_append_dynamic_list): New.
	(lang_append_dynamic_list_cpp_typeinfo): New.
	* ldlang.h (lang_append_dynamic_list): Likewise.
	* ldlang.h (lang_append_dynamic_list_cpp_typeinfo): Likewise.

	* ldlex.h (input_enum): Add input_dynamic_list.
	* ldlex.l: Handle it.

	* ldmain.c (main): Initialize link_info.dynamic.

	* lexsup.c (option_values): Add OPTION_DYNAMIC_LIST and
	OPTION_DYNAMIC_LIST_CPP_TYPEINFO.
	(ld_options): Add entries for OPTION_DYNAMIC_LIST and
	OPTION_DYNAMIC_LIST_CPP_TYPEINFO.
	(parse_args): Handle OPTION_DYNAMIC_LIST and
	OPTION_DYNAMIC_LIST_CPP_TYPEINFO.

ld/testsuite/

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

	* ld-elf/dl1.c: New file.
	* ld-elf/dl1.list: Likewise.
	* ld-elf/dl1.out: Likewise.
	* ld-elf/dl1main.c: Likewise.
	* ld-elf/dl2.c: Likewise.
	* ld-elf/dl2.list: Likewise.
	* ld-elf/dl2a.out: Likewise.
	* ld-elf/dl2b.out: Likewise.
	* ld-elf/dl2main.c: Likewise.
	* ld-elf/dl2xxx.c: Likewise.
	* ld-elf/dl2xxx.list: Likewise.
	* ld-elf/dl3.cc: Likewise.
	* ld-elf/dl3.list: Likewise.
	* ld-elf/dl3a.out: Likewise.
	* ld-elf/dl3b.out: Likewise.
	* ld-elf/dl3header.h: Likewise.
	* ld-elf/dl3main.cc: Likewise.

	* ld-elf/shared.exp: Updated.

	* lib/ld-lib.exp (run_ld_link_exec_tests): Take an optional
	argument for source language. Use CC/CXX for link, depending
	on source language.
	(run_cc_link_tests): Likewise.
2006-09-07 17:16:34 +00:00
Alan Modra a0c4652421 Adjust target test. 2006-08-29 05:16:18 +00:00
Alan Modra 0e7461c15f New tests. 2006-08-29 01:24:17 +00:00
H.J. Lu 3085c3308f 2006-08-23 H.J. Lu <hongjiu.lu@intel.com>
PR ld/3052
	* ld-elf/loadaddr1.t: Add "AT (ADDR(.data))".
	* ld-elf/loadaddr2.t: Likewise.
2006-08-23 14:45:30 +00:00
H.J. Lu 20acfda2ef 2006-08-23 H.J. Lu <hongjiu.lu@intel.com>
PR ld/3103
	* ld-elf/overlay.d: New file.
	* ld-elf/overlay.s: Likewise.
	* ld-elf/overlay.t: Likewise.
2006-08-23 14:43:56 +00:00
H.J. Lu 7c9e8d9811 2006-08-18 H.J. Lu <hongjiu.lu@intel.com>
PR ld/3052
	* ld-elf/loadaddr.s: New file.
	* ld-elf/loadaddr1.d: Likewise.
	* ld-elf/loadaddr1.t: Likewise.
	* ld-elf/loadaddr2.d: Likewise.
	* ld-elf/loadaddr2.t: Likewise.
2006-08-18 14:38:00 +00:00