aboutsummaryrefslogtreecommitdiff
path: root/ld
AgeCommit message (Collapse)AuthorFilesLines
2005-01-06bfd/Alan Modra2-4/+25
* 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-05PR binutils/614Nick Clifton2-14/+33
* ldmisc.c (vfinfo): Alter output to conform to the GNU Coding Standard's specification for parsable error messages.
2005-01-04 * Makefile.am: Correct dependency for earmsymbian.c.Paul Brook3-2/+7
* Makefile.in: Regenerate.
2004-12-29 * emultempl/pe.em (set_pe_subsystem): Change second arg toDanny Smith2-1/+6
lang_add_entry to FALSE.
2004-12-23PR 600Nick Clifton2-2/+8
* emulparams/shelf.sh (.stack): Increase stack start address to 0x300000.
2004-12-222004-12-21 Tomer Levi <Tomer.Levi@nsc.com>Tomer Levi1-0/+11
* 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-212004-12-21 Tomer Levi <Tomer.Levi@nsc.com>Tomer Levi7-7/+7
* 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-20Issue an error message if -static and -shared are used together.Nick Clifton2-0/+8
2004-12-17 * ldexp.h (exp_data_seg): Add min_base and maxpagesize fields.Jakub Jelinek4-5/+21
* 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-16include/elf/Richard Sandiford5-0/+64
* 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-16Add support for s390x-ibm-tpf targetNick Clifton2-0/+6
2004-12-16* ldmisc.c (vfinfo): Handle the case where %B is passed a NULL BFD.Nick Clifton2-1/+9
2004-12-14 * elfxx-mips.c (mips_elf_calculate_relocation): Don't report anRichard Sandiford4-0/+21
overflow for calls to undefined weak symbols.
2004-12-13 * ld-mips-elf/mips-elf.exp: Only run jalbal if n32 is supported.Richard Sandiford2-1/+7
2004-12-11bfd/Alan Modra43-348/+393
* 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-09 * ld-mips-elf/jalbal.d: New test.Ian Lance Taylor4-0/+49
* ld-mips-elf/jalbal.s: New test. * ld-mips-elf/mips-elf.exp: Run it.
2004-12-08 * ld-mips-elf/jaloverflow.d: New test.Ian Lance Taylor4-0/+31
* ld-mips-elf/jaloverflow.s: New test. * ld-mips-elf/mips-elf.exp: Run it.
2004-12-07 * ldemul.h: Forward declare struct option.Ben Elliston2-0/+7
2004-12-032004-12-03 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-2/+6
* ld-elf/group1.d: Support 64bit.
2004-12-012004-12-01 Paul Brook <paul@codesourcery.com>Paul Brook5-0/+29
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 * ld-selective/selective.exp: Use -print-libgcc-file-name forDaniel Jacobowitz2-5/+11
ARM and v850 also.
2004-11-30 * scripttempl/pe.sc (.data): Add .jcr subsection.Danny Smith2-0/+5
2004-11-302004-11-30 Paul Brook <paul@codesourcery.com>Paul Brook2-4/+5
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-30Change LOCALEDIR to $(datadir)/share.Nick Clifton3-349/+28
2004-11-26Add support for --subsystem:xbox as well as --subsystem:<number>.Nick Clifton3-42/+71
2004-11-242004-11-24 Paul Brook <paul@codesourcery.com>Paul Brook2-1/+5
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 * ldexp.c (fold_name): Correct PR 338 fix.Alan Modra2-1/+5
2004-11-19 * Makefile.am (ALL_EMULATIONS): Add earmelf_linux_eabi.o.Mark Mitchell5-23/+378
(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-19PR 518Nick Clifton2-7/+14
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-19Add ORIGIN and LENGTH linker script operators.Nick Clifton9-152/+287
2004-11-17bfd/Daniel Jacobowitz24-10/+649
* elf32-arm.c (PLT_THUMB_STUB_SIZE): Define. (elf32_arm_plt_thumb_stub): New. (struct elf32_arm_link_hash_entry): Add plt_thumb_refcount and plt_got_offset. (elf32_arm_link_hash_traverse): Fix typo. (elf32_arm_link_hash_table): Add obfd. (elf32_arm_link_hash_newfunc): Initialize new fields. (elf32_arm_copy_indirect_symbol): Copy plt_thumb_refcount. (elf32_arm_link_hash_table_create): Initialize obfd. (record_arm_to_thumb_glue): Mark the glue as a local ARM function. (record_thumb_to_arm_glue): Mark the glue as a local Thumb function. (bfd_elf32_arm_get_bfd_for_interworking): Verify that the interworking BFD is not dynamic. (bfd_elf32_arm_process_before_allocation): Handle R_ARM_PLT32. Do not emit glue for PLT references. (elf32_arm_final_link_relocate): Handle Thumb functions. Do not emit glue for PLT references. Support the Thumb PLT prefix. (elf32_arm_gc_sweep_hook): Handle R_ARM_THM_PC22 and plt_thumb_refcount. (elf32_arm_check_relocs): Likewise. (elf32_arm_adjust_dynamic_symbol): Handle Thumb functions and plt_thumb_refcount. (allocate_dynrelocs): Handle Thumb PLT references. (elf32_arm_finish_dynamic_symbol): Likewise. (elf32_arm_symbol_processing): New function. (elf_backend_symbol_processing): Define. opcodes/ * arm-dis.c (WORD_ADDRESS): Define. (print_insn): Use it. Correct big-endian end-of-section handling. gas/testsuite/ * gas/arm/mapping.d: Expect F markers for Thumb code. * gas/arm/unwind.d: Update big-endian pattern. ld/ * emultempl/armelf.em (arm_elf_set_bfd_for_interworking): Don't use a dynamic object for stubs. ld/testsuite/ * ld-arm/mixed-app.d, ld-arm/mixed-app.r, ld-arm/mixed-app.s, ld-arm/mixed-app.sym, ld-arm/mixed-lib.d, ld-arm/mixed-lib.r, ld-arm/mixed-lib.s, ld-arm/mixed-lib.sym, ld-arm/arm-dyn.ld, ld-arm/arm-lib.ld: New files. * ld-arm/arm-app-abs32.d, ld-arm/arm-app-abs32.r, ld-arm/arm-app.d, ld-arm/arm-app.r, ld-arm/arm-lib-plt32.d, ld-arm/arm-lib-plt32.r, ld-arm/arm-lib.d, ld-arm/arm-lib.r, ld-arm/arm-static-app.d, ld-arm/arm-static-app.r: Update for big-endian. * ld-arm/arm-elf.exp: Run the new tests.
2004-11-16 * elf-bfd.h (eh_cie_fde): Add new fields: add_augmentation_size andRichard Sandiford6-0/+864
add_fde_encoding. Remove need_relative. * elf-eh-frame.c (extra_augmentation_string_bytes) (extra_augmentation_data_bytes, size_of_output_cie_fde): New functions. (_bfd_elf_discard_section_eh_frame): Consider changing the FDE encoding in cases where the CIE has no existing 'R' augmentation. Use size_of_output_cie_fde when assigning offsets. Use the final offset as the new section size. (_bfd_elf_eh_frame_section_offset): Remove need_relative handling. Account for any extra augmentation bytes in the returned offset. (_bfd_elf_write_section_eh_frame): Rework so that the entries are moved before being modified. Pad growing entries with DW_CFA_nops. Add 'z' and 'R' augmentations as directed by add_augmentation_size and add_fde_encoding.
2004-11-15bfd/Paul Brook4-1/+23
* elf-bfd.h (_bfd_elf_slurp_version_tables): Update prototype. * elf.c (_bfd_elf_print_private_bfd_data): Pass extra argument. (_bfd_elf_slurp_version_tables): Add extra argument. Create extra default version definition for unversioned symbols. * elfcode.h (elf_slurp_symbol_table): Pass extra argument. * elflink.c (elf_link_add_object_symbols): Pass extra argument to _bfd_elf_slurp_version_tables. Set default version for unversioned imported symbols. include/ * bfdlink.h (bfd_link_info): Add default_imported_symver. ld/ * ld.texinfo: Document --default-imported-symver. * ldmain.c (main): Set link_info.default_imported_symver. * lexsup.c (option_values): Add OPTION_DEFAULT_IMPORTED_SYMVER. (ld_options): Add --default-imported-symver. (parse_args): Handle OPTION_DEFAULT_IMPORTED_SYMVER.
2004-11-10 * ld-d10v/reloc-003.d: Update for changed error message.Alan Modra9-9/+20
* ld-d10v/reloc-004.d: Likewise. * ld-d10v/reloc-007.d: Likewise. * ld-d10v/reloc-008.d: Likewise. * ld-d10v/reloc-011.d: Likewise. * ld-d10v/reloc-012.d: Likewise. * ld-d10v/reloc-015.d: Likewise. * ld-d10v/reloc-016.d: Likewise.
2004-11-09oops - omitted from previous deltaNick Clifton1-0/+5
2004-11-08Add support fpr MAXQ processorNick Clifton17-6/+287
2004-11-08Fix support for PECOFF weak symbolsNick Clifton4-6/+41
2004-11-04./Daniel Jacobowitz6-215/+14
* configure.in (arm-*-oabi*, thumb-*-oabi*): Remove. * configure: Regenerated. bfd/ * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Replace elfarm-nabi with elf32-arm. Remove elfarm-oabi. (elf32-arm.lo): Replace elfarm-nabi.lo rule. Remove elf32-arm.h dependency. * config.bfd: Move arm-*-oabi* and thumb-*-oabi* from obsolete list to a new removed list. Remove normal configuration stanzas. * configure.in: (bfd_elf32_bigarm_vec, bfd_elf32_bigarm_symbian_vec) (bfd_elf32_littlearm_symbian_vec, bfd_elf32_littlearm_vec): Replace elfarm-nabi.lo with elf32-arm.lo. (bfd_elf32_bigarm_oabi_vec, bfd_elf32_littlearm_oabi_vec): Remove. * elf32-arm.c: Renamed from elfarm-nabi.c. Inline elf32-arm.h. * elf32-arm.h: Remove. * elfarm-oabi.c: Remove. * targets.c (_bfd_target_vector): Remove bfd_elf32_bigarm_oabi_vec and bfd_elf32_littlearm_oabi_vec. * aclocal.m4, Makefile.in, configure, doc/Makefile.in: Regenerated. gas/ * configure.in: Remove arm-*-oabi and thumb-*-oabi. * config/tc-arm.c (target_oabi): Delete. (md_apply_fix3, elf32_arm_target_format): Remove target_oabi checks. (arm_opts): Remove moabi. * doc/as.texinfo (Overview): Remove documentation of -moabi. * doc/c-arm.texi (ARM Options): Likewise. * configure: Regenerated. ld/ * Makefile.am (ALL_EMULATIONS): Remove earmelf_oabi.o. (earmelf_oabi.c): Remove rule. * configure.tgt: Remove arm-*-oabi and thumb-*-oabi. * emulparams/armelf_oabi.sh, emultempl/armelf_oabi.em: Delete files. * Makefile.in: Regenerated.
2004-11-04 * ld-elf/merge.d: xfail crisv32-*-*.Hans-Peter Nilsson26-5/+403
* ld-cris/dsov32-1.s, ld-cris/dsov32-2.s, ld-cris/dsov32-3.s, ld-cris/dsov32-4.s, ld-cris/libdso-10.d, ld-cris/libdso-11.d, ld-cris/libdso-12.d, ld-cris/libdso-13.d, ld-cris/libdso-14.d, ld-cris/move-1.s, ld-cris/pv32-1.d, ld-cris/pv32.s, ld-cris/start1.s, ld-cris/v10-v32.d, ld-cris/v10-va.d, ld-cris/v32-ba-1.d, ld-cris/v32-ba-1.s, ld-cris/v32-bin-1.d, ld-cris/v32-bin-1.s, ld-cris/v32-v10.d, ld-cris/v32-va.d, ld-cris/va-v10.d, ld-cris/va-v32.d: New tests. * ld-cris/ldsym1.d: Adjust for change in linker script.
2004-11-04 * configure.tgt (crisv32-*-*): Handle like cris-*-* for non-aout.Hans-Peter Nilsson3-8/+11
* emulparams/criself.sh (INIT_START): Remove emitted "push srp". (FINI_START): Ditto. (INIT_END): Remove emitted "jump [sp+]". (FINI_END): Ditto.
2004-11-04bfd/Alan Modra2-7/+51
* elf64-ppc.h (ppc64_elf_edit_toc): Declare. * elf64-ppc.c (struct ppc_link_hash_entry <adjust_done>): Update comment. (struct adjust_toc_info): New. (adjust_toc_syms, ppc64_elf_edit_toc): New functions. ld/ * emultempl/ppc64elf.em (no_tls_opt): Rename from notlsopt. (no_opd_opt, no_toc_opt): New static vars. (ppc_before_allocation): Don't edit opt if no_opd_opt. Call ppc64_elf_edit_toc. (OPTION_NO_OPD_OPT, OPTION_NO_TOC_OPT): Define. (PARSE_AND_LIST_LONGOPTS): Add no-opd-optimize and no-toc-optimize. (PARSE_AND_LIST_OPTIONS): Describe new options. (PARSE_AND_LIST_ARGS_CASES): Handle them.
2004-11-02 * ld-cris/expdyn1.d, ld-cris/expdyn5.d, ld-cris/expdyn6.d,Hans-Peter Nilsson36-315/+320
ld-cris/expdyn7.d, ld-cris/gotplt1.d, ld-cris/gotplt2.d, ld-cris/gotplt3.d, ld-cris/hiddef1.d, ld-cris/libdso-2.d, ld-cris/locref1.d, ld-cris/locref2.d, ld-cris/weakref2.d, ld-i386/tlsbin.rd, ld-i386/tlsnopic.rd, ld-i386/tlspic.rd, ld-ia64/tlsbin.dd, ld-ia64/tlsbin.rd, ld-ia64/tlspic.dd, ld-ia64/tlspic.rd, ld-powerpc/tlsexe32.d, ld-powerpc/tlsexe32.g, ld-powerpc/tlsexe32.r, ld-powerpc/tlsexe32.t, ld-powerpc/tlsso32.d, ld-powerpc/tlsso32.g, ld-powerpc/tlsso32.r, ld-powerpc/tlsso32.t, ld-s390/tlsbin.dd, ld-s390/tlsbin.rd, ld-s390/tlspic.rd, ld-sparc/tlssunbin32.rd, ld-sparc/tlssunpic32.rd, ld-x86-64/tlsbin.rd, ld-x86-64/tlspic.dd, ld-x86-64/tlspic.rd: Adjust for _GLOBAL_OFFSET_TABLE_ now hidden.
2004-10-27emultempl/alphaelf.em (alpha_after_parse): Add extra, NULL, parameter toNick Clifton5-361/+53
invocation of lang_section_start. emultempl/aix.em (_handle_option): Likewise. Makefile.am (eelf64alpha.c, eelf64alpha_fbsd.c, eelf64alpha_nbsd.c): Add dependency upon emultempl/alphaelf.em. Makefile.in: Regenerate.
2004-10-27 * emulparams/armelf.sh (OTHER_READONLY_SECTIONS): Do not emitMark Mitchell2-2/+7
__exidx_{start,end} when not relocating.
2004-10-26Missed from previous commit.Paul Brook3-0/+9
ld/testsuite/ * ld-elfvers/vers29.c: New file. * ld-elfvers/vers29.dsym: New file. * ld-elfvers/vers29.ver: New file.
2004-10-26 * Makefile.in (earmsymbian.c): Depend on armbpabi.sc, not elf.sc.Mark Mitchell14-151/+236
* ldexp.h (segment_type): New type. (segments): New variable. * ldexp.c (segments): New variable. (exp_print_token): Handle SEGMENT_START. (fold_binary): Likewise. * ldgram.y (SEGMENT_START): Declare it as a token. (exp): Handle SEGMENT_START. * ldlang.h (lang_address_statement_type): Add segment field. (lang_section_start): Change prototype. * ldlang.c (map_input_to_output_sections): Do not process section assignments if a corresponding SEGMENT_START has already been seen. (lang_section_start): Add segment parameter. * ldlex.l (SEGMENT_START): Add it. * lexsup.c (seg_segment_start): New function. (parse_args): Use it for -Tbss, -Tdata, and -Ttext. * ld.texinfo (SEGMENT_START): Document it. * emulparams/armsymbian.sh (EMBEDDED): Set it. * scripttempl/armbpabi.sc: Use SEGMENT_START to control segment base addresses. Do not map relocations. * NEWS: Mention SEGMENT_START.
2004-10-26bfd/Paul Brook6-5/+41
* elflink.c (elf_finalize_dynstr): Skip shared aux structure. (bfd_elf_size_dynamic_sections): Create default version definition. (elf_link_output_extsym): Adjust for default symbol version. include/ * bfdlink.h (struct bfd_link_info): Add create_default_symver. ld/ * ld.texinfo: Document --default-symver. * ldmain.c (main): Set link_info.create_default_symver. * lexsup.c (enum option_values): Add OPTION_DEFAULT_SYMVER. (ld_options): Add default-symver. (parse_args): Handle OPTION_DEFAULT_SYMVER. ld/testsuite/ * ld-elfvers/vers.exp (build_binary): Add ldargs parameter. (build_vers_lib_pic_flags): New function. Add vers29 test. * ld-elfvers/vers29.c: New file. * ld-elfvers/vers29.dsym: New file. * ld-elfvers/vers29.ver: New file.
2004-10-24 * ld-mmix/sec-8m.d: Adjust test for dump using correct sectionHans-Peter Nilsson5-13/+53
length. * ld-mmix/sec-9.d: Renamed test, formerly known as sec-5.d. * ld-mmix/sec-5.d, ld-mmix/b-offloc.s: Rewritten test.
2004-10-24 * pe-dll.c (process_def_file): Don't export all symbols by default ifDanny Smith2-1/+6
building a position-independent executable.
2004-10-24 * ld-mmix/getaa-6b.d, ld-mmix/getaa-6f.d, ld-mmix/getaa14b.d,Hans-Peter Nilsson11-10/+17
ld-mmix/getaa14f.d, ld-mmix/jumpa-6b.d, ld-mmix/jumpa-6f.d, ld-mmix/jumpa14b.d, ld-mmix/jumpa14f.d, ld-mmix/reg-1.d, ld-mmix/reg-1m.d: Adjust for changed error message format.