Commit graph

1735 commits

Author SHA1 Message Date
Alan Modra
7e9f086769 bfd/
* elflink.c (elf_link_add_object_symbols): Don't create link dynamic
	sections immediately when linking shared libs.  Instead, wait until
	we know a lib is needed.
	(_bfd_elf_link_create_dynstrtab): Extract from..
	(_bfd_elf_link_create_dynamic_sections_): ..here.
	(elf_add_dt_needed_tag): Call _bfd_elf_link_create_dynstrtab and
	_bfd_elf_link_create_dynamic_sections.  Add abfd param.  Allow
	for non-existent .dynamic.
	(elf_link_output_extsym): Don't complain about undefined symbols
	in as-needed dynamic libs that aren't actually linked.
ld/
	* emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Formatting.
	(gld${EMULATION_NAME}_after_open): Ignore needed libs if they were
	only needed by an as-needed lib that didn't get linked.
2005-01-25 01:40:04 +00:00
Alan Modra
7e69709c9e * ld.texinfo (Output Section Keywords <CONSTRUCTORS>): Correct
__DTOR_LIST__ description.
2005-01-23 07:43:52 +00:00
Alan Modra
b5666f2f09 * ld.texinfo (Location Counter <dot outside sections>): Document
effects of orphan section placement, and ". = ." workaround.
	* Makefile.in: Regenerate.
2005-01-23 05:36:37 +00:00
Richard Sandiford
4e25343c6e * emulparams/elf32bmip.sh (OTHER_GOT_SECTIONS): Add ". = .;".
* emulparams/elf32bmipn32-defs.sh (OTHER_GOT_SECTIONS): Likewise.
2005-01-22 18:13:16 +00:00
Mark Mitchell
ab730cc79f * emulparams/armelfb_linux_eabi.sh: New file. 2005-01-22 01:50:35 +00:00
Jakub Jelinek
b717d30eb5 * ldgram.y (AS_NEEDED): New token.
(input_list): Handle AS_NEEDED ( input_list ).
	* ldlex.l (AS_NEEDED): Add.
	* ld.texinfo: Document AS_NEEDED ().
	* NEWS: Mention AS_NEEDED ().
2005-01-21 12:04:25 +00:00
Ben Elliston
7a64f7b8d6 * ldlang.c (lang_reasonable_defaults): Remove.
(lang_process): Don't call lang_reasonable_defaults.

	* ldexp.c (exp_assop): Remove #if 0'd code.
	(exp_print_tree): Likewise.
	* ldlang.c (lang_memory_region_lookup): Likewise.
	(open_output): Likewise.
	(lang_do_assignments_1): Likewise.
	(lang_place_orphans): Likewise.
	(lang_enter_output_section_statement): Likewise.
	(lang_reasonable_defaults): Likewise.
	* ldlang.h (struct lang_input_statement_struct): Likewise.
	* mri.c (mri_draw_tree): Likewise.
	(mri_load): Likewise.
	* pe-dll.c (generate_reloc): Likewise.
	(make_import_fixup_entry): Likewise.
	(pe_as16): Likewise.
	* emultempl/beos.em (set_pe_subsystem): Likewise.
	* emultempl/hppaelf.em (hppaelf_after_parse): Likewise.
	* emultempl/pe.em: Likewise.
	* emultempl/xtensaelf.em (xtensa_colocate_literals): Likewise.
2005-01-21 04:15:59 +00:00
Mark Mitchell
a154a8ad20 * Makefile.am (ALL_EMULATIONS): Add earmelfb_linux_eabi.o.
(earmelfb_linux_eabi.c): New target.
	* Makefile.in: Regenerated.
	* configure.tgt (arm*b-*-linux-gnueabi): New target.
	* emulparams/armelfb_linux_eabi.sh: New file.
2005-01-20 19:37:49 +00:00
Alan Modra
9c18318347 PR ld/676
* emultempl/hppaelf.em (hppaelf_create_output_section_statements):
	Handle bfd_elf32_hppa_nbsd_vec.
2005-01-20 07:47:49 +00:00
Richard Sandiford
e22430578c * ldmain.h (ld_sysroot): Change type to a constant string.
* ldmain.c (ld_sysroot): Likewise.
	(get_relative_sysroot, get_sysroot): New functions, adding command-line
	support for changing the sysroot.
	(main): Call the new functions.
	* lexsup.c (OPTION_SYSROOT): New.
	(ld_options): Add --sysroot.
	(parse_args): Add a dummy handler for it.
	* ld.texinfo (--sysroot): Document.
	* NEWS: Mention the new --sysroot option.
2005-01-19 11:42:49 +00:00
Alan Modra
1449d79bae bfd/
* bfd.c (bfd_link_just_syms): Add abfd param.
	* bfd-in2.h: Regenerate.
