Zack Weinberg
9eabd47532
* emultempl/elf32.em (gld${EMULATION_NAME}_stat_needed):
...
If st.st_ino is zero, do not treat the library as a duplicate.
2005-02-11 23:52:03 +00:00
Jakub Jelinek
d457dcf698
* bfd-in.h (BFD_LINKER_CREATED): Define.
...
* bfd-in2.h: Rebuilt.
* elflink.c (bfd_elf_size_dynamic_sections): Disregard
BFD_LINKER_CREATED bfds when determining input bfds without
.note.GNU-stack section.
* emultempl/hppaelf.em (hppaelf_create_output_section_statements):
Set BFD_LINKER_CREATED on the stubs bfd.
* emultempl/ppc64elf.em (ppc_create_output_section_statements):
Likewise.
2005-02-10 09:15:08 +00:00
Mark Mitchell
4e5db43bfa
* scripttempl/armbpabi.sc (VERSION): Make special section symbols
...
local.
(Image$$ER_RO$$Base): Define whenever RELOCATING.
(Image$$ER_RO$$Limit): Likewise.
(SHT$$INIT_ARRAY$$Base): Likewise.
(SHT$$INIT_ARRAY$$Limit): Likeise.
2005-02-10 05:49:21 +00:00
Ben Elliston
4297f9f1cc
* emultempl/beos.em: Remove #if 0 and #if 1 blocks.
2005-02-10 01:03:49 +00:00
Richard Sandiford
1c7c5e5b09
* configure.tgt (mips64*el-*-linux-gnu*): Define targ_extra_libpath
...
to include o32 and n64 emulations.
(mips64*-*-linux-gnu*): Likewise.
2005-02-08 19:54:27 +00:00
Hans-Peter Nilsson
300475fe9d
* ldmain.c (warning_callback, warning_find_reloc): Prepend
...
"warning: " to warning messages.
2005-02-08 03:51:32 +00:00
Alan Modra
4ea42fb74f
bfd/
...
* elflink.c (bfd_elf_record_link_assignment): Do "provide" symbol
lookup here. Set to new before calling bfd_link_repair_undef_list.
(elf_smash_syms): Check that u.undef.weak isn't the not_needed bfd.
ld/
emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment): Don't
look up symbol for etree_provide here.
2005-02-03 14:12:54 +00:00
Daniel Jacobowitz
161f49a316
* emulparams/elf32bmip.sh (TEXT_DYNAMIC): Always set.
2005-02-02 20:19:52 +00:00
Nick Clifton
73ae61838f
Add a description of how to access linker script defined variables from source
...
code.
2005-02-01 17:31:01 +00:00
Alan Modra
77cfaee698
include/
...
* bfdlink.h (bfd_link_repair_undef_list): Declare.
bfd/
* elf64-ppc.c (ppc64_elf_check_directives): Move undefs list fixup..
* linker.c (bfd_link_repair_undef_list): ..to new function, but don't
remove anything but new and undefweak.
* elflink.c (_bfd_elf_link_create_dynamic_sections): Override any
existing _DYNAMIC.
(_bfd_elf_create_dynamic_sections): Formatting.
(bfd_elf_record_link_assignment): Call bfd_link_repair_undef_list.
(_bfd_elf_merge_symbol): Don't handle as-needed syms here.
(struct elf_smash_data): New.
(elf_smash_syms): New function.
(elf_link_add_object_symbols): Call elf_smash_syms. Don't add
unneeded dynamic objects to loaded list.
(elf_link_output_extsym): Don't handle as-needed here. Strip
bfd_link_hash_new symbols.
* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
delref when dynindx is already -1.
* elf64-alpha.c (elf64_alpha_output_extsym): Strip bfd_link_hash_new
symbols.
* elfxx-mips.c (mips_elf_output_extsym): Likewise.
ld/
* ld.texinfo: Clarify --as-needed operation.
2005-02-01 01:11:27 +00:00
Andrew Cagney
c46f8c5116
2005-01-31 Andrew Cagney <cagney@gnu.org>
...
* gettext.m4: Only set ENABLE_NLS when gettext is present.
2005-01-31 20:32:45 +00:00
Nick Clifton
d342277e67
Update reported copyright dates.
2005-01-31 17:36:24 +00:00
Nick Clifton
d648679633
Remove obsolete targets
2005-01-31 17:18:51 +00:00
Julian Brown
319850b451
* bfd/bin-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
...
* bfd/bin-in2.h (bfd_elf32_arm_set_target_relocs): Update prototype.
* bfd/elf32-arm.c (elf32_arm_link_hash_table): Add fix_v4bx flag.
(bfd_elf32_arm_set_target_relocs): Add formal parameter fix_v4bx for
passing flag value from ld. Set flag value in global hash table entry.
(elf32_arm_final_link_relocate): Add code to implement R_ARM_V4BX
relocation.
* ld/emultempl/armelf.em (fix_v4bx): New variable.
(arm_elf_create_output_section_statements): Communicate fix_v4bx flag
value to bfd.
(PARSE_AND_LIST_PROLOGUE): Add option token OPTION_FIX_V4BX.
(PARSE_AND_LIST_LONGOPTS): Add option --fix-v4bx.
(PARSE_AND_LIST_OPTIONS): Add option --fix-v4bx.
(PARSE_AND_LIST_ARGS_CASES): Add option OPTION_FIX_V4BX.
* ld/NEWS: Mention --fix-v4bx.
* ld/ld.texinfo: Document --fix-v4bx.
2005-01-28 17:24:41 +00:00
Mark Mitchell
dc4c9c199b
* elf32-arm.c (elf_backend_default_use_rela_p): Define to zero for
...
SymbianOS.
* emulparams/armsymbian.sh (OTHER_READONLY_SECTIONS): Define, so
as to include .ARM.exidx$${Base,Limit}.
* ld/scripttempl/armbpabi.sc: Move .plt to end of text segment.
Define IMAGE$$ER_RO$${Base,Limit} and SHT$$INIT_ARRAY$${Base,Limit}.
Put .init_array, .fini_array, etc. into the read-only data
segment.
2005-01-26 06:10:45 +00:00
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
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
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
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
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
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
Ben Elliston
cb9faf63f8
* ldemul.h: Forward declare struct option.
2004-12-07 12:29:41 +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
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
Nick Clifton
3ec5763260
Add ORIGIN and LENGTH linker script operators.
2004-11-19 09:31:55 +00:00