ld/
	* ldlang.c (section_already_linked): Adjust bfd_link_just_syms call.
	(lang_place_orphans): Don't abort on just_syms_flag, instead call
	bfd_link_just_syms.
2005-01-18 08:51:54 +00:00
Richard Sandiford
dcf507a6ee * elf-eh-frame.c (skip_cfa_op, skip_non_nops): New functions.
(_bfd_elf_discard_section_eh_frame): Use them to interpret the CFA
	instructions.  If the amount of padding is known, reduce the size
	of the CIE or FDE by that amount.
2005-01-17 17:44:41 +00:00
Nick Clifton
e38bc3b524 Fix SH2A machine variants in order to correctly select instruction inheritance 2005-01-17 14:08:17 +00:00
Danny Smith
a880c7485c * defilep.y (def_name, def_library): Combine into...
(def_image_name): New function.  Strip name to basename,
	with warning.
2005-01-16 09:18:35 +00:00
Mark Kettenis
07baa8eeeb * configure.in: Be sure to invoke config.sub using the shell.
* configure: Regenerate.
2005-01-12 22:12:24 +00:00
Kaz Kojima
15dd0fe8d4 * ld-sh/shared-1.d: Update for changed dynamic syms.
* ld-sh/sh64/gotplt.d: Likewise.
	* ld-sh/sh64/init-cmpct.d: Likewise.
	* ld-sh/sh64/init-media.d: Likewise.
	* ld-sh/sh64/init64.d: Likewise.
2005-01-11 23:55:14 +00:00
Alan Modra
e9b181b83c * configure.host: Correct sed patterns for last change. 2005-01-11 09:36:46 +00:00
Nick Clifton
59ef2528a2 PR binutils/609
* ldmisc.c (vfinfo): Add an extra argument: is_warning.  Use this to determine
whether config.make_executable should be set to FALSE in conjunction with
config.fatal_warnings.
(info_msg, minfo, lfinof): Pass FALSE as the extra argument.
(einfo): Pass TRUE as the extra argument.
2005-01-10 15:45:00 +00:00
Nick Clifton
71a2d53a5c (linux targets): Use "${CC} -dumpspecs" instead of "${CC} --print-file-name=specs" to appease GCC versions >= 4.0.
(ia64-*-aix): Delete - this target is obsolete, and would be broken by this patch.
2005-01-10 14:57:32 +00:00
Eric Botcazou
d6d0b336f8 * configure.host (sparc*-*-solaris2*): Rename into sparc-*-solaris2*.
(sparc64-sun-solaris2*): New host.
2005-01-06 18:05:17 +00:00
Paul Brook
4e7fd91e3e 2005-01-06 Paul Brook <paul@codesourcery.com>
bfd/
	* config.bfd: Add entry for arm-*-vxworks and arm-*-windiss.
	* configure.in: Add bfd_elf32_{big,little}arm_vxworks_vec.
	* configure: Regenerate.
	* elf32-arm.c: Add VxWorks target bfd.
	(USE_REL): Remove.
	(elf32_arm_link_hash_table): Add use_rel.
	(elf32_arm_link_hash_table_create, elf32_arm_final_link_relocate,
	elf32_arm_relocate_section): Replace USE_REL with runtime check.
	Correct offset calculation for RELA case.
	(elf_backend_may_use_rel_p, elf_backend_may_use_rela_p,
	elf_backend_default_use_rela_p, elf_backend_rela_normal): Define.
	(elf32_arm_vxworks_link_hash_table_create): New function.
	* targets.c (bfd_elf32_bigarm_vxworks_vec): Add declaration.
	(bfd_elf32_littlearm_vxworks_vec): Ditto.
	(_bfd_target_vector): Add bfd_elf32_{big,little}arm_vxworks_vec.
gas/
	* config/tc-arm.c (FPU_DEFAULT): Define for TE_VXWORKS.
	(md_begin): Handle TE_VXWORKS for FP defaults.
	(md_apply_fix3): Correct rela offsets.
	(elf32_arm_target_format): Add VxWorks targets.
ld/
	* Makefie.am: Add earmelf_vxworks.
	* Makefile.in: Regenerate.
	* configure.tgt: Make arm-*-vxworks a separate case.
	* emulparams/armelf_vxworks.sh: New function.
2005-01-06 16:18:25 +00:00
Alan Modra
4c52953f84 bfd/
* elf64-ppc.c (struct ppc_link_hash_table): Add no_multi_toc and
	multi_toc_needed.
	(has_toc_reloc, makes_toc_func_call, call_check_in_progress): Define.
	(ppc64_elf_check_relocs): Update references to has_gp_reloc.
	(ppc64_elf_setup_section_lists): Add no_multi_toc parm, set htab bit.
	(ppc64_elf_next_toc_section): Heed no_multi_toc.
	(ppc64_elf_reinit_toc): Set multi_toc_needed.
	(toc_adjusting_stub_needed): Rewrite.
	(ppc64_elf_next_input_section): Use multi_toc_needed to shortcut
	toc tests.  Adjust for toc_adjusting_stub_needed changes.
	(ppc64_elf_size_stubs): Update references to has_gp_reloc.
	* elf64-ppc.h (ppc64_elf_setup_section_lists): Update prototype.
	* section.c: Expand comment on backend bits.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.
ld/
	* emultempl/ppc64elf.em (no_multi_toc): New var.
	(gld${EMULATION_NAME}_finish): Pass to ppc64_elf_setup_section_lists.
	(OPTION_NO_MULTI_TOC): Define.
	(PARSE_AND_LIST_LONGOPTS): Add --no-multi-toc support.
	(PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Likewise.
2005-01-06 09:03:56 +00:00
Nick Clifton
98d87ee709 PR binutils/614
* ldmisc.c (vfinfo): Alter output to conform to the GNU Coding Standard's
specification for parsable error messages.
2005-01-05 16:03:23 +00:00
Paul Brook
5f81b918e0 * Makefile.am: Correct dependency for earmsymbian.c.
* Makefile.in: Regenerate.
2005-01-04 15:16:25 +00:00
Danny Smith
2af59babed * emultempl/pe.em (set_pe_subsystem): Change second arg to
lang_add_entry to FALSE.
2004-12-29 05:59:29 +00:00
Nick Clifton
c38f024c3d PR 600
* emulparams/shelf.sh (.stack): Increase stack start address to 0x300000.
2004-12-23 12:27:45 +00:00
Tomer Levi
911a63006c 2004-12-21 Tomer Levi <Tomer.Levi@nsc.com>
* ld-crx/reloc-abs32.d: Update reference file according
	to disassembler printing method.
 	* ld-crx/reloc-rel16.d: Likewise.
	* ld-crx/reloc-rel24.d: Likewise.
	* ld-crx/reloc-rel32.d: Likewise.
	* ld-crx/reloc-rel4.d: Likewise.
	* ld-crx/reloc-rel8-cmp.d: Likewise.
	* ld-crx/reloc-rel8.d: Likewise.
2004-12-22 08:14:38 +00:00
Tomer Levi
5b269403ba 2004-12-21 Tomer Levi <Tomer.Levi@nsc.com>
* ld-crx/reloc-abs32.d: Update reference file according to disassembler printing method.
 	* ld-crx/reloc-rel16.d: Likewise.
	* ld-crx/reloc-rel24.d: Likewise.
	* ld-crx/reloc-rel32.d: Likewise.
	* ld-crx/reloc-rel4.d: Likewise.
	* ld-crx/reloc-rel8-cmp.d: Likewise.
	* ld-crx/reloc-rel8.d: Likewise.
2004-12-21 16:28:40 +00:00
Nick Clifton
550bdea6de Issue an error message if -static and -shared are used together. 2004-12-20 15:16:06 +00:00
Jakub Jelinek
e3070fef41 * ldexp.h (exp_data_seg): Add min_base and maxpagesize fields.
* ldexp.c (fold_binary) <case DATA_SEGMENT_ALIGN>: Initialize them.
	* ldlang.c (lang_size_sections): Use them to avoid wasting virtual
	address space at DATA_SEGMENT_ALIGN.  Fix computation of expected
	PT_GNU_RELRO segment end.
2004-12-17 15:50:02 +00:00
Richard Sandiford
1e50d24d55 include/elf/
* v850.h (R_V850_LO16_SPLIT_OFFSET): New reloc.

bfd/
	* reloc.c (BFD_RELOC_V850_LO16_SPLIT_OFFSET): New bfd_reloc_code_type.
	* elf32-v850.c (v850_elf_howto_table): Add entry for
	R_V850_LO16_SPLIT_OFFSET.
	(v850_elf_reloc_map): Map it to BFD_RELOC_V850_LO16_SPLIT_OFFSET.
	(v850_elf_perform_lo16_relocation): New function, extracted from...
	(v850_elf_perform_relocation): ...here.  Use it to handle
	R_V850_LO16_SPLIT_OFFSET.
	(v850_elf_check_relocs, v850_elf_final_link_relocate): Handle
	R_V850_LO16_SPLIT_OFFSET.
	* libbfd.h, bfd-in2.h: Regenerate.

gas/
	* config/tc-v850.c (handle_lo16): New function.
	(v850_reloc_prefix): Use it to check lo().
	(md_assemble, md_apply_fix3): Handle BFD_RELOC_V850_LO16_SPLIT_OFFSET.

gas/testsuite/
	* gas/v850/split-lo16.{s,d}: New test.
	* gas/v850/v850.exp: Run it.

ld/testsuite/
	* ld-v850: New directory.
2004-12-16 16:56:04 +00:00
Nick Clifton
2fbd2a87e2 Add support for s390x-ibm-tpf target 2004-12-16 16:02:59 +00:00
Nick Clifton
f2763b012e * ldmisc.c (vfinfo): Handle the case where %B is passed a NULL BFD. 2004-12-16 15:40:36 +00:00
Richard Sandiford
c314987d19 * elfxx-mips.c (mips_elf_calculate_relocation): Don't report an
overflow for calls to undefined weak symbols.
2004-12-14 09:48:20 +00:00
Richard Sandiford
1f0f3e9b89 * ld-mips-elf/mips-elf.exp: Only run jalbal if n32 is supported. 2004-12-13 13:09:55 +00:00
Alan Modra
5c799c0790 bfd/
* elfcode.h (elf_slurp_symbol_table): Use bfd_elf_sym_name so that
	canonical sections syms have a name.

gas/testsuite/
	Update for changed section syms.

ld/testsuite/
	Update for changed section syms.
2004-12-11 04:32:37 +00:00
Ian Lance Taylor
3a6eb9c0d7 * ld-mips-elf/jalbal.d: New test.
* ld-mips-elf/jalbal.s: New test.
	* ld-mips-elf/mips-elf.exp: Run it.
2004-12-09 07:14:53 +00:00
Ian Lance Taylor
0efd416086 * ld-mips-elf/jaloverflow.d: New test.
* ld-mips-elf/jaloverflow.s: New test.
	* ld-mips-elf/mips-elf.exp: Run it.
2004-12-08 20:28:08 +00:00
Ben Elliston
cb9faf63f8 * ldemul.h: Forward declare struct option. 2004-12-07 12:29:41 +00:00
H.J. Lu
e1d9786917 2004-12-03 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/group1.d: Support 64bit.
2004-12-03 17:06:28 +00:00
Paul Brook
529fcb9585 2004-12-01 Paul Brook <paul@codesourcery.com>
bfd/
	* elflink.c (elf_link_add_object_symbols): Make symbols from discarded
	sections undefined.
ld/testsuite/
	* ld-elf/group1.d: New test.
	* ld-elf/group.ld, ld-elf/group1a.s, ld-elf/group1b.s: New test.
2004-12-01 23:23:12 +00:00
Daniel Jacobowitz
6db74b6f21 * ld-selective/selective.exp: Use -print-libgcc-file-name for
ARM and v850 also.
2004-12-01 21:12:39 +00:00
Danny Smith
02f80eef3f * scripttempl/pe.sc (.data): Add .jcr subsection. 2004-11-30 23:54:53 +00:00
Paul Brook
dea514f51d 2004-11-30 Paul Brook <paul@codesourcery.com>
bfd/
	* elf32-arm.c (struct elf32_arm_link_hash_table): Remove
	no_pipeline_knowledge
	(elf32_arm_link_hash_table_create): Ditto.
	(bfd_elf32_arm_process_before_allocation): Ditto.
	(elf32_arm_final_link_relocate): Ditto.  Remove oabi relocation
	handling.
	* bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
	prototype.
	* bfd-in2.h: Regenerate.
ld/
	* emultempl/armelf.em: Ignore -p and -no-pipeline-knowledge.
2004-11-30 17:45:54 +00:00
Nick Clifton
3211808135 Change LOCALEDIR to $(datadir)/share. 2004-11-30 17:20:48 +00:00
Nick Clifton
33f362e109 Add support for --subsystem:xbox as well as --subsystem:<number>. 2004-11-26 09:42:04 +00:00
Paul Brook
0beaef2b05 2004-11-24 Paul Brook <paul@codesourcery.com>
bfd/
	* elf32-arm.c (elf32_arm_swap_symbol_in): New function.
	(elf32_arm_swap_symbol_out): New function.
	(elf32_arm_size_info): Add.
	(elf_backend_size_info): Define.
ld/testsuite/
	* ld-arm/mixed-lib.sym: Update for THUMB_FUNC change.
2004-11-24 14:44:47 +00:00
Alan Modra
3eda52aa32 * ldexp.c (fold_name): Correct PR 338 fix. 2004-11-24 11:30:17 +00:00
Mark Mitchell
6b3221b47a * Makefile.am (ALL_EMULATIONS): Add earmelf_linux_eabi.o.
(earmelf_linux_eabi.c): New target.
	* configure.tgt (arm*-*-linux-gnueabi): Handle it.
	* emulparams/armelf_linux_eabi.sh: New file.
	* Makefile.in: Regenerated.
2004-11-19 19:28:40 +00:00
Nick Clifton
9cd6d51a56 PR 518
Update the descriptions of the ORIGIN and LENGTH fields in the MEMORY command,
to explicitly state that symbols cannot be used in their expressions.
2004-11-19 09:38:04 +00:00