aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog200
-rw-r--r--ld/ChangeLog-02031937
-rw-r--r--ld/Makefile.am49
-rw-r--r--ld/Makefile.in49
-rw-r--r--ld/NEWS8
-rw-r--r--ld/config.in9
-rw-r--r--ld/configure.host4
-rw-r--r--ld/configure.tgt2
-rw-r--r--ld/emulparams/elf32bmip.sh1
-rwxr-xr-xld/emulparams/elf32bmipn32.sh2
-rw-r--r--ld/emulparams/elf32bsmip.sh1
-rw-r--r--ld/emulparams/elf32cr16c.sh5
-rw-r--r--ld/emulparams/elf32frvfd.sh2
-rwxr-xr-xld/emulparams/elf64bmip.sh2
-rw-r--r--ld/emulparams/mipsidt.sh3
-rw-r--r--ld/emulparams/mipsidtl.sh3
-rw-r--r--ld/emultempl/armelf.em11
-rw-r--r--ld/emultempl/armelf_oabi.em2
-rw-r--r--ld/emultempl/elf32.em43
-rw-r--r--ld/emultempl/hppaelf.em4
-rw-r--r--ld/emultempl/irix.em41
-rw-r--r--ld/emultempl/mipsecoff.em255
-rw-r--r--ld/emultempl/mipself.em177
-rw-r--r--ld/emultempl/ppc64elf.em8
-rw-r--r--ld/emultempl/sh64elf.em2
-rw-r--r--ld/ld.texinfo56
-rw-r--r--ld/ldfile.c5
-rw-r--r--ld/ldlang.c45
-rw-r--r--ld/ldlang.h6
-rw-r--r--ld/ldlex.l5
-rw-r--r--ld/ldmain.c6
-rw-r--r--ld/ldmain.h3
-rw-r--r--ld/lexsup.c32
-rw-r--r--ld/mac-ld.r42
-rw-r--r--ld/mpw-config.in52
-rw-r--r--ld/mpw-make.sed95
-rw-r--r--ld/pe-dll.c31
-rw-r--r--ld/po/ld.pot866
-rw-r--r--ld/po/sv.po902
-rw-r--r--ld/scripttempl/elf.sc4
-rw-r--r--ld/scripttempl/elf32cr16c.sc52
-rw-r--r--ld/scripttempl/mips.sc3
-rw-r--r--ld/scripttempl/pe.sc86
-rw-r--r--ld/testsuite/ChangeLog187
-rw-r--r--ld/testsuite/ld-cdtest/cdtest.exp6
-rw-r--r--ld/testsuite/ld-elf/merge.d2
-rw-r--r--ld/testsuite/ld-elfvers/vers.exp6
-rw-r--r--ld/testsuite/ld-elfvsb/elfvsb.exp11
-rw-r--r--ld/testsuite/ld-elfweak/elfweak.exp30
-rw-r--r--ld/testsuite/ld-elfweak/size.dat3
-rw-r--r--ld/testsuite/ld-elfweak/size_bar.c11
-rw-r--r--ld/testsuite/ld-elfweak/size_foo.c8
-rw-r--r--ld/testsuite/ld-elfweak/size_main.c8
-rw-r--r--ld/testsuite/ld-empic/empic.exp263
-rw-r--r--ld/testsuite/ld-empic/relax.t49
-rw-r--r--ld/testsuite/ld-empic/relax1.c22
-rw-r--r--ld/testsuite/ld-empic/relax2.c19
-rw-r--r--ld/testsuite/ld-empic/relax3.c3
-rw-r--r--ld/testsuite/ld-empic/relax4.c3
-rw-r--r--ld/testsuite/ld-empic/run.c160
-rw-r--r--ld/testsuite/ld-empic/runtest1.c117
-rw-r--r--ld/testsuite/ld-empic/runtest2.c26
-rw-r--r--ld/testsuite/ld-empic/runtesti.s94
-rw-r--r--ld/testsuite/ld-frv/fdpic-pie-1.d40
-rw-r--r--ld/testsuite/ld-frv/fdpic-pie-2.d64
-rw-r--r--ld/testsuite/ld-frv/fdpic-pie-6.d74
-rw-r--r--ld/testsuite/ld-frv/fdpic-pie-7.d40
-rw-r--r--ld/testsuite/ld-frv/fdpic-pie-8-fail.d6
-rw-r--r--ld/testsuite/ld-frv/fdpic-pie-8.d122
-rw-r--r--ld/testsuite/ld-frv/fdpic-shared-1.d40
-rw-r--r--ld/testsuite/ld-frv/fdpic-shared-2.d54
-rw-r--r--ld/testsuite/ld-frv/fdpic-shared-3.d90
-rw-r--r--ld/testsuite/ld-frv/fdpic-shared-4.d65
-rw-r--r--ld/testsuite/ld-frv/fdpic-shared-5.d76
-rw-r--r--ld/testsuite/ld-frv/fdpic-shared-6.d74
-rw-r--r--ld/testsuite/ld-frv/fdpic-shared-7.d40
-rw-r--r--ld/testsuite/ld-frv/fdpic-shared-8.d90
-rw-r--r--ld/testsuite/ld-frv/fdpic-shared-local-2.d90
-rw-r--r--ld/testsuite/ld-frv/fdpic-shared-local-8.d90
-rw-r--r--ld/testsuite/ld-frv/fdpic-static-1.d42
-rw-r--r--ld/testsuite/ld-frv/fdpic-static-2.d106
-rw-r--r--ld/testsuite/ld-frv/fdpic-static-6.d2
-rw-r--r--ld/testsuite/ld-frv/fdpic-static-7.d42
-rw-r--r--ld/testsuite/ld-frv/fdpic-static-8.d106
-rw-r--r--ld/testsuite/ld-frv/fdpic.exp3
-rw-r--r--ld/testsuite/ld-frv/fr450-link.d11
-rw-r--r--ld/testsuite/ld-frv/fr450-linka.s1
-rw-r--r--ld/testsuite/ld-frv/fr450-linkb.s1
-rw-r--r--ld/testsuite/ld-frv/fr450-linkc.s1
-rw-r--r--ld/testsuite/ld-frv/frv-elf.exp3
-rw-r--r--ld/testsuite/ld-i386/tlspic.dd14
-rw-r--r--ld/testsuite/ld-mips-elf/empic1-ln.d27
-rw-r--r--ld/testsuite/ld-mips-elf/empic1-lp.d26
-rw-r--r--ld/testsuite/ld-mips-elf/empic1-mn.d25
-rw-r--r--ld/testsuite/ld-mips-elf/empic1-mp.d25
-rw-r--r--ld/testsuite/ld-mips-elf/empic1-ref.s9
-rw-r--r--ld/testsuite/ld-mips-elf/empic1-sn.d23
-rw-r--r--ld/testsuite/ld-mips-elf/empic1-sp.d23
-rw-r--r--ld/testsuite/ld-mips-elf/empic1-space.s5
-rw-r--r--ld/testsuite/ld-mips-elf/empic1-tgt.s8
-rw-r--r--ld/testsuite/ld-mips-elf/empic2-fwd-0.d20
-rw-r--r--ld/testsuite/ld-mips-elf/empic2-fwd-1.d21
-rw-r--r--ld/testsuite/ld-mips-elf/empic2-fwd-tgt.s7
-rw-r--r--ld/testsuite/ld-mips-elf/empic2-ref.s7
-rw-r--r--ld/testsuite/ld-mips-elf/empic2-rev-0.d22
-rw-r--r--ld/testsuite/ld-mips-elf/empic2-rev-1.d24
-rw-r--r--ld/testsuite/ld-mips-elf/empic2-rev-tgt.s8
-rw-r--r--ld/testsuite/ld-mips-elf/empic2-space.s5
-rw-r--r--ld/testsuite/ld-mips-elf/emrelocs-eb.d25
-rw-r--r--ld/testsuite/ld-mips-elf/emrelocs-el.d25
-rw-r--r--ld/testsuite/ld-mips-elf/emrelocs.ld16
-rw-r--r--ld/testsuite/ld-mips-elf/emrelocs1.s23
-rw-r--r--ld/testsuite/ld-mips-elf/emrelocs2.s30
-rw-r--r--ld/testsuite/ld-mips-elf/mips-elf.exp23
-rw-r--r--ld/testsuite/ld-mips-elf/reloc-3-r.d83
-rw-r--r--ld/testsuite/ld-mips-elf/reloc-3-srec.d54
-rw-r--r--ld/testsuite/ld-mips-elf/reloc-3.ld8
-rw-r--r--ld/testsuite/ld-mips-elf/reloc-3a.s38
-rw-r--r--ld/testsuite/ld-mips-elf/reloc-3b.s58
-rw-r--r--ld/testsuite/ld-powerpc/tlsexe.r4
-rw-r--r--ld/testsuite/ld-powerpc/tlsexe32.d4
-rw-r--r--ld/testsuite/ld-powerpc/tlsexetoc.r4
-rw-r--r--ld/testsuite/ld-powerpc/tlsso32.d4
-rw-r--r--ld/testsuite/ld-scripts/align.exp5
-rw-r--r--ld/testsuite/ld-scripts/assert.s2
-rw-r--r--ld/testsuite/ld-scripts/data.d2
-rw-r--r--ld/testsuite/ld-scripts/data.s2
-rw-r--r--ld/testsuite/ld-scripts/data.t7
-rw-r--r--ld/testsuite/ld-scripts/defined2.d3
-rw-r--r--ld/testsuite/ld-scripts/defined3.d9
-rw-r--r--ld/testsuite/ld-scripts/provide-1.d3
-rw-r--r--ld/testsuite/ld-scripts/provide-1.s1
-rw-r--r--ld/testsuite/ld-scripts/provide-1.t3
-rw-r--r--ld/testsuite/ld-scripts/provide-2.d3
-rw-r--r--ld/testsuite/ld-scripts/provide-2.s2
-rw-r--r--ld/testsuite/ld-scripts/provide-3.d4
-rw-r--r--ld/testsuite/ld-scripts/provide-3.s1
-rw-r--r--ld/testsuite/ld-scripts/provide.exp5
-rw-r--r--ld/testsuite/ld-scripts/size-1.d14
-rw-r--r--ld/testsuite/ld-scripts/size-1.s16
-rw-r--r--ld/testsuite/ld-scripts/size-1.t13
-rw-r--r--ld/testsuite/ld-scripts/size-2.d23
-rw-r--r--ld/testsuite/ld-scripts/size-2.s7
-rw-r--r--ld/testsuite/ld-scripts/size-2.t4
-rw-r--r--ld/testsuite/ld-scripts/size.exp16
-rw-r--r--ld/testsuite/ld-sh/tlsbin-1.d36
-rw-r--r--ld/testsuite/ld-sh/tlspic-1.d22
-rw-r--r--ld/testsuite/ld-shared/shared.exp9
148 files changed, 4673 insertions, 3749 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index c9b43dc..f77eb40 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,7 +1,192 @@
+2004-04-30 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (unique_section_p): Pass section parm, return true on
+ group sections.
+ (output_section_callback): Adjust.
+ * ldlang.h (unique_section_p): Update prototype.
+ * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Adjust.
+
+2004-04-30 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * ld.texinfo (--gc-sections): Remove restriction for
+ dynamic linking.
+
+2004-04-29 Brian Ford <ford@vss.fsi.com>
+
+ * scripttempl/pe.sc: Handle .debug* and .gnu.linkonce.wi.* sections
+ for DWARF 2/3. Update stab section's syntax.
+
+2004-04-29 Alan Modra <amodra@bigpond.net.au>
+
+ * pe-dll.c: Revert changes accidentally committed 2004-03-08.
+ (fill_edata): Correct pointer arithmetic.
+
+2004-04-21 Chris Demetriou <cgd@broadcom.com>
+
+ * ld.texinfo: Remove MIPS --embedded-relocs documentation.
+ * emulparams/elf32bmip.sh (EXTRA_EM_FILE): Remove definition.
+ * emulparams/mipsidt.sh (TEMPLATE_NAME): Use generic.em.
+ (EXTRA_EM_FILE): Use mipsecoff.em
+ * emulparams/mipsidtl.sh (TEMPLATE_NAME): Use generic.em.
+ (EXTRA_EM_FILE): Use mipsecoff.em
+ * emultempl/mipsecoff.em: Restructure to be included as an
+ extra emulation file.
+ (check_sections, gld${EMULATION_NAME}_after_open)
+ (gld${EMULATION_NAME}_after_allocation)
+ (gld${EMULATION_NAME}_get_script)
+ (ld_${EMULATION_NAME}_emulation): Remove
+ (gld${EMULATION_NAME}_before_parse): Rename to...
+ (mipsecoff_before_parse): This.
+ (LDEMUL_BEFORE_PARSE): Define.
+ * emultempl/mipself.em: Remove file.
+ * scripttempl/mips.sc (.rel.sdata): Do not include in output.
+ (__runtime_reloc_start, __runtime_reloc_stop): Stop providing
+ these symbols.
+ * Makefile.am: Remove dependencies on emultempl/mipself.em.
+ * Makefile.in: Regenerate.
+
+2004-04-21 Anil Paranjpe <anilp1@kpitcummins.com>
+
+ * ld.texinfo (synthesizing on H8/300): Information about linker
+ relaxation support for bit manipulation instructions and system
+ control instructions is added.
+
+2004-04-21 Hans-Peter Nilsson <hp@axis.com>
+
+ * NEWS: Mention change in DEFINED semantics.
+
+2004-04-21 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * scripttempl/elf.sc (.text): Add KEEP for .text.*personality*.
+ (.data): Add KEEP for .gnu.linkonce.d.*personality*.
+ (.gcc_except_table): Add KEEP for self and accept .gcc_except_table.*.
+
+2004-04-21 Ben Elliston <bje@au.ibm.com>
+
+ * ld.texinfo (Simple Example): Add missing punctuation.
+
+2004-04-20 Chris Demetriou <cgd@broadcom.com>
+
+ * NEWS: Note that MIPS --embedded-relocs option is deprecated.
+
+2004-04-19 Jakub Jelinek <jakub@redhat.com>
+
+ * ldlang.c (lang_do_assignments_1): Handle .tbss output section
+ specially.
+
+2004-04-18 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * scriptempl/pe.sc: Put numbered .ctors.* after .ctors
+ with default priority. Likewise for dtors.
+
+2004-04-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * configure.host: Remove mips*-dec-bsd* target.
+ * configure.tgt: Likewise.
+
+2004-04-08 Richard Sandiford <rsandifo@redhat.com>
+
+ * emulparams/elf32bsmip.sh (EXTRA_EM_FILE): Define to irix.
+ * emulparams/elf64bmip.sh (EXTRA_EM_FILE): Likewise.
+ * emulparams/elf32bmipn32.sh (EXTRA_EM_FILE): Likewise.
+ * emultempl/irix.em: New file.
+ * Makefile.am (eelf32bsmip.c, eelf32bmipn32.c, eelf64bmip.c): Update
+ dependencies.
+ * Makefile.in: Regenerate.
+
+2004-04-01 Paul Brook <paul@codesourcery.com>
+
+ * emultempl/armelf.em (byteswap_code): Add.
+ (arm_elf_before_allocation): Pass extra parameter.
+ (PARSE_AND_LIST_PROLOGUE): Add OPTION_BE8.
+ (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add be8.
+ (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_BE8.
+ * emultempl/armelf_oabi.em: Pass extra parameter.
+ * ld.texinfo: Document --be8.
+
+2004-03-30 Stan Shebs <shebs@apple.com>
+
+ Remove long-obsolete MPW support.
+ * mpw-config.in, mpw-make.sed, mac-ld.r: Remove files.
+ * Makefile.am (mpw): Remove file-presynthesizing actions.
+ * Makefile.in: Likewise.
+ * ldfile.c (slash): Remove MPW case.
+ * ldlex.l [MPW]: Remove unused definition.
+
+2004-03-30 Galit Heller <Galit.Heller@nsc.com>
+
+ * Makefile.am (ALL_EMULATIONS): Add eelf32cr16c.o.
+ (eelf32cr16c.c): New target.
+ * Makefile.in: Regenerate.
+ * configure.tgt: Handle cr16c-*-elf*.
+ * emulparams/elf32cr16c.sh: New file.
+ * scripttempl/elfcr16c.sc: Likewise
+ * NEWS: Mention support for new target.
+
+2004-03-30 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+
+2004-03-27 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/elf32.em: Update new bfd_elf_discard_info name.
+ * emultempl/hppaelf.em: Likewise.
+ * emultempl/ppc64elf.em: Likewise.
+ * emultempl/sh64elf.em: Likewise.
+
+2004-03-25 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Update
+ size_dynamic_sections call.
+
+2004-03-23 Alan Modra <amodra@bigpond.net.au>
+
+ PR 51.
+ * emultempl/ppc64elf.em (ppc_create_output_section_statements): Set
+ link_info.wrap_char.
+
+2004-03-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ * lexsup.c (parse_args): Don't set unresolved_syms_in_objects
+ or unresolved_syms_in_shared_libs for -Bdynamic and -Bstatic.
+
+2004-03-20 Alexandre Oliva <aoliva@redhat.com>
+
+ * emulparams/elf32frvfd.sh (MAXPAGESIZE): Change to 16Kb.
+
+2004-03-19 Alan Modra <amodra@bigpond.net.au>
+
+ * config.in: Regenerate.
+ * po/ld.pot: Regenerate.
+
+2004-03-18 Alan Modra <amodra@bigpond.net.au>
+
+ * ld.texinfo: Add --as-needed doco.
+ * ldmain.c (as_needed): New global var.
+ * ldmain.h (as_needed): Declare.
+ * lexsup.c (option_values): Add OPTION_AS_NEEDED and
+ OPTION_NO_AS_NEEDED.
+ (ld_options): Likewise.
+ (parse_args): Handle them.
+ * ldlang.h (lang_input_statement_type): Add as_needed field.
+ * ldlang.c (new_afile): Set p->as_needed.
+ * emultempl/elf32.em (gld${EMULATION_NAME}_load_symbols): New function.
+ (gld${EMULATION_NAME}_try_needed): Use bfd_elf_set_dyn_lib_class.
+ (ld_${EMULATION_NAME}_emulation): Set LDEMUL_RECOGNIZED_FILE entry.
+
+ * ldlang.c (open_input_bfds): Remove useless cast.
+ (lang_do_assignments_1): Likewise.
+ (lang_for_each_input_section): Delete.
+
2004-03-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.tgt: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff*.
+2004-03-08 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * pe-dll.c (pe_dll_generate_implib): Skip sections marked as
+ private when building implib.
+
2004-03-05 Nathan Sidwell <nathan@codesourcery.com>
* ldlang.c (lang_add_section): Don't force SEC_LOAD on
@@ -9,6 +194,19 @@
(IGNORE_SECTION): Ignore .tbss sections too.
(lang_size_sections_1): .tbss sections do not advance dot.
+2004-03-01 Andreas Schwab <schwab@suse.de>
+
+ * ld.texinfo (Options): Fix example for --wrap.
+
+2004-02-25 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * pe-dll.c (fill_edata): Check that exported_symbol_sections is
+ not NULL.
+
+2004-02-23 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * ldlang.c (lang_check): Use %P, not %E, in error message.
+
2004-02-23 Nathan Sidwell <nathan@codesourcery.com>
* ldlang.h (struct lang_output_section_state): Change processed
@@ -25,7 +223,7 @@
2004-02-23 Alan Modra <amodra@bigpond.net.au>
* ldexp.c (fold_tree): Follow indirect symbols.
-
+
2004-02-20 Nathan Sidwell <nathan@codesourcery.com>
* ldgram.y (exp): Add two operand ALIGN.
diff --git a/ld/ChangeLog-0203 b/ld/ChangeLog-0203
index af12db7..ee5354d 100644
--- a/ld/ChangeLog-0203
+++ b/ld/ChangeLog-0203
@@ -1541,7 +1541,7 @@
* Makefile.in: Regenerate.
-2002-01-14 Charles Wilson <cwilson@ece.gatech.edu>
+2003-01-14 Charles Wilson <cwilson@ece.gatech.edu>
* ld.texinfo (node WIN32): Some clarifications
and formatting fixups.
@@ -1635,6 +1635,1941 @@
and ldver.texi.
* Makefile.in: Regenerated.
+2002-12-24 Dmitry Diky <diwil@mail.ru>
+
+ * Makefile.am: Add msp430 target.
+ * configure.tgt: Likewise.
+ * Makefile.in: Regenerate.
+ * emulparams/msp430x???.sh: New files. Linker script parameters
+ for various msp430 configurations.
+ * gen-doc.texi: Enable msp430 documenation.
+ * ld.texinfo: Document msp430 sections.
+ * scripttempl/elf32msp430.sc: New file. Linker script for msp430.
+ * scripttempl/elf32msp430_3.sc: New file. Linker script for msp430.
+
+2002-12-30 Ralf Habacker <Ralf.Habacker@freenet.de>
+ Charles Wilson <cwilson@ece.gatech.edu>
+
+ * config.in (HAVE_REALPATH): New entry.
+ (HAVE_SYS_STAT_H, HAVE_SYS_TYPES_H): Removed: obsolete.
+
+2002-12-30 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * ld.texinfo: New win32 topics: 'symbol aliasing' and 'export dll
+ symbols'.
+
+2002-12-23 Alan Modra <amodra@bigpond.net.au>
+
+ * ldmain.c (main): Init "strip_discarded".
+ * lexsup.c (OPTION_STRIP_DISCARDED): Define.
+ (OPTION_NO_STRIP_DISCARDED): Define.
+ (ld_options): Add "strip-discarded" and "no-strip-discarded".
+ (parse_args): Handle them.
+
+2002-12-23 Nick Clifton <nickc@redhat.com>
+
+ * ld.h (struct args_type): Add new field
+ 'accept_unknown_input_architecture'.
+ * ldmain.c (main): Initialise 'accept_unknown_input_architecture'
+ to false.
+ * ldlang.c (lang_check): Pass accept_unknown_input_architecture to
+ bfd_arch_get_compatible.
+ * ldfile.c (ldfile_try_open_bfd): Likewise.
+ * lexsup.c (ld_options): Add new command line switch
+ --accept-unknown-input-architecture and its inverse.
+ (parse_args): Handle --accept-unknown-input-architecture.
+ * ld.texinfo: Document new linker option.
+ * NEWS: Mention new linker option.
+
+2002-12-20 Alan Modra <amodra@bigpond.net.au>
+
+ * ldmain.c (main): Re-order link_info initialization. Init all
+ fields.
+
+2002-12-19 Charles Wilson <cwilson@ece.gatech.edu>
+
+ * ld.texinfo: Clarify and extend the documentation
+ in the Machine Dependent, WIN32 section.
+
+2002-12-18 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * ld.texinfo: Add win32 machine depending section.
+ * gen-doc.texi: Enable win32 machine depending section.
+
+ * configure.host: Add win32 library search path.
+
+2002-12-17 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * emultempl/pe.em (pe_find_data_imports): Don't search for data
+ import when auto-import is disabled.
+
+2002-12-17 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * emultempl/pe.em (..._recognized_file): Use LD_PATHMAX+1 to
+ account for trailing '\0'.
+
+2002-12-17 Nick Clifton <nickc@redhat.com>
+
+ * emultempl/pe.em (longopts): Duplicate entry for --compact-implib
+ so that it is not confused with -c.
+
+2002-12-13 Ralf Habacker <Ralf.Habacker@freenet.de>
+ Charles Wilson <cwilson@ece.gatech.edu>
+
+ * configure.in: Add check for realpath function.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * deffile.h: Add .data field to def_file_import
+ structure.
+ * pe-dll.c (pe_proces_import_defs): Use .data field of
+ def_file_import structure to initialize flag_data field of
+ def_file_export structure.
+ (pe_implied_import_dll): New variables exp_funcbase and
+ [data|bss]_[start|end]. Use DLL's internal name to set dll_name,
+ not filename (which may be a symlink). Scan the sections and
+ initialize [data|bss]_[start|end]. When scanning the export
+ table, skip _nm_ symbols, and mark any symbols whose rva indicates
+ that it is in the .bss or .data sections as data.
+ * sysdep.h: Include limits.h and sys/param.h, and define
+ LD_PATHMAX as appropriate. Also define REALPATH as realpath if it
+ exists, NULL otherwise.
+ * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Call
+ pe_process_import_defs before pe_find_data_imports, so that
+ auto-import will check the virtual implib as well as "real"
+ implibs.
+ (gld_${EMULATION_NAME}_recognized_file): Use REALPATH to follow
+ symlinks to their target; check that the target's extension is
+ .dll before calling pe_implied_import_dll(), not the filename
+ itself (which may be a symlink).
+
+2002-12-10 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/elf32.em (struct orphan_save): Add os_tail field.
+ (gld${EMULATION_NAME}_place_orphan): Re-order output_section_statement
+ list too.
+
+2002-12-08 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.h: Formatting.
+
+2002-12-07 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (init_os): Ensure sections mentioned in load_base
+ are initialized.
+
+2002-12-05 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Set
+ load_base for orphans that follow a section with load_base set.
+
+2002-12-01 H.J. Lu <hjl@gnu.org>
+
+ * ld.texinfo: Remove the extra `;' in sample version script.
+
+2002-11-30 Alan Modra <amodra@bigpond.net.au>
+
+ * configure.host: Correct dynamic-linker for powerpc64 hosts.
+
+ * Makefile.am (eelf32ppcwindiss.c): Correct dependencies.
+ * Makefile.in: Regenerate.
+
+ * ld.h, ldcref.c, ldctor.c, ldctor.h, ldemul.c, ldemul.h, ldexp.c,
+ ldexp.h, ldfile.c, ldfile.h, ldgram.y, ldlang.c, ldlang.h, ldmain.c,
+ ldmain.h, ldmisc.c, ldwrite.c, lexsup.c, mri.c, pe-dll.c, pe-dll.h,
+ emulparams/elf32b4300.sh, emultempl/aix.em, emultempl/armcoff.em,
+ emultempl/armelf.em, emultempl/armelf_oabi.em, emultempl/beos.em,
+ emultempl/elf32.em, emultempl/generic.em, emultempl/gld960.em,
+ emultempl/gld960c.em, emultempl/hppaelf.em, emultempl/linux.em,
+ emultempl/lnk960.em, emultempl/m68kcoff.em, emultempl/mipsecoff.em,
+ emultempl/mmix-elfnmmo.em, emultempl/mmixelf.em, emultempl/mmo.em,
+ emultempl/needrelax.em, emultempl/pe.em, emultempl/ppc64elf.em,
+ emultempl/sh64elf.em, emultempl/sunos.em, emultempl/ticoff.em: Replace
+ boolean with bfd_boolean, true with TRUE, false with FALSE. Simplify
+ comparisons of bfd_boolean vars with TRUE/FALSE. Formatting.
+
+2002-11-27 David O'Brien <obrien@FreeBSD.org>
+
+ * configure.host: Fix generic FreeBSD configuration entry.
+
+2002-11-27 H.J. Lu <hjl@gnu.org>
+
+ * ld.texinfo: Add the missing `;' to sample version scripts.
+
+2002-11-20 Alan Modra <amodra@bigpond.net.au>
+
+ * emulparams/elf64ppc.sh (SEGMENT_SIZE): Don't define.
+
+2002-11-14 Egor Duda <deo@logos-m.ru>
+
+ * ldmain.c (main): Make runtime relocs disabled by default. Remove
+ assignment which has no effect.
+ * pe-dll.h (pe_create_import_fixup): Change prototype.
+ * pe-dll.c (make_runtime_pseudo_reloc): New function.
+ (pe_create_runtime_relocator_reference): Ditto.
+ (pe_create_import_fixup): Handle relocations with non-zero addends.
+ * emultempl/pe.em: Add options --enable-runtime-pseudo-reloc and
+ --disable-runtime-pseudo-reloc.
+ (make_import_fixup): Handle relocations with non-zero addends. Create
+ an external reference to _pei386_runtime_relocator symbol if at least
+ one pseudo reloc was created.
+ * ld.texinfo: Document --enable-runtime-pseudo-reloc and
+ --disable-runtime-pseudo-reloc options.
+
+2002-11-12 Earl Chew <earl_chew@agilent.com>
+
+ * ldlang.c (lang_add_section): Discard debugging sections that have
+ been marked SEC_EXCLUDE.
+
+2002-11-12 Nick Clifton <nickc@redhat.com>
+
+ * configure.in (ALL_LINGUAS): Add da.
+ * configure: Regenerate.
+ * po/da.po: New Danish translation.
+
+2002-11-12 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/ppc64elf.em (ppc_before_allocation): New function.
+ (LDEMUL_BEFORE_ALLOCATION): Define.
+ (gld${EMULATION_NAME}_finish): Run discard_info for relocatable
+ linking.
+ * emultemp/hppaelf.em ((gld${EMULATION_NAME}_finish): Likewise.
+
+2002-11-11 Christopher Faylor <cgf@redhat.com>
+
+ * configure.tgt (LIB_PATH): Default to searching w32api directory under
+ cygwin.
+
+2002-11-11 Charles Wilson <cwilson@ece.gatech.edu>
+
+ * pe-dll.c (autofilter_liblist): add libmingwex and libgcj to the list
+ of restricted auto-export libs.
+
+2002-11-11 Charles Wilson <cwilson@ece.gatech.edu>
+
+ * pe-dll.c (autofilter_liblist): Generalize library names to catch more
+ creative library naming instances like, e.g., libstdc++-2.a.
+
+2002-11-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * emulparams/elf32btsmipn32.sh (TEXT_DYNAMIC): Define.
+ * emulparams/elf64btsmip.sh (TEXT_DYNAMIC): Likewise.
+
+2002-11-07 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * deffilep.y (def_lex): Handle '@' as first character of an ID.
+ * pe-dll.c (auto-export): Filter on "_imp_" prefix, not "_imp__".
+ (make_one): Don't prefix decorated fastcall symbols with '_'.
+ (pe_process_import_defs): Likewise.
+ * emultempl/pe.em (pe_fixup_stdcalls): Don't fixup fastcall
+ symbols to cdecl names or vise-versa.
+
+2002-10-13 Eric Kohl <ekohl@rz-online.de>
+
+ * pe-dll.c (process_def_file): Handle fastcall symbols when
+ generating undecorated aliases. Don't prefix decorated fastcall
+ symbols with '_'.
+ (fill_exported_offsets): Don't prefix decorated fastcall symbols
+ with '_'.
+
+2002-10-29 Daniel Jacobowitz <drow@mvista.com>
+
+ * emultempl/aix.em: Use include <> for generated headers.
+ * emultempl/beos.em: Likewise.
+ * emultempl/elf32.em: Likewise.
+ * emultempl/pe.em: Likewise.
+ * ldctor.c: Likewise.
+ * ldexp.c: Likewise.
+ * ldfile.c: Likewise.
+ * ldlang.c: Likewise.
+ * ldlex.c: Likewise.
+ * ldlex.l: Likewise.
+ * ldmain.c: Likewise.
+ * ldmisc.c: Likewise.
+ * ldwrite.c: Likewise.
+ * lexsup.c: Likewise.
+ * mri.c: Likewise.
+ * pe-dll.c: Likewise.
+
+2002-10-23 Jakub Jelinek <jakub@redhat.com>
+
+ * emultempl/elf32.em (place_orphan): Don't put non-allocated .rel*
+ sections into .rel{,a}.dyn.
+
+2002-10-23 Nick Clifton <nickc@redhat.com>
+
+ * lexsup.c (OPTION_NO_OMAGIC): Define.
+ (ld_options): Add "no-omagic" option.
+ (parse_args): Parse --no-omagic.
+ * ld.texinfo: Document --no-omagic.
+ * NEWS: Mention new option.
+
+2002-10-21 Danny Smith <dannysmith@users.sourceforeg.net>
+
+ * scripttempl/pe.sc (__RUNTIME_PSEUDO_RELOC_LIST__,
+ __RUNTIME_PSEUDO_RELOC_LIST_END__): Add only when relocating.
+
+2002-10-22 Alexandre Oliva <aoliva@redhat.com>
+
+ * emulparams/elf32bmipn32-defs.sh: Set ELFSIZE according to
+ emulation name. Set LIB_PATH only for native tools, and
+ search the ABI-specific versions of NATIVE_LIB_DIRS before the
+ .../lib variants, not instead of them. Mostly copied from...
+ * emulparams/elf32ppc.sh: ... here. Fixed typo.
+ * emulparams/elf64bmip-defs.sh: Backed out.
+ * emulparams/elf64bmip.sh: Import elf32bmipn32-defs.sh again.
+ * emulparams/elf64btsmip.sh: Likewise.
+ (DATA_ADDR, NONPAGED_TEXT_START_ADDR, SHLIB_TEXT_START_ADDR,
+ TEXT_DYNAMIC): Removed.
+
+2002-10-17 Alexandre Oliva <aoliva@redhat.com>
+
+ * emulparams/elf32bmipn32-defs.sh (LIB_PATH): Set to /usr/lib32.
+ (GENERATE_SHLIB_SCRIPT): Set to yes.
+ (EXECUTABLE_SYMBOLS, WRITABLE_RODATA): Moved to...
+ * emulparams/elf32bmipn32.sh: here.
+ (GENERATE_SHLIB_SCRIPT): Deleted as redundant.
+ * emulparams/elf32btsmipn32.sh: Delete redundant unsets.
+ * emulparams/elf64bmip-defs.sh: New file. Extend
+ elf32bmipn32-defs.sh by overiding ELFSIZE and LIB_PATH.
+ * emulparams/elf64bmip.sh: Bring in definitions from
+ elf64bmip-defs.sh.
+ (ELFSIZE, GENERATE_SHLIB_SCRIPT, LIB_PATH): Delete redundant
+ settings.
+ (WRITABLE_RODATA): Moved from elf32bmipn32-defs.sh.
+ * emulparams/elf64btsmip.sh: Bring in definitions from
+ elf64bmip-defs.sh.
+ (ELFSIZE, GENERATE_SHLIB_SCRIPT): Delete, redundant.
+ (EXECUTABLE_SYMBOLS, WRITABLE_RODATA): Delete redundant unsets.
+
+2002-10-16 Jakub Jelinek <jakub@redhat.com>
+
+ * configure.tgt (s390x-*-linux*): Add elf_s390 emulation.
+ (s390-*-linux*): Add elf64_s390 emulation if want64.
+ * emulparams/elf64_sparc.sh (LIB_PATH): Update to match 2002-05-22
+ genscript.sh changes.
+ * emulparams/elf_x86_64.sh (LIB_PATH): Likewise.
+ * emulparams/elf64_s390.sh (LIB_PATH): Set up native 64 bit dirs.
+
+2002-10-15 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (load_symbols): Revert last change.
+
+2002-10-14 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (load_symbols): Don't call bfd_link_add_symbols when
+ just_syms_flag.
+ (lang_reasonable_defaults): Don't compare against false.
+ (size_input_section): Likewise.
+ (lang_size_sections_1): Likewise.
+ (lang_do_assignments): Likewise.
+ (lang_add_output): Likewise.
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * ldver.c: #include "bfdver.h".
+
+2002-10-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * scripttempl/elfm68hc11.sc: Use KEEP for .vectors, .installN,
+ .finiN section.
+ * scripttempl/elfm68hc12.sc: Likewise.
+
+2002-10-11 Alan Modra <amodra@bigpond.net.au>
+
+ * pe-dll.c (make_import_fixup_mark): Avoid type-punned pointer.
+
+ * ldgram.y (memory_spec): Provide empty action.
+ (section <NAME>): Likewise.
+
+2002-10-10 Jakub Jelinek <jakub@redhat.com>
+
+ * ldfile.c (ldfile_try_open_bfd): When searching skip linker scripts if
+ they have OUTPUT_FORMAT not matching actual output format.
+ * ldlang.c (lang_get_output_target): New function.
+ (open_output): Use it.
+ * ldlang.h (lang_get_output_target): New prototype.
+
+2002-10-10 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/elf32.em (output_rel_find): Prefer .rel script sections
+ when orphan is .rel, .rela when orphan is .rela.
+ (gld${EMULATION_NAME}_place_orphan): Handle combreloc .rel* case
+ first. Remove outsecname var.
+
+2002-10-09 Richard Shann <richard.shann@superh.com>
+ Stephen Clarke <stephen.clarke@superh.com>
+
+ * Makefile.am: Add eshelf32_linux.o and
+ eshlelf32_linux.o, new emulations for sh64 Linux.
+ * Makefile.in: Regenerate.
+ * configure.tgt: Add sh64eb-*-linux* and sh64-*-linux* emulations.
+ * emulparams/shelf32_linux.sh: New file.
+ * emulparams/shlelf32_linux.sh: New file.
+
+2002-10-08 H.J. Lu <hjl@gnu.org>
+
+ * ldlang.c (lang_file_exist): Removed.
+ (new_afile): Revert the last change.
+ * ldlang.h (lang_file_exist): Removed.
+ * lexsup.c (parse_args): Revert the last change.
+
+2002-10-07 Ralf Habacker <Ralf.Habacker@freenet.de>
+
+ * pe-dll.cc (autofilter_symbolprefixlist): Don't re-export
+ auto-import symbols.
+ (make_one): Create _nm_<symbol> for data only.
+
+2002-10-05 Elias Athanasopoulos <eathan@otenet.gr>
+
+ * ldlang.c (lang_file_exist): New function.
+ (new_afile): Abort if the filename to be added matches the linker
+ output filename.
+ * ldlang.h: Add prototype for lang_file_exist.
+ * lexsup.c (parse_args): Abort if the output filename matches
+ one of the input filenames.
+
+2002-10-02 Alan Modra <amodra@bigpond.net.au>
+
+ * emulparams/elf64ppc.sh (MAXPAGESIZE): Set to 0x10000.
+
+2002-09-30 Alan Modra <amodra@bigpond.net.au>
+
+ * scripttempl/elfd30v.sc: Order reloc sections placing .plt last.
+ * scripttempl/elfm68hc11.sc: Likewise.
+ * scripttempl/elfm68hc12.sc: Likewise.
+
+ * emultempl/elf32.em (output_rel_find): Always place orphan loadable
+ reloc sections just before .rel.plt/.rela.plt.
+ (gld${EMULATION_NAME}_place_orphan <.rel>): Remove combreloc code.
+ Only put loadable reloc sections in hold_rel.
+
+2002-09-29 H.J. Lu <hjl@gnu.org>
+
+ * emulparams/elf32ppc.sh (OTHER_GOT_RELOC_SECTIONS): New.
+
+2002-09-25 Daniel Jacobowitz <drow@mvista.com>
+
+ From "Anita Kulkarni" <AnitaK@kpit.com>
+ * scripttempl/sh.sc: Handle .eh_frame* and .gcc_exc*
+ sections.
+
+2002-09-25 Alan Modra <amodra@bigpond.net.au>
+
+ * genscripts.sh (SEGMENT_SIZE): Use MAXPAGESIZE before
+ TARGET_PAGE_SIZE.
+ * scripttempl/elf.sc (DATA_SEGMENT_ALIGN): Incorporate
+ SEGMENT_SIZE alignment.
+ * emulparams/elf64ppc.sh (DATA_ADDR): Delete.
+ (SEGMENT_SIZE): Define.
+
+ * ldexp.c (fold_unary): New. Split out from exp_fold_tree.
+ (fold_binary): Correct abs - non-abs case.
+ (fold_trinary): New. Split out from exp_fold_tree.
+
+2002-09-24 Alan Modra <amodra@bigpond.net.au>
+
+ * emulparams/elf64ppc.sh (DATA_ADDR): Define.
+ * emulparams/elf64_aix.sh (DATA_ADDR): Don't use a fixed address
+ for start of .data, instead align up to 256M boundary.
+ * scripttempl/aix.sc: Likewise.
+
+2002-09-22 Mark Elbrecht <snowball3@softhome.net>
+
+ * scripttempl/i386go32.sc: Handle bss unique sections.
+
+2002-09-21 Alan Modra <amodra@bigpond.net.au>
+
+ * ldmisc.c (vfinfo <%C,%D,%G>): Always output bfd, section and offset.
+
+2002-09-17 Stan Cox <scox@redhat.com>
+
+ * emulparams/elf32bmipn32-defs.sh: New file.
+ * emulparams/elf32bmipn32.sh: Use elf32bmipn32-defs.sh.
+ * emulparams/elf32btsmipn32.sh: Likewise.
+ * emulparams/elf64bmip.sh: Likewise.
+ * emulparams/elf64btsmip.sh: Likewise.
+
+2002-09-16 Bruno Haible <bruno@clisp.org>
+
+ * emulparams/elf_i386_fbsd.sh: Set OUTPUT_FORMAT to
+ elf32-i386-freebsd.
+ * emulparams/elf64alpha_fbsd.sh: Set OUTPUT_FORMAT to
+ elf64-alpha-freebsd.
+
+2002-09-11 Nick Clifton <nickc@redhat.com>
+
+ * NEWS: New TI port supports both C4x and C3x series of DSPs.
+
+ * po/tr.po: Updated Turkish translation.
+
+2002-09-06 Jeffrey A Law (law@redhat.com)
+
+ * configure.tgt (h8300-*-hms*, h8500-*-hms*): Restore.
+
+2002-09-02 Nick Clifton <nickc@redhat.com>
+
+ * scripttempl/v850.sc: Add EXTERN references to __ctbpm __gp and
+ __ep.
+ * emulparams/v850.sh (TEMPLATE_NAME): Define.
+
+2002-08-30 Nick Clifton <nickc@redhat.com>
+
+ * scripttempl/elfd10v.sc (MEMORY): Remove UNIFIED, it is not
+ used. Change INSN to start at 0x01000000 and extend for
+ 256K (ignoring holes). Start the STACK on a word aligned
+ boundary.
+ (.rodata): Start it at the READONLY_START_ADDR.
+
+2002-08-30 Alan Modra <amodra@bigpond.net.au>
+
+ * emulparams/elf32ppc.sh (ARCH): Set to "powerpc:common".
+
+2002-08-28 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * Makefile.am: Add etic4xcoff.o in ALL_EMULATIONS list and
+ added makefile targets for this file.
+ * Makefile.in: Regenerate.
+ * configure.tgt: Added tic4x-coff and c4x-coff emulations.
+ * NEWS: Mention new port.
+
+2002-08-28 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * emulparams/tic3xcoff.sh: New file.
+ * emulparams/tic4xcoff.sh: New file.
+ * scripttempl/tic3xcoff.sc: New file.
+ * scripttempl/tic4xcoff.sc: New file.
+
+2002-08-28 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Replace strtoll,
+ strtoul and strtoull with bfd_scan_vma.
+ (gld${EMULATION_NAME}_read_file): Likewise.
+
+2002-08-28 Alan Modra <amodra@bigpond.net.au>
+
+ * configure.tgt: Remove h8[35]00-*-hms*. Add h8500-*-rtems*.
+
+2002-08-27 Egor Duda <deo@logos-m.ru>
+
+ * scripttempl/pe.sc: Handle .rdata_runtime_pseudo_reloc sections.
+ Add symbols for application to access them.
+
+2002-08-27 Nick Clifton <nickc@redhat.com>
+
+ * emultempl/armelf.em: Revert this patch, it is not needed.
+
+ 2002-08-22 Adam Nemet <anemet@lnxw.com>
+
+2002-08-20 Dan Kegel <dank@kegel.com>
+
+ * configure.in: added --with-lib-path argument to ld's configure
+ to set LIB_PATH.
+ * NEWS: Document new switch.
+ * README: Mention new switch.
+ * configure: Regenerate.
+ * Makefile.in: Regenerate.
+
+ Based on this patch:
+ 2001-04-25 Christopher Faylor <cgf@cygnus.com>
+
+ * Makefile.in (LIB_PATH): Make configurable.
+ (GENSCRIPTS): Set LIB_PATH in environment.
+ * configure.in: Substitute LIB_PATH.
+
+2002-08-22 Adam Nemet <anemet@lnxw.com>
+
+ * emultempl/armelf.em: Include elf-bfd.h and elf/arm.h.
+ (arm_elf_finish): Set the last bit of DT_INIT and DT_FINI
+ depending on the type of the function.
+ (arm_elf_convert_thumb_symbol_to_address): New function.
+
+2002-08-22 Graeme Peterson <gp@qnx.com>
+
+ * Makefile.am: Add esh{l}elf_nto.o files.
+ * Makefile.in: Regenerate.
+ * configure.tgt: Add support for sh-**-nto* targets.
+ * emulparams/shelf_nto.sh: New file.
+ * emulparams/shlelf_nto.sh: New file.
+
+2002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * ldlang.c (offsetof): Define if not defined.
+
+2002-08-14 H.J. Lu <hjl@gnu.org>
+
+ * configure.tgt: Always enable 64bit emulations for 32bit
+ Linux/mips.
+
+2002-08-13 Alan Modra <amodra@bigpond.net.au>
+
+ * emulparams/elf32_dlx.sh (TARGET_PAGE_SIZE): Set to 1.
+ (MAXPAGESIZE): Set to 1.
+
+ * ld.h (ALIGN_N): Delete.
+ * ldexp.h (align_n): Declare.
+ * ldexp.c (align_n): New function.
+ (fold_binary): Use align_n instead of ALIGN_N.
+ (exp_fold_tree): Likewise.
+ * ldlang.c (lang_size_sections_1): Likewise.
+ (lang_one_common): Likewise.
+ * ld.texinfo (ALIGN): Remove power of 2 restriction.
+
+2002-07-31 Graeme Peterson <gp@qnx.com>
+
+ * configure.tgt: Add support for powerpc{le}-*-nto* targets.
+ * Makefile.am: Add eelf32{l}ppcnto.o files.
+ * Makefile.in: Regenerate.
+ * emulparams/elf32lppcnto.sh: New file.
+ * emulparams/elf32ppcnto.sh: New file.
+
+2002-08-07 H.J. Lu <hjl@gnu.org>
+
+ * ld.texinfo: Document --no-undefined-version.
+
+ * ldlang.c (lang_new_vers_pattern): Set the `symver' and
+ `script.' fields to 0.
+
+ * ldmain.c (main): Initialize the allow_undefined_version to
+ true.
+
+ * lexsup.c (OPTION_NO_UNDEFINED_VERSION): New.
+ (ld_options): Add --no-undefined-version.
+ (parse_args): Support OPTION_NO_UNDEFINED_VERSION.
+
+2002-08-07 Nick Clifton <nickc@redhat.com>
+
+ * emultempl/armelf.em (arm_elf_before_allocation): Only search for
+ an interworking bfd if there are input bfds. (107501)
+
+2002-08-06 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/aix.em (gld*_before_parse): Set default arch. Reverts
+ 2002-05-10 change.
+
+2002-08-01 Nick Clifton <nickc@redhat.com>
+
+ * emulparams/armelf.sh: Revert previous delta.
+ * scripttempl/elf.sc: Revert previous delta.
+
+2002-07-31 H.J. Lu <hjl@gnu.org>
+
+ * configure.tgt (powerpc*-*-linux*): Enable elf64ppc for
+ --enable-64-bit-bfd.
+
+2002-07-31 H.J. Lu <hjl@gnu.org>
+
+ * configure.tgt: Enable x86-64 emulation for Linux/i386 if
+ 64bit BFD is selected.
+
+2002-07-31 H.J. Lu <hjl@gnu.org>
+
+ * configure.tgt: Enable 64bit emulations for 32bit Linux/mips
+ if 64bit BFD is selected.
+
+2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
+
+ * emultempl/netbsd.em (LDEMUL_BEFORE_PARSE): New file to custom set
+ link_info.common_skip_ar_aymbols.
+ * emulparams/ns32knbsd.sh (EXTRA_EM_FILE): Refer to extra file.
+
+ * ldmain.c (main): Initialize new field
+ link_info.common_skip_ar_aymbols.
+
+2002-07-31 Adam Nemet <anemet@lnxw.com>
+
+ * emulparams/armelf.sh (OTHER_PLT_SECTIONS): New variable. Set it
+ to .plt.thumb.
+ * scripttempl/elf.sc: Comment it. Use the same way as ${PLT} is
+ used.
+
+2002-07-31 Nick Clifton <nickc@redhat.com>
+
+ * NEWS: Retroactively add entry for Lars Brinkhoff's contribution
+ of the PDP-11 and 2.11BSD a.out support.
+
+2002-07-31 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * Makefile.am (eelf32btsmipn32.o, eelf32ltsmipn32.o): New emulations
+ for n32 ABI support.
+ * Makefile.in: Regenerate.
+ * configure.tgt (mips64*el-*-linux-gnu*,mips64*-*-linux-gnu*): Add
+ n32 ABI emulations for these 64 bit targets.
+ * emulparams/elf32bmipn32.sh: Expand comment.
+ * emulparams/elf32btsmipn32.sh: New file, for traditional big endian
+ n32 ABI.
+ * emulparams/elf32ltsmipn32.sh: Likewise for little endian.
+
+2002-07-30 Graeme Peterson <gp@qnx.com>
+
+ * configure.tgt: Add support for arm-*-nto target.
+ * Makefile.am: Add earmnto.o file.
+ * Makefile.in: Regenerate.
+ * NEWS: Mention port of ARM support to QNX.
+ * emulparams/armnto.sh: New file.
+
+2002-07-30 Jakub Jelinek <jakub@redhat.com>
+
+ * ldlang.c (lang_add_section): Don't turn .tbss into normal sections
+ for relocatable link.
+ (lang_size_sections_1): Don't make .tbss zero size for relocatable
+ link.
+
+2002-07-26 Bernd Schmidt <bernds@redhat.com>
+
+ * emulparams/elf32frv.sh (OTHER_RELOCATING_SECTIONS): Delete.
+ (STACK_ADDR): New.
+
+2002-07-25 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+ * po/es.po: Updated Spanish translation.
+ * po/fr.po: Updated French translation.
+
+2002-07-24 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+ * po/es.po: Updated Spanish translation.
+
+2002-07-23 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated French translation.
+
+2002-07-20 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
+ bomb on /DISCARD/ input section.
+ * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
+ * emultempl/mmo.em (mmo_place_orphan): Likewise.
+
+2002-07-19 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * emultempl/mmo.em (mmo_place_orphan): Handle case of no .text
+ output section.
+
+2002-07-16 Denis Chertykov <denisc@overta.ru>
+ Nick Clifton <nickc@redhat.com>
+ Frank Ch. Eigler <fche@redhat.com>
+ John Healy <jhealy@redhat.com>
+
+ * configure.tgt: Add support for ip2k-elf.
+ * Makefile.am: Add support for ip2k-elf.
+ * Makefile.in: Regenerate.
+ * emulparams/elf32ip2k.sh: New file.
+ * scripttempl/ip2k.sc: New file
+ * NEWS: Mention support for new port.
+
+2002-07-16 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * NEWS: Add 'Changes in 2.13'.
+
+2002-07-14 H.J. Lu <hjl@gnu.org>
+
+ * ld.texinfo: Document a .symver takes precedence over a
+ version script.
+
+2002-07-12 Alan Modra <amodra@bigpond.net.au>
+
+ * emulparams/elf64ppc.sh (ARCH): Set to powerpc:common64.
+ (COMMONPAGESIZE): Define.
+
+2002-07-09 Alan Modra <amodra@bigpond.net.au>
+
+ * emulparams/hppanbsd.sh: Remark that hppaobsd.sh references this file.
+
+2002-07-09 Federico G. Schwindt <fgsch@olimpo.com.br>
+
+ * configure.tgt: Add support for alpha-*-openbsd*, hppa-*-openbsd*,
+ powerpc-*-openbsd* and sparc64-*-openbsd*.
+ * Makefile.am (ALL_EMULATIONS): Add ehppaobsd.o.
+ * Makefile.in: Regenerate.
+ * emulparams/hppaobsd.sh: New file.
+
+2002-07-05 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (print_wild_statement): Fix output formatting.
+
+2002-07-04 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c: (strip_excluded_output_sections): New function.
+ (lang_process): Call it.
+ (lang_size_sections_1): Revert 2002-06-10 change.
+
+2002-07-03 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (check-DEJAGNU): Revert 2002-06-25 change.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2002-07-02 Alan Modra <amodra@bigpond.net.au>
+
+ * ldfile.c (ldfile_try_open_bfd): Formatting.
+
+ * ldmisc.c (demangle): Move so that it doesn't intrude between
+ vfinfo comment and body. Add comment.
+
+2002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * emulparams/vax.sh (OUTPUT_FORMAT): Use a.out-vax-bsd format.
+
+2002-07-01 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.h (entry_sym): Make it a struct bfd_sym_chain.
+ * ldlang.c (entry_sym): Likewise.
+ (ldlang_undef_chain_list_type): Likewise.
+ (lang_finish): Adjust references to entry_symbol.
+ (lang_add_entry): Likewise.
+ (lang_gc_sections): Use link_info.gc_sym_list.
+ (lang_process): Set link_info.gc_sym_list.
+ * ldlex.l: Include bfdlink.h.
+ * ldmain.c (main): Init link_info.gc_sym_list.
+ * emultempl/aix.em: Adjust references to entry_symbol.
+ * emultempl/armcoff.em: Likewise.
+ * emultempl/armelf.em: Likewise.
+ * emultempl/pe.em: Likewise.
+ * emultempl/ppc64elf.em (ppc_after_open): New function.
+ (LDEMUL_AFTER_OPEN): Define.
+ * emulparams/elf64ppc.sh: KEEP .opd sections.
+
+2002-06-29 Stephane Carrez <stcarrez@nerim.fr>
+
+ * emulparams/m68hc12elfb.sh (EEPROM_MEMORY): Define.
+ * emulparams/m68hc11elfb.sh (EEPROM_MEMORY): Define.
+ * emulparams/m68hc11elf.sh (EEPROM_SIZE): Define.
+ (EEPROM_START_ADDR): Define.
+ (EEPROM_MEMORY): Define.
+ * emulparams/m68hc12elf.sh: Likewise.
+ * scripttempl/elfm68hc11.sc: Handle .eeprom section; handle .softregs
+ section to put soft registers in .page0.
+ * scripttempl/elfm68hc12.sc: Likewise but put soft registers in bss.
+
+2002-06-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * emulparams/hppa64linux.sh (OTHER_GOT_RELOC_SECTIONS): Add rela.opd
+ section. Add ${RELOCATING-0}.
+
+2002-06-26 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * emulparams/shelf.sh (STACK_ADDR): Don't define.
+ (OTHER_SECTIONS): Define.
+ * emulparams/shelf_nbsd.sh ((STACK_ADDR): Don't undef.
+ (OTHER_SECTIONS): Undef.
+
+2002-06-26 Alan Modra <amodra@bigpond.net.au>
+
+ * ldmisc.c (demangle): Restore dots stripped from sym name.
+
+2002-06-25 H.J. Lu <hjl@gnu.org>
+
+ * Makefile.am (check-DEJAGNU): Set LC_ALL=C and export it.
+ * Makefile.in: Regenerated.
+
+2002-06-20 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * ld.texinfo (Bug Reporting): Update text to suggest a limit on
+ the size of attached object files, to allow make the object files
+ available via FTP or HTTP and to mention that the mail will be
+ sent to a mailing list.
+
+2002-06-20 Nathanael Nerode <neroden@twcny.rr.com>
+
+ * configure.host (romp): Drop support.
+
+2002-06-18 Chris Demetriou <cgd@broadcom.com>
+
+ * emultempl/mipself.em (mips_elf${ELFSIZE}_check_sections): Check
+ section flags for SEC_DATA, rather than for SEC_CODE being unset.
+
+2002-06-18 Chris Demetriou <cgd@broadcom.com>
+
+ * emultempl/mipself.em (mips_elf${ELFSIZE}_check_sections): Fix
+ format specifier used to print BFD name.
+
+2002-06-18 Dave Brolley <brolley@redhat.com>
+
+ From Catherine Moore, Michael Meissner, Jim Blandy:
+ * emulparams/elf32frv.sh: New file.
+ * configure.tgt: Support frv-*-*.
+ * Makefile.am (ALL_EMULATIONS): Add eelf32frv.o.
+ (eelf32frv.c): New target.
+
+2002-06-17 Tom Rix <trix@redhat.com>
+
+ * emultempl/elf32.em: gld*_get_script: Check for
+ GENERATE_COMBRELOC_SCRIPT.
+ * scripttempl/elfd10v.sc : Fix STACK and INSN.
+ * emulparams/d10velf.sh : Fix TEXT_START_ADDR.
+
+2002-06-13 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * configure.tgt: Add support for sh[1234]*le*-*-elf, sh[1234]*-*-elf.
+
+2002-06-12 H.J. Lu <hjl@gnu.org>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Return
+ false if xvec doesn't match.
+
+2002-06-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * ldlang.c (lang_size_sections_1): Skip removed output sections.
+
+2002-06-08 Alan Modra <amodra@bigpond.net.au>
+
+ * ldexp.c: Replace CONST with const.
+ * ldfile.c: Likewise.
+ * ldfile.h: Likewise.
+ * ldlex.l: Likewise.
+ * mri.c: Likewise.
+ * pe-dll.h: Likewise.
+
+2002-06-07 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/ppc64elf.em (new_vers_pattern): Warning fix.
+
+2002-06-07 Charles Wilson <cwilson@ece.gatech.edu>
+
+ * ldmain.c (main): initialize link_info.pei386_auto_import
+ to -1 == implicit enable.
+ * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse):
+ initialize link_info.pei386_auto_import to -1 == implicit
+ enable.
+ (gld_${EMULATION_NAME}_parse_args): When processing
+ --enable-auto-import and --disable-auto-import options, use
+ '1' and '0' instead of 'true' and 'false'.
+ (pe_find_data_imports): Only issue message about auto-import
+ when the feature is implicitly enabled. Downgrade message to
+ informational instead of warning.
+
+2002-06-07 Alan Modra <amodra@bigpond.net.au>
+
+ * scripttempl/elf.sc (.tbss): Fix mismatched parentheses/braces.
+
+2002-06-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * configure.host (hppa*64*-*-hpux11*): Define NATIVE_LIB_DIRS,
+ HOSTING_CRT0 and HOSTING_LIBS.
+
+2002-06-05 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * configure.tgt (shle*-*-elf*, sh64le-*-elf*): New configurations.
+
+2002-06-05 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * emulparams/ns32knbsd.sh (EXECUTABLE_SYMBOLS): Set _DYNAMIC to 0.
+ (NONPAGED_TEXT_START_ADDR): Set to 0x1000.
+
+2002-06-05 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Place
+ SEC_EXCLUDE sections when doing a relocatable link.
+
+2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * Makefile.am (ALL_EMULATIONS): Add eshelf32_nbsd.o,
+ eshlelf32_nbsd.o, eshelf64_nbsd.o, and eshlelf64_nbsd.o.
+ (eshelf32_nbsd.c, eshelf64_nbsd.c, eshlelf32_nbsd.c)
+ (eshlelf64_nbsd.c): New rules.
+ * Makefile.in: Regenerate.
+ * configure.tgt (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
+ (sh64-*-netbsd*): New targets.
+ * emulparams/shelf32_nbsd.sh: New file.
+ * emulparams/shelf64_nbsd.sh: New file.
+ * emulparams/shlelf32_nbsd.sh: New file.
+ * emulparams/shlelf64_nbsd.sh: New file.
+
+2002-06-04 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (section_already_linked): Call bfd_discard_group. Typo fix.
+
+2002-06-02 Marek Michalkiewicz <marekm@amelek.gda.pl>
+
+ * scripttempl/avr.sc: Changes to support current GCC and avr-libc,
+ C++ constructors/destructors, loosely based on the m68hc11 port.
+
+2002-05-31 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+
+2002-05-31 Graeme Peterson <gp@qnx.com>
+
+ * Makefile.am (ALL_EMULATIONS): Add ei386nto.o.
+ (ei386nto.c): Add rule.
+ * Makefile.in: Regenerate.
+ * configure.tgt: Add i[3456]86-*-nto-qnx*.
+ * emulparams/i386nto.sh: New file.
+
+2002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * NEWS: Add entry for VAX ELF support.
+
+2002-05-29 Matt Thomas <matt@3am-software.com>
+ Jason Thorpe <thorpej@wasabisystems.com>
+
+ * Makefile.am (ALL_EMULATIONS): Add eelf32vax.o and evaxnbsd.o.
+ (eelf32vax.c)
+ (evaxnbsd.c): New rules.
+ * Makefile.in: Regenerate.
+ * configure.tgt (vax-*-netbsdelf*)
+ (vax-*-netbsdaout*)
+ (vax-*-netbsd*): New targets.
+ * emulparams/elf32vax.sh: New file.
+ * emulparams/vaxnbsd.sh: New file.
+
+2002-05-29 Adam Nemet <anemet@lnxw.com>
+
+ * emultempl/armelf.em (arm_elf_after_open): Don't determine
+ bfd_for_interwork, instead add glue sections to each input bfd.
+ (bfd_for_interwork): New global.
+ (arm_elf_set_bfd_for_interworking): New function.
+ (arm_elf_before_allocation): Use it.
+
+2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
+
+ * Makefile.am: Add DLX make target.
+ * configure.tgt: Add DLX configuration.
+ * Makefile.in: Regenerate.
+ * emulparams/elf32_dlx.sh: New file
+ * scripttempl/dlx.sc: New file
+
+2002-05-27 Per Lundberg <per@caleb.dnsalias.org>
+
+ * Makefile.am (eelf_i386_chaos): Use elf_chaos.sc script.
+ * Makefile.in: Regenerate.
+ * emulparams/elf_chaos.sh: Use elf_chaos script.
+ * scripttempl/elf_chaos.sc: New file.
+
+2002-05-27 Richard Sandiford <rsandifo@redhat.com>
+
+ * ldlang.c (lang_size_sections_1): Move check for conflicting load
+ addresses and regions from here...
+ (lang_get_regions): ...to this new function.
+ (lang_leave_output_section_statement): Use lang_get_regions.
+ (lang_leave_overlay): Likewise.
+ * mri.c (mri_draw_tree): Pass null as last argument to
+ lang_leave_output_section_statement.
+ * emultempl/elf32.em (gld*_place_orphan): Likewise.
+ * emultempl/mmo.em (mmo_place_orphan): Likewise.
+ * emultempl/pe.em (gld*_place_orphan): Likewise.
+
+2002-05-26 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * configure.tgt: Use ns32k-*-netbsd* instead of ns32k-pc532-netbsd*.
+
+2002-05-25 Kazu Hirata <kazu@cs.umass.edu>
+
+ * ldemul.c: Fix formatting.
+ * ldfile.c: Likewise.
+ * pe-dll.c: Likewise.
+ * pe-dll.h: Likewise.
+
+2002-05-25 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (lang_process): Formatting, grammar.
+
+ * ldlex.l: Use #include "" instead of <> for local header files.
+
+2002-05-24 TAMURA Kent <kent@netbsd.org>
+
+ * configure.tgt: Add a target for i386-netbsdpe.
+
+2002-05-23 Jakub Jelinek <jakub@redhat.com>
+
+ * scripttempl/elf.sc: Add .rel{,a}.t{bss,data}, .tdata and .tbss.
+ * ldlang.c (lang_add_section): Set SEC_THREAD_LOCAL for
+ output section if necessary. Handle .tbss.
+ (lang_size_sections): Clear _raw_size for .tbss section
+ (it allocates space in PT_TLS segment only).
+ * ldwrite.c (build_link_order): Build link order for .tbss too.
+
+2002-05-23 Alan Modra <amodra@bigpond.net.au>
+
+ * configure.in: Correct spelling of AC_PREREQ.
+
+2002-05-21 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * pe-dll.c (autofilter_liblist): Add more system libs excluded by
+ default.
+ (autofilter_objlist): Add crtbegin.o, crtend.o.
+
+2002-05-21 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * emultempl/pe.em (OPTION_EXCLUDE_LIBS): Add new define.
+ (longopts): Add new option --exclude-libs.
+ (gld_${EMULATION_NAME}_list_options): Give quick help about it.
+ (gld_${EMULATION_NAME}_parse_args): Use it.
+ * pe-dll.h (pe_dll_add_excludes): Add second param to prototype.
+ * pe-dll.c (exclude_list_struct): Add field type to distinguish symbols
+ from whole archives.
+ (pe_dll_add_excludes): Set excludes->type.
+ (auto_export): Add new variable libname and set to archive basename if
+ abfd. Use it when filtering default and user-specified libarary
+ excludes. Let string "ALL" mean all libs when filtering user-specified
+ libs.
+ * ld.texinfo: Document --exclude-libs.
+
+2002-05-22 Alan Modra <amodra@bigpond.net.au>
+
+ * ldemul.c (ldemul_new_vers_pattern): New function.
+ * ldemul.h (ldemul_new_vers_pattern): Declare.
+ (struct ld_emulation_xfer_struct): Add new_vers_pattern.
+ * ldlang.c (lang_new_vers_pattern): Call ldemul_new_vers_pattern.
+ * emultempl/ppc64elf.em (dotsyms): New static var.
+ (gld${EMULATION_NAME}_new_vers_pattern): New function.
+ (LDEMUL_NEW_VERS_PATTERN): Define.
+ (PARSE_AND_LIST_PROLOGUE): Add OPTION_DOTSYMS, OPTION_NO_DOTSYMS.
+ (PARSE_AND_LIST_LONGOPTS): Likewise.
+ (PARSE_AND_LIST_ARGS_CASES): Handle them.
+ * emultempl/aix.em (ld_${EMULATION_NAME}_emulation): Update
+ initialiser.
+ * emultempl/armcoff.em: Likewise.
+ * emultempl/armelf_oabi.em: Likewise.
+ * emultempl/beos.em: Likewise.
+ * emultempl/elf32.em: Likewise.
+ * emultempl/generic.em: Likewise.
+ * emultempl/gld960.em: Likewise.
+ * emultempl/gld960c.em: Likewise.
+ * emultempl/linux.em: Likewise.
+ * emultempl/lnk960.em: Likewise.
+ * emultempl/m68kcoff.em: Likewise.
+ * emultempl/mipsecoff.em: Likewise.
+ * emultempl/pe.em: Likewise.
+ * emultempl/sunos.em: Likewise.
+ * emultempl/ticoff.em: Likewise.
+ * emultempl/vanilla.em: Likewise.
+
+2002-05-22 Alan Modra <amodra@bigpond.net.au>
+
+ * genscripts.sh (LIB_PATH): For native targets, concatenate $libdir
+ and $NATIVE_LIB_DIRS. Add $tool_lib before other libs.
+ (LIB_SEARCH_DIRS): No need to use "tr".
+ (COMPILE_IN): Only set for native targets.
+ * configure.host (NATIVE_LIB_DIRS): Specify all native search dirs
+ here, rather than adding lib:/usr/lib:/usr/local/lib in genscripts.sh.
+ * configure.tgt (powerpc*): Set tdir_*.
+ (powerpcle*): Correct targ_extra_emuls.
+ * emulparams/elf32ppc.sh (LIB_PATH): Set up native 64 bit dirs.
+ * emulparams/elf64ppc.sh (LIB_PATH): Likewise.
+
+2002-05-22 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/pe.em (set_pe_subsystem): Don't set "cmdline" when
+ calling lang_add_entry.
+
+2002-05-21 H.J. Lu (hjl@gnu.org)
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_parse_args): Handle
+ "-z muldefs".
+ (gld${EMULATION_NAME}_list_options): Add "-z muldefs".
+
+ * ld.texinfo: Updated for --allow-multiple-definition and
+ "-z muldefs".
+
+ * ldmain.c (main): Initialize the allow_multiple_definition
+ field to false.
+
+ * lexsup.c (OPTION_ALLOW_MULTIPLE_DEFINITION): New.
+ (ld_options): Add --allow-multiple-definition.
+ (parse_args): Support OPTION_ALLOW_MULTIPLE_DEFINITION.
+
+2002-05-21 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * Makefile.am (ALL_EMULATIONS): Add earmelfb_nbsd.o.
+ (earmelfb_nbsd.c): New rule.
+ * Makefile.in: Regenerate.
+ * configure.tgt (armeb-*-netbsdelf*): New target.
+ (arm-*-netbsdelf*): Add armelfb_nbsd to targ_extra_emuls.
+ (arm-*-netbsd*): Likewise.
+ * emulparams/armelfb_nbsd.sh: New file.
+
+2002-05-18 Tom Rix <trix@redhat.com>
+
+ * emultempl/aix.em (gld*_parse_args): Add -bnortl and -bnortllib
+ support.
+
+2002-05-17 Marek Michalkiewicz <marekm@amelek.gda.pl>
+
+ * Makefile.am: Add new emulations avr1, avr2, avr3, avr4, avr5.
+ * Makefile.in: Regenerate.
+ * configure.tgt (avr-*-*): Add avr[1-5] to targ_extra_emuls.
+
+2002-05-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
+
+ * emulparams/avr1.sh: New file.
+ * emulparams/avr2.sh: New file.
+ * emulparams/avr3.sh: New file.
+ * emulparams/avr4.sh: New file.
+ * emulparams/avr5.sh: New file.
+ * scripttempl/avr.sc: New file.
+
+2002-05-15 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (section_already_linked): Call bfd_link_just_syms.
+ (lang_place_orphans): Abort if just_syms_flag.
+
+2002-05-10 Tom Rix <trix@redhat.com>
+
+ * emultempl/aix.em: (gld*_set_output_arch): New function. Use
+ architecture and machine information in the output bfd.
+ (gld*_before_parse): Remove old arch and machine code.
+ (choose_target): Rename to gld*_choose_target.
+ (rtld): Change type to int.
+ * ldfile.c (ldfile_try_open_bfd): Disable compatiblity check for
+ objects in XCOFF archives.
+ * ldfile.h: Update copyright date.
+
+2002-05-10 Jakub Jelinek <jakub@redhat.com>
+
+ * ldmain.c (main): Enable -z combreloc by default.
+
+2002-05-07 Federico G. Schwindt <fgsch@olimpo.com.br>
+
+ * Makefile.am: Honour DESTDIR.
+ * Makefile.in: Regenerate.
+
+2002-05-07 Richard Sandiford <rsandifo@redhat.com>
+
+ * ldlang.h (lang_output_section_statement_type): Add update_dot_tree.
+ (lang_enter_overlay): Remove the last two parameters.
+ (lang_leave_overlay): Take them here instead.
+ * ldgram.y (memspec_at_opt): Set $$ to null if no region is given.
+ (section): Pass LMA and crossref flag to lang_leave_overlay rather
+ than lang_enter_overlay.
+ * ldlang.c (lang_memory_region_lookup): Return null for null names.
+ (lang_output_section_statement_lookup): Initialize update_dot_tree.
+ (lang_size_sections_1): Evaluate it.
+ (lang_leave_output_section_statement): Rework LMA lookup.
+ (overlay_lma, overlay_nocrossrefs): Remove.
+ (lang_enter_overlay): Remove LMA and crossref arguments.
+ (lang_enter_overlay_section): Don't set the LMA here.
+ (lang_leave_overlay): Take LMA and crossref arguments. Move the '.'
+ assignment to the last section's update_dot_tree. Unconditionally
+ use the load and run-time regions specified in the OVERLAY statement.
+ Likewise the first section's LMA. Only set the other sections' LMAs
+ when no load region is given.
+
+2002-05-06 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: New translation.
+
+2002-05-04 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/hppaelf.em (build_section_lists): New function.
+ (gld${EMULATION_NAME}_finish): Call elf32_hppa_setup_section_lists
+ and build_section_lists.
+
+2002-05-03 Kazu Hirata <kazu@cs.umass.edu>
+
+ * ld.h: Fix formatting.
+ * ldexp.c: Likewise.
+ * ldfile.c: Likewise.
+ * ldlang.c: Likewise.
+ * ldmain.c: Likewise.
+ * lexsup.c: Likewise.
+ * pe-dll.c: Likewise.
+
+2002-05-02 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation):
+ Adjust for ppc64_elf_set_toc change. #include libbfd.h.
+ (build_section_lists): Do output_section tests here.
+
+2002-04-30 Tom Rix <trix@redhat.com>
+
+ * emultempl/aix.em : (gld*_parse_arge): Formatting changes.
+
+2002-05-01 Alan Modra <amodra@bigpond.net.au>
+
+ Long branch stubs, multiple stub sections.
+ * emultempl/ppc64elf.em: Include ldctor.h.
+ (stub_file): New var.
+ (group_size): New var.
+ (ppc_create_output_section_statements): New function.
+ (struct hook_stub_info): New.
+ (hook_in_stub): New function.
+ (ppc_add_stub_section): New function.
+ (ppc_layout_sections_again): New function.
+ (build_section_lists): New function.
+ (gld${EMULATION_NAME}_finish): Rewrite.
+ (real_func): New var.
+ (ppc_for_each_input_file_wrapper): New function.
+ (ppc_lang_for_each_input_file): New function.
+ (lang_for_each_input_file): Define.
+ (PARSE_AND_LIST_PROLOGUE): Define.
+ (PARSE_AND_LIST_LONGOPTS): Define.
+ (PARSE_AND_LIST_OPTIONS): Define.
+ (PARSE_AND_LIST_ARGS_CASES): Define.
+ (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
+
+2002-04-30 Tom Rix <trix@redhat.com>
+
+ * emultempl/aix.em (gld*_parse_arge, gld*_before_allocation): Add
+ -blibpath, -bnolibpath support.
+
+2002-04-30 Mark Mitchell <mark@codesourcery.com>
+
+ * Makefile.am (ALL_EMULATIONS): Add elf32ppcwindiss.o.
+ (eelf32ppcwindiss.c): New target.
+ * Makefile.in: Regenerated.
+ * configure.tgt: Add support for powerpc-*-windiss.
+ * emulparams/elf32ppcwindiss.sh: New file.
+
+2002-04-30 Richard Sandiford <rsandifo@redhat.com>
+
+ * ldlang.c (print_assignment): Update print_dot for assignments to ".".
+ * ldexp.c (exp_print_token): Add "infix_p" argument.
+ (exp_print_tree): Update accordingly.
+
+2002-04-28 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (mpw): New maintainer mode rule to make mpw-*.c files.
+ * Makefile.in: Regenerate.
+ * mpw-elfmips.c: Delete.
+ * mpw-eppcmac.c: Delete.
+ * mpw-esh.c: Delete.
+ * mpw-idtmips.c: Delete.
+
+2002-04-17 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * emulparams/shelf32.sh (MACHINE): Now sh5.
+
+2002-04-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * ldgram.y: Fix syntax warning.
+
+2002-04-11 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * emultempl/armelf.em (PARSE_AND_LIST_SHORTOPTS): Add 'n' in order
+ to prevent "-n" from being taken as an abbreviation for
+ "--no-pipeline-knowledge".
+
+2002-04-08 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (lang_size_sections_1): Don't complain about
+ SEC_NEVER_LOAD sections having no memory region specified.
+
+ * ld.texinfo (Format Commands <OUTPUT_FORMAT>): Typo fix.
+
+2002-04-07 matthew green <mrg@redhat.com>
+
+ * configure.host (*-*-netbsd*): Add support for NetBSD/ELF.
+
+2002-04-04 Alan Modra <amodra@bigpond.net.au>
+
+ * dep-in.sed: Cope with absolute paths.
+ * Makefile.am (dep.sed): Subst TOPDIR and BFDDIR.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2002-04-04 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * emulparams/elf64btsmip.sh: n64 replaces .reginfo with .MIPS.options.
+
+2002-04-03 Jakub Jelinek <jakub@redhat.com>
+
+ * ldexp.c (fold_binary) [DATA_SEGMENT_ALIGN]: If common page size
+ is smaller than maximum, round dot up to common page boundary.
+
+2002-03-28 Alan Modra <amodra@bigpond.net.au>
+
+ * configure.host: Set up for generic hosts first, then tweak as
+ necessary in more specific targets.
+ (HOSTING_LIBS): Include libgcc_eh.a if found.
+
+2002-03-23 Andreas Jaeger <aj@suse.de>
+
+ * emulparams/elf_x86_64.sh (COMMONPAGESIZE): Set it.
+
+2002-03-21 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2002-03-21 Albert Chin-A-Young <china@thewrittenword.com>
+
+ * genscripts.sh (LIB_SEARCH_DIRS): Quote path.
+
+2002-03-20 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (ldlang_add_undef): If the output bfd has been opened,
+ add the symbol to the linker hash table immediately.
+ (lang_place_undefineds): Split symbol creation out..
+ (insert_undefined): ..to here.
+
+2002-03-18 David O'Brien <obrien@FreeBSD.org>
+
+ * emultempl/elf32.em: Use lbasename vs. basename to fix problem where
+ the contents of the buffer returned from basename function will are
+ getting overwritten while still being used.
+
+2002-03-18 Jan Hubicka <jh@suse.cz>
+ Andreas Jaeger <aj@suse.de>
+ Andreas Schwab <schwab@suse.de>
+
+ * configure.tgt (x86_64-*-linux-gnu*): Configure i386 as native.
+ * elf_x86_64.sh (ARCH): Set to i386:x86-64
+ set libraries to default to lib64 paths.
+
+2002-03-18 Tom Rix <trix@redhat.com>
+
+ * Makefile.am : Add eaix5ppc and eaix5rs6, AIX 5 support.
+ * configure.tgt : Same.
+ * emulparms/aix5ppc.sh : New file. For eaix5ppc.
+ * emulparms/aix5rs6.sh : New file. For eaix5rs6.
+ * emulparms/aixppc.sh : OUPUT_FORMAT_32BIT and OUTPUT_FORMAT_64BIT
+ emulation parameters for better -b32, -b64 support.
+ * emulparms/aixrs6.sh : Same.
+ * emulparms/ppcmacos.sh : Same.
+ * emultempl/aix.em (choose_target) : Use new emulation parameters
+ OUTPUT_FORMAT_32BIT and OUTPUT_FORMAT_64BIT.
+ * Makefile.in : Regenerate.
+
+2002-03-18 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/fr.po: Updated version.
+
+2002-03-18 Alan Modra <amodra@bigpond.net.au>
+
+ * ldmain.c (main): Move .text readonly flag fudges from here..
+ * ldlang.c (lang_process): ..to here.
+
+2002-03-14 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (lang_check): Remove the word size check added in last
+ change. Treat emitrelocations case as for relocatable links.
+
+2002-03-13 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/fr.po: Updated version.
+
+2002-03-13 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (lang_check): Do relocatable link checks first, so that
+ warn_mismatch can't override. Check compatible and word size too.
+
+2002-03-07 Daniel Jacobowitz <drow@mvista.com>
+
+ * ld.texinfo: Wrap @menu in @ifnottex, not @ifinfo.
+
+2002-03-05 Jakub Jelinek <jakub@redhat.com>
+
+ * scripttempl/elf.sc: Only use DATA_SEGMENT_END() together with
+ DATA_SEGMENT_ALIGN.
+
+2002-03-04 H.J. Lu <hjl@gnu.org>
+
+ * scripttempl/elf.sc: Put .preinit_array, .init_array and
+ .fini_array in the data segment.
+
+2002-03-04 Alan Modra <amodra@bigpond.net.au>
+
+ * scripttempl/elf.sc: Correct syntax errors in 2002-03-01 commit.
+
+2002-03-01 David Mosberger <davidm@hpl.hp.com>
+
+ * scripttempl/elf.sc (SECTIONS): Add entries for .preinit_array,
+ .init_array, and .fini_array.
+
+2002-02-20 Andreas Schwab <schwab@suse.de>
+
+ * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Don't fold
+ .IA64_unwind* in a relocatable link.
+
+2002-02-20 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * NEWS: Mark 2.12 branch.
+
+2002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * emulparams/elf64_s390.sh (ARCH): Change to "s390:64-bit".
+ * emulparams/elf_s390.sh (ARCH): Change to "s390:31-bit".
+
+2002-02-18 Tom Rix <trix@redhat.com>
+
+ * emultempl/aix.em (gld*_parse_args): Add -brtl support.
+ (gld*_before_allocation): Same.
+ (gld*_create_output_section_statements): Generate
+ __rtinit if run time linking. Add librtl.a to the link.
+ (gld*_read_file): Clean.
+
+2002-02-18 Alan Modra <amodra@bigpond.net.au>
+
+ * emulparams/elf64ppc.sh (OTHER_TEXT_SECTIONS): Define.
+
+2002-02-18 David O'Brien <obrien@FreeBSD.org>
+
+ * Makefile.am: Add new files earmelf_fbsd, eelf32ppc_fbsd,
+ eelf_i386_fbsd, eelf64_ia64_fbsd, eelf_x86_64_fbsd, eelf64_sparc_fbsd,
+ and eelf64alpha_fbsd.
+ * Makefile.in: Regenerate.
+ * configure.tgt(sparc64-*-freebsd, ia64-*-freebsd, i[3456]86-*-freebsd,
+ x86_64-*-freebsd, arm-*-freebsd, alpha*-*-freebsd, powerpc-*-freebsd):
+ use a FreeBSD-specific emulation rather than the psABI one.
+ * emulparams/elf_fbsd.sh (ELF_INTERPRETER_NAME): Set appropriate value
+ for all FreeBSD ELF systems.
+ * emulparams/armelf_fbsd.sh: Bridge elf_fbsd.sh and the "native" psABI
+ emulation.
+ * emulparams/elf32ppc_fbsd.sh: Likewise.
+ * emulparams/elf64_ia64_fbsd.sh: Likewise.
+ * emulparams/elf64_sparc_fbsd.sh: Likewise.
+ * emulparams/elf64alpha_fbsd.sh: Likewise.
+ * emulparams/elf_i386_fbsd.sh: Likewise.
+ * emulparams/elf_x86_64_fbsd.sh: Likewise.
+
+2002-02-18 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/tr.po: Updated version.
+
+2002-02-18 Alan Modra <amodra@bigpond.net.au>
+
+ * ld.texinfo (Output Section Fill): Fix amateur texinfo.
+ (FILL): Likewise.
+
+2002-02-17 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * emultempl/mmo.em (mmo_after_open): Don't call
+ _bfd_mmix_check_all_relocs when producing ELF output.
+
+2002-02-15 Richard Henderson <rth@redhat.com>
+
+ * emulparams/elf64alpha.sh (NOP): Adjust for big-endian
+ definition. Emit a unop+nop pair.
+
+2002-02-15 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Also check
+ for presence of .MMIX.reg_contents.linker_allocated before early
+ exit.
+
+ * NEWS: Mention support for MMIX.
+
+2002-02-15 Alan Modra <amodra@bigpond.net.au>
+
+ Support arbitrary length fill patterns.
+ * ld.texinfo (Output Section Fill): Describe fill expressions.
+ (FILL): Refer to the above.
+ * ldexp.h (etree_value_type): Add "str" field.
+ (union etree_union): Add "str" to "value" struct.
+ (exp_bigintop): Declare.
+ (exp_get_fill): Declare.
+ * ldexp.c: Include "safe-ctype.h".
+ (exp_intop): Set value.str to NULL.
+ (exp_bigintop): New function.
+ (new_rel): Pass in "str", and set new.str from it.
+ (new_rel_from_section): Set new.str to NULL.
+ (fold_name): Adjust calls to new_rel.
+ (exp_fold_tree): Likewise.
+ (exp_get_fill): New function.
+ * ldgram.y (struct big_int bigint, fill_type *fill): New.
+ (INT): Returns a "bigint". Adjust all code handling INTs.
+ (fill_opt): Returns a "fill".
+ (fill_exp): Split out of fill_opt, use for FILL.
+ * ldlang.h (struct _fill_type): New.
+ (fill_type): Move typedef to ldexp.h.
+ (lang_output_section_statement_type): "fill" is now a pointer.
+ (lang_fill_statement_type): Likewise.
+ (lang_padding_statement_type): Likewise.
+ (lang_add_fill): Now takes a "fill_type *" param.
+ (lang_leave_output_section_statement): Likewise.
+ (lang_do_assignments): Likewise.
+ (lang_size_sections): Likewise.
+ (lang_leave_overlay_section): Likewise.
+ (lang_leave_overlay): Likewise.
+ * ldlang.c: Include ldgram.h after ldexp.h.
+ (lang_output_section_statement_lookup): Adjust for fill_type change.
+ (print_fill_statement): Likewise.
+ (print_padding_statement): Likewise.
+ (insert_pad): Now takes a "fill_type *" arg.
+ (size_input_section): Likewise.
+ (lang_size_sections_1): Likewise.
+ (lang_size_sections): Likewise.
+ (lang_do_assignments): Likewise.
+ (lang_add_fill): Likewise.
+ (lang_leave_output_section_statement): Likewise.
+ (lang_leave_overlay_section): Likewise.
+ (lang_leave_overlay): Likewise.
+ Adjust all callers of the above function.
+ * ldlex.l: Include ldgram.h after ldexp.h. Allow hex numbers
+ starting with "0X" as well as "0x". Return bigint.str for hex
+ numbers starting with "0x" or "0X", zero bigint.str otherwise.
+ Always use base 16 for numbers starting with "$".
+ * ldmain.c: Include ldgram.h after ldexp.h.
+ * ldwrite.c (build_link_order): Use bfd_data_link_order in place
+ of bfd_fill_link_order.
+ * pe-dll.c: Adjust lang_do_assignments calls.
+ * emultempl/elf32.em: Likewise.
+ * emultempl/hppaelf.em: Likewise.
+ * emultempl/ppc64elf.em: Likewise.
+ * emultempl/beos.em: Include ldgram.h after ldexp.h, adjust
+ lang_add_assignment call.
+ * emultempl/pe.em: Likewise.
+
+2002-02-14 Phil Edwards <pme@gcc.gnu.org>
+
+ * ld.texinfo (VERSION scripts): Symbol names are globbing patterns.
+ * ldgram.y (lang_new_vers_regex): Rename to lang_new_vers_pattern;
+ the pattern in question is not a regexp.
+ * ldlang.c: Likewise.
+ * ldlang.h: Likewise.
+ * ldlex.l (V_IDENTIFIER): Allow '[', ']', '-', '!', and '^' also.
+
+2002-02-12 Jakub Jelinek <jakub@redhat.com>
+
+ * ldlex.l (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): New tokens.
+ * ldgram.y (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): New tokens.
+ (exp): Add DATA_SEGMENT_ALIGN (exp, exp) and DATA_SEGMENT_END (exp).
+ * ldexp.c (exp_data_seg): New variable.
+ (exp_print_token): Handle DATA_SEGMENT_ALIGN and DATA_SEGMENT_END.
+ (fold_binary): Handle DATA_SEGMENT_ALIGN.
+ (exp_fold_tree): Handle DATA_SEGMENT_END.
+ Pass allocation_done when recursing instead of hardcoding
+ lang_allocating_phase_enum.
+ * ldexp.h (exp_data_seg): New.
+ * ldlang.c (lang_size_sections_1): Renamed from lang_size_sections.
+ (lang_size_sections): New.
+ * ld.texinfo (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): Document.
+ * scripttempl/elf.sc: Use DATA_SEGMENT_ALIGN and DATA_SEGMENT_END
+ if COMMONPAGESIZE is defined.
+ * emulparams/elf_i386.sh (COMMONPAGESIZE): Set to 4K.
+ * emulparams/elf32_sparc.sh (COMMONPAGESIZE): Set to 8K.
+ * emulparams/elf64_sparc.sh (COMMONPAGESIZE): Set to 8K.
+ * emulparams/elf64alpha.sh (COMMONPAGESIZE): Set to 8K.
+ * emulparams/elf64_ia64.sh (COMMONPAGESIZE): Set to 16K for shared
+ libraries only.
+
+2002-02-11 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
+
+2002-02-10 Daniel Jacobowitz <drow@mvista.com>
+
+ * lexsup.c: Remove strtoul declaration.
+
+2002-02-10 Daniel Jacobowitz <drow@mvista.com>
+
+ * ldmain.c: Add prototype for main ().
+ * lexsup.c: Guard declaration of strtoul with HAVE_STDLIB_H.
+ * emultempl/lnk960.em (lnk960_choose_target): Function should
+ take two arguments.
+
+2002-02-10 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (entry_section): New initialised variable.
+ (lang_finish): Use it.
+ * ldlang.h (entry_section): Declare.
+ * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Set
+ entry_section to ".opd".
+
+2002-02-09 Chris Demetriou <cgd@broadcom.com>
+
+ * ld.texinfo (Options): Add back in -nostdlib documentation,
+ which had been inadvertently removed.
+
+2002-02-09 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Adjust
+ register section vma to a sane value after emitting error. Make
+ fatal conditions cause program exit when emitting message.
+
+2002-02-08 Ivan Guzvinec <ivang@opencores.org>
+
+ * configure.tgt: Add or32-*-rtems target.
+
+2002-02-08 Alexandre Oliva <aoliva@redhat.com>
+
+ Contribute sh64-elf.
+ 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
+ * emulparams/shelf32.sh (STACK_ADDR): Define as formerly defined
+ in OTHER_RELOCATABLE_SECTIONS.
+ 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
+ * emulparams/shelf32.sh (STACK_ADDR): Define.
+ (OTHER_RELOCATABLE_SECTIONS): Renamed to...
+ (OTHER_SECTIONS): this. Removed stack settings.
+ * emulparams/shelf64.sh (OTHER_RELOCATABLE_SECTIONS): Do not set.
+ (OTHER_SECTIONS): Reset after sourcing shelf32.sh.
+ 2001-03-12 DJ Delorie <dj@redhat.com>
+ * emultempl/sh64elf.em (sh64_elf_$_before_allocation): Disable
+ relaxing if any shmedia or mixed sections are found.
+ 2001-03-07 DJ Delorie <dj@redhat.com>
+ * emultempl/sh64elf.em (sh64_elf_before_allocation): Pass f to
+ einfo. Gracefully decline to output to non-elf formats.
+ 2001-03-06 Hans-Peter Nilsson <hpn@redhat.com>
+ * emulparams/shelf64.sh (OTHER_RELOCATING_SECTIONS) <.stack>:
+ Default to _end aligned to next multiple of 0x40000, plus 0x40000.
+ * emulparams/shelf32.sh: Ditto.
+ 2001-01-14 Hans-Peter Nilsson <hpn@cygnus.com>
+ * emulparams/shelf32.sh (OTHER_RELOCATING_SECTIONS): Tweak
+ comment.
+ 2001-01-10 Ben Elliston <bje@redhat.com>
+ * emulparams/shelf32.sh (OTHER_RELOCATING_SECTIONS): Avoid
+ non-portable shell constructs. From Hans-Peter Nilsson.
+ 2001-01-09 Hans-Peter Nilsson <hpn@cygnus.com>
+ * emulparams/shelf64.sh (EXTRA_EM_FILE): Define empty.
+ * Makefile.am (eshelf64.c, eshlelf64.c, eshlelf32.c): Adjust
+ dependencies to the shell script include chain.
+ * Makefile.in: Regenerate.
+ 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
+ * emultempl/sh64elf.em: Update and tweak comments.
+ (sh64_elf_${EMULATION_NAME}_after_allocation): Always allocate and
+ make a .cranges section SEC_IN_MEMORY.
+ 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
+ * emultempl/sh64elf.em
+ (sh64_elf_${EMULATION_NAME}_before_allocation): Don't stop when
+ .cranges section found to be necessary; continue and set stored
+ section contents flags for sections with non-mixed contents.
+ Use a struct sh64_section_data container and sh64_elf_section_data
+ to store contents-type flags.
+ Remove unused update of "isec".
+ (sh64_elf_${EMULATION_NAME}_after_allocation): Only process
+ sections marked SHF_SH5_ISA32_MIXED. Use sh64_elf_section_data to
+ access contents-type flags. Assert that the associated container
+ is initialized. Use that container, not elf_gp_size, to hold size
+ of linker-generated cranges contents.
+ 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com>
+ * emultempl/sh64elf.em
+ (sh64_elf_${EMULATION_NAME}_before_allocation): Exit early if
+ there's already a .cranges section. When section flag difference
+ is found, don't NULL-check cranges a second time. Tweak comments.
+ (sh64_elf_${EMULATION_NAME}_after_allocation): Use size after
+ merging, not max size, as size of ld-generated .cranges contents.
+ Don't set ELF section flags in output section. When checking for
+ needed .cranges descriptors, don't use a variable; compare
+ incoming ELF section flags directly to SHF_SH5_ISA32_MIXED. Tweak
+ comments.
+ 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com>
+ * emultempl/sh64elf.em: New file.
+ * Makefile.am (eshelf32.c, eshlelf32.c): Adjust dependencies.
+ * Makefile.in: Regenerate.
+ * emulparams/shelf32.sh (OUTPUT_FORMAT): Only set if not set.
+ (OTHER_RELOCATING_SECTIONS): Ditto.
+ (EXTRA_EM_FILE): New, set to sh64elf if not set.
+ * emulparams/shlelf32.sh: Stub out all settings except
+ OUTPUT_FORMAT. Source shelf32.sh.
+ * emulparams/shelf64.sh: Similar, but also keep ELF_SIZE and
+ OTHER_RELOCATING_SECTIONS.
+ (OTHER_RELOCATING_SECTIONS): Remove .cranges.
+ * emulparams/shlelf64.sh: Stub out all settings except
+ OUTPUT_FORMAT. Source shelf64.sh.
+ 2000-12-15 Hans-Peter Nilsson <hpn@cygnus.com>
+ * emulparams/shelf64.sh (OTHER_RELOCATING_SECTIONS): Include
+ .cranges section.
+ (DATA_START_SYMBOLS): Define, provide ___data.
+ (OTHER_READONLY_SYMBOLS): Define, provide ___rodata and align to 8
+ for consecutive .data section.
+ (OTHER_GOT_SECTIONS): Define, align to 8 for consecutive .bss
+ section after .data section.
+ * emulparams/shlelf64.sh: Ditto.
+ * emulparams/shelf32.sh: Ditto.
+ (ALIGNMENT): Define to 8.
+ * emulparams/shelf32.sh: Ditto.
+ 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com>
+ * configure.tgt (sh64-*-elf*): Assign targ_extra_libpath to get
+ built-in linker scripts.
+ 2000-11-30 Hans-Peter Nilsson <hpn@cygnus.com>
+ * emulparams/shlelf64.sh: New.
+ * emulparams/shelf64.sh: New.
+ * configure.tgt (sh64-*-elf*): Add shelf64 and shlelf64 to
+ targ_extra_emuls.
+ * Makefile.am: Add support for shlelf64 and shelf64.
+ * Makefile.in: Regenerate.
+ 2000-11-29 Hans-Peter Nilsson <hpn@cygnus.com>
+ * configure.tgt (sh64-*-elf*): Add shelf as default.
+ Add shlelf to targ_extra_emuls.
+ 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com>
+ * emulparams/shelf32.sh: New file.
+ * emulparams/shlelf32.sh: New file.
+ * Makefile.am: Add support for shlelf32 and shelf32.
+ * configure.tgt: Map sh64-*-elf* to shlelf32 and shelf32.
+ * Makefile.in: Regenerate.
+
+2002-02-05 Hans-Peter Nilsson <hp@axis.com>
+
+ * ldlang.c (lang_reset_memory_regions): Rename from
+ reset_memory_regions. Change all callers. Make public.
+ * ldlang.h (lang_reset_memory_regions): Prototype.
+ * emultempl/elf32.em (gld${EMULATION_NAME}_finish): Call
+ lang_reset_memory_regions before lang_size_sections.
+ * emultempl/hppaelf.em (hppaelf_layout_sections_again): Likewise.
+ * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Likewise.
+
+2002-02-04 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Use signed
+ arithmetic when checking for too many global registers.
+
+2002-02-02 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * Makefile.am (ALL_EMULATIONS): Add ehppanbsd.o.
+ (ehppanbsd.c): New rule.
+ * Makefile.in: Regenerate.
+ * configure.tgt (hppa*-*-netbsd*): New target.
+ * emulparams/hppalinux.sh: Add comment to check other files
+ that source this file it is modified, and list which
+ files that do.
+ * emulparams/hppanbsd.sh: New file.
+
+2002-02-01 Geoffrey Keating <geoffk@redhat.com>
+
+ * scripttempl/xstormy16.sc: Don't allocate extra space for the
+ stack.
+
+2002-02-01 Hans-Peter Nilsson <hp@bitrange.com>
+
+ Support on-demand global register allocation from
+ R_MMIX_BASE_PLUS_OFFSET relocs.
+ * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Rename from
+ mmix_set_reg_section_vma. Call
+ _bfd_mmix_finalize_linker_allocated_gregs.
+ (mmix_before_allocation): New function.
+ (LDEMUL_AFTER_ALLOCATION): Set to mmix_after_allocation.
+ (LDEMUL_BEFORE_ALLOCATION): Define to mmix_before_allocation.
+ * scripttempl/mmo.sc (.text): Mark .init, .fini as KEEP.
+ (.MMIX.reg_contents): Add .MMIX.reg_contents.linker_allocated
+ before .MMIX.reg_contents.
+ * emultempl/mmo.em (gldmmo_before_allocation): Define to default.
+ (mmo_after_open): New function.
+ (LDEMUL_AFTER_OPEN): Define to mmo_after_open.
+ * emulparams/elf64mmix.sh (OTHER_SECTIONS): Tweak formatting. Add
+ .MMIX.reg_contents.linker_allocated before .MMIX.reg_contents.
+
+2002-01-31 Ivan Guzvinec <ivang@opencores.org>
+
+ * emulparams/or32.sh: New file.
+ * emulparams/or32elf.sh: New file.
+ * scripttempl/or32.sc: New file.
+ * configure.tgt : Add support for or32.
+ * configure: Regenerate
+ * Makefile.am: Add support for or32.
+ * Makefile.in: Regenerate.
+ * NEWS: Mention support for or32.
+ * po/ld.pot: Regenerate.
+
+2002-01-29 Chris Demetriou <cgd@broadcom.com>
+ Mitch Lichtenberg <mpl@broadcom.com>
+
+ * emulparams/elf32bmip.sh (EXTRA_EM_FILE): Define to be mipself.
+ * emultempl/mipself.em: New file to handle MIPS ELF embedded
+ reloc creation (ld --embedded-relocs).
+
+2002-01-27 Daniel Jacobowitz <drow@mvista.com>
+
+ * configure: Regenerated.
+
+2002-01-26 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * Makefile.am (install): Depend on install-info.
+ * Makefile.in: Regenerate.
+
+2002-01-26 Christian Rose <menthos@menthos.com>
+
+ * ldmain.c (main): Use full sentences to ease translation.
+
+2002-01-26 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/fr.po: Updated version.
+
+2002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/es.po: Updated version.
+
+2002-01-25 Andreas Jaeger <aj@suse.de>
+
+ * ldlex.l (yy_input): Correct error check.
+
+2002-01-25 Alan Modra <amodra@bigpond.net.au>
+
+ * ldmisc.c (demangle): Put back dots when string not demangled.
+
+2002-01-22 Richard Henderson <rth@redhat.com>
+
+ * emulparams/elf64alpha.sh (NOP): Use unop.
+
+2002-01-21 Andreas Jaeger <aj@suse.de>
+
+ * ldlex.l: Use fread instead of read.
+
+2002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * configure.tgt (ia64-*-netbsd*): New target.
+
+2002-01-21 H.J. Lu <hjl@gnu.org>
+
+ * emulparams/elf32btsmip.sh (SHLIB_TEXT_START_ADDR): Change to
+ 0.
+ * emulparams/elf64btsmip.sh (SHLIB_TEXT_START_ADDR): Likewise.
+
+2002-01-18 Andreas Jaeger <aj@suse.de>
+
+ * ldver.c (ldversion): Update year.
+
+2002-01-17 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/ld.pot: Regenerate.
+
+2002-01-16 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (eelf64ppc.c, eelf64lppc.c): Depend on ppc64elf.em.
+ * Makefile.in: Regenerate.
+ * emulparams/elf64ppc.sh (EXTRA_EM_FILE): Define.
+ * emultempl/ppc64elf.em: New file.
+
+2002-01-15 DJ Delorie <dj@redhat.com>
+
+ * scripttempl/pe.sc: Add support for constructor priorities.
+
+2002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
+
+ * emulparams/avr1200.sh (DATA_START): Define as 0x60.
+ * emulparams/avr23xx.sh: Likewise.
+ * emulparams/avr4433.sh: Likewise.
+ * emulparams/avr44x4.sh: Likewise.
+ * emulparams/avr85xx.sh: Likewise.
+ * emulparams/avrmega103.sh: Likewise.
+ * emulparams/avrmega161.sh: Likewise.
+ * emulparams/avrmega603.sh: Likewise.
+ * scripttempl/elf32avr.sc: Use DATA_START instead of 0x60.
+
+2002-01-08 Alexandre Oliva <aoliva@redhat.com>
+
+ * ldlang.c (walk_wild_section): Exclude object file if enclosing
+ archive is excluded.
+
+2002-01-07 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * Makefile.am (ALL_EMULATIONS): Add eshelf_nbsd.o and eshlelf_nbsd.o.
+ (eshelf_nbsd.c): New rule.
+ (eshlelf_nbsd.c): New rule.
+ * Makefile.in: Regenerate.
+ * configure.tgt (sh*le-*-netbsdelf*): New target.
+ (sh*-*-netbsdelf*): New target.
+ * emulparams/shelf.sh: Document that shelf_nbsd.sh sources this file.
+ * emulparams/shelf_nbsd.sh: New emulation.
+ * emulparams/shlelf_nbsd.sh: New emulation.
+
+2002-01-07 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/es.po: New file: Spanish translation.
+ * configure.in (ALL_LINGUAS): Add es.
+ * configure: Regenerate.
+
+2002-01-06 John Marshall <jmarshall@acm.org>
+
+ * ld.texinfo: Note that --emit-relocs is currently only
+ implemented for ELF.
+
+2002-01-05 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Make use
+ of bfd_section_list_remove and bfd_section_list_insert macros.
+ * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
+ * emultempl/mmo.em (mmo_place_orphan): Likewise.
+
+2002-01-04 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * configure.tgt (x86_64-*-netbsd*): New target.
+
For older changes see ChangeLog-0001
Local Variables:
diff --git a/ld/Makefile.am b/ld/Makefile.am
index 25b1cfb..308d422 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -149,6 +149,7 @@ ALL_EMULATIONS = \
eelf32_i860.o \
eelf32_sparc.o \
eelf32b4300.o \
+ eelf32cr16c.o \
eelf32bmip.o \
eelf32bmipn32.o \
eelf32btsmip.o \
@@ -626,54 +627,54 @@ eelf32_i960.c: $(srcdir)/emulparams/elf32_i960.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32_i960 "$(tdir_elf32_i960)"
eelf32b4300.c: $(srcdir)/emulparams/elf32b4300.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32b4300 "$(tdir_elf32b4300)"
+eelf32cr16c.c: $(srcdir)/emulparams/elf32cr16c.sh \
+ $(srcdir)/emultempl/elf32.em \
+ $(srcdir)/scripttempl/elf32cr16c.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32cr16c "$(tdir_elf32cr16c)"
eelf32bmip.c: $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32bmip "$(tdir_elf32bmip)"
eelf32bsmip.c: $(srcdir)/emulparams/elf32bsmip.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/irix.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32bsmip "$(tdir_elf32bsmip)"
eelf32btsmip.c: $(srcdir)/emulparams/elf32btsmip.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32btsmip "$(tdir_elf32btsmip)"
eelf32btsmipn32.c: $(srcdir)/emulparams/elf32btsmipn32.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32btsmipn32 "$(tdir_elf32btsmipn32)"
eelf32ltsmip.c: $(srcdir)/emulparams/elf32ltsmip.sh \
$(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32ltsmip "$(tdir_elf32ltsmip)"
eelf32ltsmipn32.c: $(srcdir)/emulparams/elf32ltsmipn32.sh \
$(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32ltsmipn32 "$(tdir_elf32ltsmipn32)"
eelf32ebmip.c: $(srcdir)/emulparams/elf32ebmip.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32ebmip "$(tdir_elf32ebmip)"
eelf32elmip.c: $(srcdir)/emulparams/elf32elmip.sh \
$(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32elmip "$(tdir_elf32elmip)"
eelf32bmipn32.c: $(srcdir)/emulparams/elf32bmipn32.sh \
+ $(srcdir)/emultempl/irix.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32bmipn32 "$(tdir_elf32bmipn32)"
eelf32l4300.c: $(srcdir)/emulparams/elf32l4300.sh \
$(srcdir)/emulparams/elf32b4300.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32l4300 "$(tdir_elf32l4300)"
eelf32lmip.c: $(srcdir)/emulparams/elf32lmip.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32lmip "$(tdir_elf32lmip)"
eelf32mipswindiss.c: $(srcdir)/emulparams/elf32mipswindiss.sh \
@@ -701,7 +702,6 @@ eelf32ppcwindiss.c: $(srcdir)/emulparams/elf32ppcwindiss.sh \
${GENSCRIPTS} elf32ppcwindiss "$(tdir_elf32ppcwindiss)"
eelf32lsmip.c: $(srcdir)/emulparams/elf32lsmip.sh \
$(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32lsmip "$(tdir_elf32lsmip)"
eelf32openrisc.c: $(srcdir)/emulparams/elf32openrisc.sh \
@@ -781,7 +781,7 @@ eelf64_sparc_fbsd.c: $(srcdir)/emulparams/elf64_sparc_fbsd.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf64_sparc_fbsd "$(tdir_elf64_sparc_fbsd)"
eelf64bmip.c: $(srcdir)/emulparams/elf64bmip.sh \
- $(srcdir)/emulparams/elf32bmipn32.sh \
+ $(srcdir)/emulparams/elf32bmipn32.sh $(srcdir)/emultempl/irix.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf64bmip "$(tdir_elf64bmip)"
eelf64mmix.c: $(srcdir)/emulparams/elf64mmix.sh \
@@ -1656,29 +1656,6 @@ dep-am: DEP
.PHONY: dep dep-in dep-am
-@MAINT@.PHONY: mpw
-@MAINT@mpw: $(srcdir)/mpw-ei386go32.c $(srcdir)/mpw-elfmips.c \
-@MAINT@ $(srcdir)/mpw-em68kcoff.c $(srcdir)/mpw-eppcmac.c \
-@MAINT@ $(srcdir)/mpw-esh.c $(srcdir)/mpw-idtmips.c
-@MAINT@
-@MAINT@$(srcdir)/mpw-ei386go32.c: ei386go32.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-@MAINT@
-@MAINT@$(srcdir)/mpw-elfmips.c: eelf32ebmip.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-@MAINT@
-@MAINT@$(srcdir)/mpw-em68kcoff.c: em68kcoff.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-@MAINT@
-@MAINT@$(srcdir)/mpw-eppcmac.c: eppcmacos.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-@MAINT@
-@MAINT@$(srcdir)/mpw-esh.c: esh.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-@MAINT@
-@MAINT@$(srcdir)/mpw-idtmips.c: emipsidt.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-
# What appears below is generated by a hacked mkdep using gcc -MM.
# DO NOT DELETE THIS LINE -- mkdep uses it.
diff --git a/ld/Makefile.in b/ld/Makefile.in
index 5a91690..40051ef 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -263,6 +263,7 @@ ALL_EMULATIONS = \
eelf32_i860.o \
eelf32_sparc.o \
eelf32b4300.o \
+ eelf32cr16c.o \
eelf32bmip.o \
eelf32bmipn32.o \
eelf32btsmip.o \
@@ -1352,54 +1353,54 @@ eelf32_i960.c: $(srcdir)/emulparams/elf32_i960.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32_i960 "$(tdir_elf32_i960)"
eelf32b4300.c: $(srcdir)/emulparams/elf32b4300.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32b4300 "$(tdir_elf32b4300)"
+eelf32cr16c.c: $(srcdir)/emulparams/elf32cr16c.sh \
+ $(srcdir)/emultempl/elf32.em \
+ $(srcdir)/scripttempl/elf32cr16c.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32cr16c "$(tdir_elf32cr16c)"
eelf32bmip.c: $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32bmip "$(tdir_elf32bmip)"
eelf32bsmip.c: $(srcdir)/emulparams/elf32bsmip.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/irix.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32bsmip "$(tdir_elf32bsmip)"
eelf32btsmip.c: $(srcdir)/emulparams/elf32btsmip.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32btsmip "$(tdir_elf32btsmip)"
eelf32btsmipn32.c: $(srcdir)/emulparams/elf32btsmipn32.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32btsmipn32 "$(tdir_elf32btsmipn32)"
eelf32ltsmip.c: $(srcdir)/emulparams/elf32ltsmip.sh \
$(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32ltsmip "$(tdir_elf32ltsmip)"
eelf32ltsmipn32.c: $(srcdir)/emulparams/elf32ltsmipn32.sh \
$(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32ltsmipn32 "$(tdir_elf32ltsmipn32)"
eelf32ebmip.c: $(srcdir)/emulparams/elf32ebmip.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32ebmip "$(tdir_elf32ebmip)"
eelf32elmip.c: $(srcdir)/emulparams/elf32elmip.sh \
$(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32elmip "$(tdir_elf32elmip)"
eelf32bmipn32.c: $(srcdir)/emulparams/elf32bmipn32.sh \
+ $(srcdir)/emultempl/irix.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32bmipn32 "$(tdir_elf32bmipn32)"
eelf32l4300.c: $(srcdir)/emulparams/elf32l4300.sh \
$(srcdir)/emulparams/elf32b4300.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32l4300 "$(tdir_elf32l4300)"
eelf32lmip.c: $(srcdir)/emulparams/elf32lmip.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32lmip "$(tdir_elf32lmip)"
eelf32mipswindiss.c: $(srcdir)/emulparams/elf32mipswindiss.sh \
@@ -1427,7 +1428,6 @@ eelf32ppcwindiss.c: $(srcdir)/emulparams/elf32ppcwindiss.sh \
${GENSCRIPTS} elf32ppcwindiss "$(tdir_elf32ppcwindiss)"
eelf32lsmip.c: $(srcdir)/emulparams/elf32lsmip.sh \
$(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32lsmip "$(tdir_elf32lsmip)"
eelf32openrisc.c: $(srcdir)/emulparams/elf32openrisc.sh \
@@ -1507,7 +1507,7 @@ eelf64_sparc_fbsd.c: $(srcdir)/emulparams/elf64_sparc_fbsd.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf64_sparc_fbsd "$(tdir_elf64_sparc_fbsd)"
eelf64bmip.c: $(srcdir)/emulparams/elf64bmip.sh \
- $(srcdir)/emulparams/elf32bmipn32.sh \
+ $(srcdir)/emulparams/elf32bmipn32.sh $(srcdir)/emultempl/irix.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf64bmip "$(tdir_elf64bmip)"
eelf64mmix.c: $(srcdir)/emulparams/elf64mmix.sh \
@@ -2356,29 +2356,6 @@ dep-am: DEP
.PHONY: dep dep-in dep-am
-@MAINT@.PHONY: mpw
-@MAINT@mpw: $(srcdir)/mpw-ei386go32.c $(srcdir)/mpw-elfmips.c \
-@MAINT@ $(srcdir)/mpw-em68kcoff.c $(srcdir)/mpw-eppcmac.c \
-@MAINT@ $(srcdir)/mpw-esh.c $(srcdir)/mpw-idtmips.c
-@MAINT@
-@MAINT@$(srcdir)/mpw-ei386go32.c: ei386go32.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-@MAINT@
-@MAINT@$(srcdir)/mpw-elfmips.c: eelf32ebmip.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-@MAINT@
-@MAINT@$(srcdir)/mpw-em68kcoff.c: em68kcoff.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-@MAINT@
-@MAINT@$(srcdir)/mpw-eppcmac.c: eppcmacos.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-@MAINT@
-@MAINT@$(srcdir)/mpw-esh.c: esh.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-@MAINT@
-@MAINT@$(srcdir)/mpw-idtmips.c: emipsidt.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-
# What appears below is generated by a hacked mkdep using gcc -MM.
# DO NOT DELETE THIS LINE -- mkdep uses it.
diff --git a/ld/NEWS b/ld/NEWS
index 0db0d18..d4c82fd 100644
--- a/ld/NEWS
+++ b/ld/NEWS
@@ -1,5 +1,13 @@
-*- text -*-
+* The linker script operator DEFINED() will now yield 1 only for a symbol that
+ is defined before the statement where DEFINED is used.
+
+* The MIPS --embedded-relocs (used to embed relocations into binaries for
+ Embedded-PIC code) is deprecated and will be removed in a future release.
+
+* cr16c support added by NSC.
+
* m32r Linux (ELF) support added by Renesas.
* Improved linker's handling of unresolved symbols. The switch
diff --git a/ld/config.in b/ld/config.in
index f76bb42..acf484d 100644
--- a/ld/config.in
+++ b/ld/config.in
@@ -25,9 +25,6 @@
/* Define to `long' if <sys/types.h> doesn't define. */
#undef off_t
-/* Define if you need to in order for stat and other things to work. */
-#undef _POSIX_SOURCE
-
/* Define to `unsigned' if <sys/types.h> doesn't define. */
#undef size_t
@@ -130,6 +127,12 @@
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
+/* Define if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
diff --git a/ld/configure.host b/ld/configure.host
index 809a1fe..f2e1eb4 100644
--- a/ld/configure.host
+++ b/ld/configure.host
@@ -155,10 +155,6 @@ ia64-*-aix*)
HOSTING_LIBS='-L`dirname \`${CC} --print-file-name=libc.so\`` '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC} --print-file-name=crtn.o`'
;;
-mips*-dec-bsd*)
- HOSTING_CRT0=/usr/lib/crt0.o
- ;;
-
mips*-sgi-irix4* | mips*-sgi-irix5*)
HOSTING_CRT0=/usr/lib/crt1.o
HOSTING_LIBS="$HOSTING_LIBS"' /usr/lib/crtn.o'
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 2c85431..772f8ad 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -26,6 +26,7 @@ arm-*-pe) targ_emul=armpe ;
arc-*-elf*) targ_emul=arcelf ;;
avr-*-*) targ_emul=avr2
targ_extra_emuls="avr1 avr3 avr4 avr5" ;;
+cr16c-*-elf*) targ_emul=elf32cr16c ;;
cris-*-*aout*) targ_emul=crisaout
targ_extra_emuls="criself crislinux"
targ_extra_libpath=$targ_extra_emuls ;;
@@ -408,7 +409,6 @@ mips*-sgi-irix6*) targ_emul=elf32bmipn32
mips*-sgi-irix*) targ_emul=mipsbig ;;
mips*el-*-ecoff*) targ_emul=mipsidtl ;;
mips*-*-ecoff*) targ_emul=mipsidt ;;
-mips*-dec-bsd*) targ_emul=mipsbsd ;;
mips*el-*-netbsd*) targ_emul=elf32lmip
targ_extra_emuls="elf32bmip"
;;
diff --git a/ld/emulparams/elf32bmip.sh b/ld/emulparams/elf32bmip.sh
index 94e1c9c..7badcb8 100644
--- a/ld/emulparams/elf32bmip.sh
+++ b/ld/emulparams/elf32bmip.sh
@@ -33,5 +33,4 @@ OTHER_SECTIONS='
ARCH=mips
MACHINE=
TEMPLATE_NAME=elf32
-EXTRA_EM_FILE=mipself
GENERATE_SHLIB_SCRIPT=yes
diff --git a/ld/emulparams/elf32bmipn32.sh b/ld/emulparams/elf32bmipn32.sh
index 3de791c..a320eb2 100755
--- a/ld/emulparams/elf32bmipn32.sh
+++ b/ld/emulparams/elf32bmipn32.sh
@@ -18,3 +18,5 @@ EXECUTABLE_SYMBOLS="
# Following the IRIX linker, we simply put .rodata in the data
# segment.
WRITABLE_RODATA=
+
+EXTRA_EM_FILE=irix
diff --git a/ld/emulparams/elf32bsmip.sh b/ld/emulparams/elf32bsmip.sh
index 5b2939a..dfe0fe0 100644
--- a/ld/emulparams/elf32bsmip.sh
+++ b/ld/emulparams/elf32bsmip.sh
@@ -1,2 +1,3 @@
. ${srcdir}/emulparams/elf32bmip.sh
ENTRY=__start
+EXTRA_EM_FILE=irix
diff --git a/ld/emulparams/elf32cr16c.sh b/ld/emulparams/elf32cr16c.sh
new file mode 100644
index 0000000..e78e5ed
--- /dev/null
+++ b/ld/emulparams/elf32cr16c.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=elf32cr16c
+TEMPLATE_NAME=elf32
+OUTPUT_FORMAT="elf32-cr16c"
+ARCH=cr16c
+ENTRY=_start
diff --git a/ld/emulparams/elf32frvfd.sh b/ld/emulparams/elf32frvfd.sh
index 224abed..1e2ef59 100644
--- a/ld/emulparams/elf32frvfd.sh
+++ b/ld/emulparams/elf32frvfd.sh
@@ -1,6 +1,6 @@
. ${srcdir}/emulparams/elf32frv.sh
unset STACK_ADDR
-MAXPAGESIZE=0x10000
+MAXPAGESIZE=0x4000
TEMPLATE_NAME=elf32
GENERATE_SHLIB_SCRIPT=yes
EMBEDDED= # This gets us program headers mapped as part of the text segment.
diff --git a/ld/emulparams/elf64bmip.sh b/ld/emulparams/elf64bmip.sh
index 4673c52..a4ce6d4 100755
--- a/ld/emulparams/elf64bmip.sh
+++ b/ld/emulparams/elf64bmip.sh
@@ -19,3 +19,5 @@ EXECUTABLE_SYMBOLS="
# Following the IRIX linker, we simply put .rodata in the data
# segment.
WRITABLE_RODATA=
+
+EXTRA_EM_FILE=irix
diff --git a/ld/emulparams/mipsidt.sh b/ld/emulparams/mipsidt.sh
index 63176f5..f381267 100644
--- a/ld/emulparams/mipsidt.sh
+++ b/ld/emulparams/mipsidt.sh
@@ -7,5 +7,6 @@ ARCH=mips
ENTRY=start
TEXT_START_ADDR=0xa0012000
DATA_ADDR=.
-TEMPLATE_NAME=mipsecoff
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=mipsecoff
EMBEDDED=yes
diff --git a/ld/emulparams/mipsidtl.sh b/ld/emulparams/mipsidtl.sh
index 02279de..52447ff 100644
--- a/ld/emulparams/mipsidtl.sh
+++ b/ld/emulparams/mipsidtl.sh
@@ -7,5 +7,6 @@ ARCH=mips
ENTRY=start
TEXT_START_ADDR=0xa0012000
DATA_ADDR=.
-TEMPLATE_NAME=mipsecoff
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=mipsecoff
EMBEDDED=yes
diff --git a/ld/emultempl/armelf.em b/ld/emultempl/armelf.em
index 0c051ad..beeb40c 100644
--- a/ld/emultempl/armelf.em
+++ b/ld/emultempl/armelf.em
@@ -27,6 +27,7 @@ cat >>e${EMULATION_NAME}.c <<EOF
static int no_pipeline_knowledge = 0;
static char *thumb_entry_symbol = NULL;
static bfd *bfd_for_interwork;
+static int byteswap_code = 0;
static void
gld${EMULATION_NAME}_before_parse (void)
@@ -117,7 +118,8 @@ arm_elf_before_allocation (void)
LANG_FOR_EACH_INPUT_STATEMENT (is)
{
if (!bfd_elf32_arm_process_before_allocation (is->the_bfd, & link_info,
- no_pipeline_knowledge))
+ no_pipeline_knowledge,
+ byteswap_code))
{
/* xgettext:c-format */
einfo (_("Errors encountered processing file %s"), is->filename);
@@ -184,6 +186,7 @@ EOF
#
PARSE_AND_LIST_PROLOGUE='
#define OPTION_THUMB_ENTRY 301
+#define OPTION_BE8 302
'
PARSE_AND_LIST_SHORTOPTS=p
@@ -191,11 +194,13 @@ PARSE_AND_LIST_SHORTOPTS=p
PARSE_AND_LIST_LONGOPTS='
{ "no-pipeline-knowledge", no_argument, NULL, '\'p\''},
{ "thumb-entry", required_argument, NULL, OPTION_THUMB_ENTRY},
+ { "be8", no_argument, NULL, OPTION_BE8},
'
PARSE_AND_LIST_OPTIONS='
fprintf (file, _(" -p --no-pipeline-knowledge Stop the linker knowing about the pipeline length\n"));
fprintf (file, _(" --thumb-entry=<sym> Set the entry point to be Thumb symbol <sym>\n"));
+ fprintf (file, _(" --be8 Oputput BE8 format image\n"));
'
PARSE_AND_LIST_ARGS_CASES='
@@ -206,6 +211,10 @@ PARSE_AND_LIST_ARGS_CASES='
case OPTION_THUMB_ENTRY:
thumb_entry_symbol = optarg;
break;
+
+ case OPTION_BE8:
+ byteswap_code = 1;
+ break;
'
# We have our own after_open and before_allocation functions, but they call
diff --git a/ld/emultempl/armelf_oabi.em b/ld/emultempl/armelf_oabi.em
index d75c658..8ff2ad1 100644
--- a/ld/emultempl/armelf_oabi.em
+++ b/ld/emultempl/armelf_oabi.em
@@ -68,7 +68,7 @@ gld${EMULATION_NAME}_before_allocation (void)
{
LANG_FOR_EACH_INPUT_STATEMENT (is)
{
- if (!bfd_elf32_arm_process_before_allocation (is->the_bfd, &link_info, 0))
+ if (!bfd_elf32_arm_process_before_allocation (is->the_bfd, &link_info, 0, 0))
{
/* xgettext:c-format */
einfo (_("Errors encountered processing file %s"), is->filename);
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index 45749e7..1a838f3 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -89,6 +89,28 @@ gld${EMULATION_NAME}_before_parse (void)
EOF
fi
+if test x"$LDEMUL_RECOGNIZED_FILE" != xgld"${EMULATION_NAME}"_load_symbols; then
+cat >>e${EMULATION_NAME}.c <<EOF
+/* Handle as_needed DT_NEEDED. */
+
+static bfd_boolean
+gld${EMULATION_NAME}_load_symbols (lang_input_statement_type *entry)
+{
+ if (!entry->as_needed
+ || (bfd_get_file_flags (entry->the_bfd) & DYNAMIC) == 0)
+ return FALSE;
+
+ /* Tell the ELF linker that we don't want the output file to have a
+ DT_NEEDED entry for this file, unless it is used to resolve
+ references in a regular object. */
+ bfd_elf_set_dyn_lib_class (entry->the_bfd, DYN_AS_NEEDED);
+
+ /* Continue on with normal load_symbols processing. */
+ return FALSE;
+}
+EOF
+fi
+
cat >>e${EMULATION_NAME}.c <<EOF
/* These variables are required to pass information back and forth
@@ -336,14 +358,13 @@ cat >>e${EMULATION_NAME}.c <<EOF
return TRUE;
}
- /* Tell the ELF backend that we don't want the output file to have a
- DT_NEEDED entry for this file. */
- bfd_elf_set_dt_needed_name (abfd, "");
+ /* Specify the soname to use. */
+ bfd_elf_set_dt_needed_name (abfd, soname);
- /* Tell the ELF backend that the output file needs a DT_NEEDED
- entry for this file if it is used to resolve the reference in
- a regular object. */
- bfd_elf_set_dt_needed_soname (abfd, soname);
+ /* Tell the ELF linker that we don't want the output file to have a
+ DT_NEEDED entry for this file, unless it is used to resolve
+ references in a regular object. */
+ bfd_elf_set_dyn_lib_class (abfd, DYN_DT_NEEDED);
/* Add this file into the symbol table. */
if (! bfd_link_add_symbols (abfd, &link_info))
@@ -850,7 +871,7 @@ gld${EMULATION_NAME}_before_allocation (void)
rpath = command_line.rpath;
if (rpath == NULL)
rpath = (const char *) getenv ("LD_RUN_PATH");
- if (! (bfd_elf${ELFSIZE}_size_dynamic_sections
+ if (! (bfd_elf_size_dynamic_sections
(output_bfd, command_line.soname, rpath,
command_line.filter_shlib,
(const char * const *) command_line.auxiliary_filters,
@@ -1121,7 +1142,7 @@ gld${EMULATION_NAME}_place_orphan (lang_input_statement_type *file, asection *s)
isdyn = 1;
}
- if (isdyn || (!config.unique_orphan_sections && !unique_section_p (secname)))
+ if (isdyn || (!config.unique_orphan_sections && !unique_section_p (s)))
{
/* Look through the script to see where to place this section. */
os = lang_output_section_find (secname);
@@ -1386,7 +1407,7 @@ cat >>e${EMULATION_NAME}.c <<EOF
static void
gld${EMULATION_NAME}_finish (void)
{
- if (bfd_elf${ELFSIZE}_discard_info (output_bfd, &link_info))
+ if (bfd_elf_discard_info (output_bfd, &link_info))
{
lang_reset_memory_regions ();
@@ -1752,7 +1773,7 @@ struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
gld${EMULATION_NAME}_handle_option,
${LDEMUL_UNRECOGNIZED_FILE-NULL},
${LDEMUL_LIST_OPTIONS-gld${EMULATION_NAME}_list_options},
- ${LDEMUL_RECOGNIZED_FILE-NULL},
+ ${LDEMUL_RECOGNIZED_FILE-gld${EMULATION_NAME}_load_symbols},
${LDEMUL_FIND_POTENTIAL_LIBRARIES-NULL},
${LDEMUL_NEW_VERS_PATTERN-NULL}
};
diff --git a/ld/emultempl/hppaelf.em b/ld/emultempl/hppaelf.em
index e9445f2..93e88ad 100644
--- a/ld/emultempl/hppaelf.em
+++ b/ld/emultempl/hppaelf.em
@@ -254,11 +254,11 @@ build_section_lists (lang_statement_union_type *statement)
static void
gld${EMULATION_NAME}_finish (void)
{
- /* bfd_elf32_discard_info just plays with debugging sections,
+ /* bfd_elf_discard_info just plays with debugging sections,
ie. doesn't affect any code, so we can delay resizing the
sections. It's likely we'll resize everything in the process of
adding stubs. */
- if (bfd_elf${ELFSIZE}_discard_info (output_bfd, &link_info))
+ if (bfd_elf_discard_info (output_bfd, &link_info))
need_laying_out = 1;
/* If generating a relocatable output file, then we don't
diff --git a/ld/emultempl/irix.em b/ld/emultempl/irix.em
new file mode 100644
index 0000000..19511dd
--- /dev/null
+++ b/ld/emultempl/irix.em
@@ -0,0 +1,41 @@
+# This shell script emits a C file. -*- C -*-
+# Copyright 2004 Free Software Foundation, Inc.
+#
+# This file is part of GLD, the Gnu Linker.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+
+cat >>e${EMULATION_NAME}.c <<EOF
+
+#include "ld.h"
+#include "ldmain.h"
+#include "libiberty.h"
+
+/* The native IRIX linker will always create a DT_SONAME for shared objects.
+ While this shouldn't really be necessary for ABI conformance, some versions
+ of the native linker will segfault if the tag is missing. */
+
+static void
+irix_after_open (void)
+{
+ if (link_info.shared && command_line.soname == 0)
+ command_line.soname = basename (bfd_get_filename (output_bfd));
+
+ gld${EMULATION_NAME}_after_open ();
+}
+EOF
+
+LDEMUL_AFTER_OPEN=irix_after_open
diff --git a/ld/emultempl/mipsecoff.em b/ld/emultempl/mipsecoff.em
index dde33c2..5d160cd 100644
--- a/ld/emultempl/mipsecoff.em
+++ b/ld/emultempl/mipsecoff.em
@@ -1,51 +1,30 @@
# This shell script emits a C file. -*- C -*-
-# It does some substitutions.
+# Copyright 1994, 1995, 1997, 2000, 2002, 2003, 2004
+# Free Software Foundation, Inc.
+#
+# This file is part of GLD, the Gnu Linker.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+
if [ -z "$MACHINE" ]; then
OUTPUT_ARCH=${ARCH}
else
OUTPUT_ARCH=${ARCH}:${MACHINE}
fi
-cat >e${EMULATION_NAME}.c <<EOF
-/* This file is is generated by a shell script. DO NOT EDIT! */
-
-/* Handle embedded relocs for MIPS.
- Copyright 1994, 1995, 1997, 2000, 2002, 2003, 2004
- Free Software Foundation, Inc.
- Written by Ian Lance Taylor <ian@cygnus.com> based on generic.em.
-
-This file is part of GLD, the Gnu Linker.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#define TARGET_IS_${EMULATION_NAME}
-
-#include "bfd.h"
-#include "sysdep.h"
-#include "bfdlink.h"
-
-#include "ld.h"
-#include "ldmain.h"
-#include "ldmisc.h"
-
-#include "ldexp.h"
-#include "ldlang.h"
-#include "ldfile.h"
-#include "ldemul.h"
-
-static void check_sections (bfd *, asection *, void *);
-
+cat >>e${EMULATION_NAME}.c <<EOF
static void
gld${EMULATION_NAME}_before_parse (void)
{
@@ -53,196 +32,6 @@ gld${EMULATION_NAME}_before_parse (void)
ldfile_set_output_arch ("${OUTPUT_ARCH}", bfd_arch_`echo ${ARCH} | sed -e 's/:.*//'`);
#endif /* not TARGET_ */
}
-
-/* This function is run after all the input files have been opened.
- We create a .rel.sdata section for each input file with a non zero
- .sdata section. The BFD backend will fill in these sections with
- magic numbers which can be used to relocate the data section at run
- time. This will only do the right thing if all the input files
- have been compiled using -membedded-pic. */
-
-static void
-gld${EMULATION_NAME}_after_open (void)
-{
- bfd *abfd;
-
- if (! command_line.embedded_relocs
- || link_info.relocatable)
- return;
-
- for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
- {
- asection *datasec;
-
- /* As first-order business, make sure that each input BFD is ECOFF. It
- better be, as we are directly calling an ECOFF backend function. */
- if (bfd_get_flavour (abfd) != bfd_target_ecoff_flavour)
- einfo ("%F%B: all input objects must be ECOFF for --embedded-relocs\n");
-
- datasec = bfd_get_section_by_name (abfd, ".sdata");
-
- /* Note that we assume that the reloc_count field has already
- been set up. We could call bfd_get_reloc_upper_bound, but
- that returns the size of a memory buffer rather than a reloc
- count. We do not want to call bfd_canonicalize_reloc,
- because although it would always work it would force us to
- read in the relocs into BFD canonical form, which would waste
- a significant amount of time and memory. */
- if (datasec != NULL && datasec->reloc_count > 0)
- {
- asection *relsec;
-
- relsec = bfd_make_section (abfd, ".rel.sdata");
- if (relsec == NULL
- || ! bfd_set_section_flags (abfd, relsec,
- (SEC_ALLOC
- | SEC_LOAD
- | SEC_HAS_CONTENTS
- | SEC_IN_MEMORY))
- || ! bfd_set_section_alignment (abfd, relsec, 2)
- || ! bfd_set_section_size (abfd, relsec,
- datasec->reloc_count * 4))
- einfo ("%F%B: can not create .rel.sdata section: %E\n");
- }
-
- /* Double check that all other data sections are empty, as is
- required for embedded PIC code. */
- bfd_map_over_sections (abfd, check_sections, datasec);
- }
-}
-
-/* Check that of the data sections, only the .sdata section has
- relocs. This is called via bfd_map_over_sections. */
-
-static void
-check_sections (bfd *abfd, asection *sec, void *sdatasec)
-{
- if ((bfd_get_section_flags (abfd, sec) & SEC_CODE) == 0
- && sec != sdatasec
- && sec->reloc_count != 0)
- einfo ("%B%X: section %s has relocs; can not use --embedded-relocs\n",
- abfd, bfd_get_section_name (abfd, sec));
-}
-
-/* This function is called after the section sizes and offsets have
- been set. If we are generating embedded relocs, it calls a special
- BFD backend routine to do the work. */
-
-static void
-gld${EMULATION_NAME}_after_allocation (void)
-{
- bfd *abfd;
-
- if (! command_line.embedded_relocs
- || link_info.relocatable)
- return;
-
- for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
- {
- asection *datasec, *relsec;
- char *errmsg;
-
- datasec = bfd_get_section_by_name (abfd, ".sdata");
-
- if (datasec == NULL || datasec->reloc_count == 0)
- continue;
-
- relsec = bfd_get_section_by_name (abfd, ".rel.sdata");
- ASSERT (relsec != NULL);
-
- if (! bfd_mips_ecoff_create_embedded_relocs (abfd, &link_info,
- datasec, relsec,
- &errmsg))
- {
- if (errmsg == NULL)
- einfo ("%B%X: can not create runtime reloc information: %E\n",
- abfd);
- else
- einfo ("%X%B: can not create runtime reloc information: %s\n",
- abfd, errmsg);
- }
- }
-}
-
-static char *
-gld${EMULATION_NAME}_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
-then
-# Scripts compiled in.
-
-# sed commands to quote an ld script as a C string.
-sc="-f stringify.sed"
-
-cat >>e${EMULATION_NAME}.c <<EOF
-{
- *isfile = 0;
-
- if (link_info.relocatable && config.build_constructors)
- return
-EOF
-sed $sc ldscripts/${EMULATION_NAME}.xu >> e${EMULATION_NAME}.c
-echo ' ; else if (link_info.relocatable) return' >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.xr >> e${EMULATION_NAME}.c
-echo ' ; else if (!config.text_read_only) return' >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.xbn >> e${EMULATION_NAME}.c
-echo ' ; else if (!config.magic_demand_paged) return' >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.xn >> e${EMULATION_NAME}.c
-echo ' ; else return' >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.x >> e${EMULATION_NAME}.c
-echo '; }' >> e${EMULATION_NAME}.c
-
-else
-# Scripts read from the filesystem.
-
-cat >>e${EMULATION_NAME}.c <<EOF
-{
- *isfile = 1;
-
- if (link_info.relocatable && config.build_constructors)
- return "ldscripts/${EMULATION_NAME}.xu";
- else if (link_info.relocatable)
- return "ldscripts/${EMULATION_NAME}.xr";
- else if (!config.text_read_only)
- return "ldscripts/${EMULATION_NAME}.xbn";
- else if (!config.magic_demand_paged)
- return "ldscripts/${EMULATION_NAME}.xn";
- else
- return "ldscripts/${EMULATION_NAME}.x";
-}
-EOF
-
-fi
-
-cat >>e${EMULATION_NAME}.c <<EOF
-
-struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
-{
- gld${EMULATION_NAME}_before_parse,
- syslib_default,
- hll_default,
- after_parse_default,
- gld${EMULATION_NAME}_after_open,
- gld${EMULATION_NAME}_after_allocation,
- set_output_arch_default,
- ldemul_default_target,
- before_allocation_default,
- gld${EMULATION_NAME}_get_script,
- "${EMULATION_NAME}",
- "${OUTPUT_FORMAT}",
- NULL, /* finish */
- NULL, /* create output section statements */
- NULL, /* open dynamic archive */
- NULL, /* place orphan */
- NULL, /* set symbols */
- NULL, /* parse args */
- NULL, /* add_options */
- NULL, /* handle_option */
- NULL, /* unrecognized file */
- NULL, /* list options */
- NULL, /* recognized file */
- NULL, /* find_potential_libraries */
- NULL /* new_vers_pattern */
-};
-EOF
+LDEMUL_BEFORE_PARSE=gld${EMULATION_NAME}_before_parse
diff --git a/ld/emultempl/mipself.em b/ld/emultempl/mipself.em
deleted file mode 100644
index a950fb1..0000000
--- a/ld/emultempl/mipself.em
+++ /dev/null
@@ -1,177 +0,0 @@
-# This shell script emits a C file. -*- C -*-
-# Copyright 2002, 2003 Free Software Foundation, Inc.
-# Written by Mitch Lichtenberg <mpl@broadcom.com> and
-# Chris Demetriou <cgd@broadcom.com> based on m68kelf.em and mipsecoff.em.
-#
-# This file is part of GLD, the Gnu Linker.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-
-# This file is sourced from elf32.em, and defines some extra routines for m68k
-# embedded systems using ELF and for some other systems using m68k ELF. While
-# it is sourced from elf32.em for all m68k ELF configurations, here we include
-# only the features we want depending on the configuration.
-
-case ${target} in
- mips*-*-elf)
- echo "#define SUPPORT_EMBEDDED_RELOCS" >>e${EMULATION_NAME}.c
- ;;
-esac
-
-cat >>e${EMULATION_NAME}.c <<EOF
-
-#ifdef SUPPORT_EMBEDDED_RELOCS
-static void mips_elf${ELFSIZE}_check_sections (bfd *, asection *, void *);
-#endif
-
-/* This function is run after all the input files have been opened. */
-
-static void
-mips_elf${ELFSIZE}_after_open (void)
-{
- /* Call the standard elf routine. */
- gld${EMULATION_NAME}_after_open ();
-
-#ifdef SUPPORT_EMBEDDED_RELOCS
- if (command_line.embedded_relocs && (! link_info.relocatable))
- {
- bfd *abfd;
-
- /* In the embedded relocs mode we create a .rel.sdata section for
- each input file with a .sdata section which has has
- relocations. The BFD backend will fill in these sections
- with magic numbers which can be used to relocate the data
- section at run time. */
- for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
- {
- asection *datasec;
-
- /* As first-order business, make sure that each input BFD is
- ELF. We need to call a special BFD backend function to
- generate the embedded relocs, and we have that function
- only for ELF */
-
- if (bfd_get_flavour (abfd) != bfd_target_elf_flavour)
- einfo ("%F%B: all input objects must be ELF for --embedded-relocs\n");
-
- if (bfd_get_arch_size (abfd) != ${ELFSIZE})
- einfo ("%F%B: all input objects must be ${ELFSIZE}-bit ELF for --embedded-relocs\n");
-
- datasec = bfd_get_section_by_name (abfd, ".sdata");
-
- /* Note that we assume that the reloc_count field has already
- been set up. We could call bfd_get_reloc_upper_bound, but
- that returns the size of a memory buffer rather than a reloc
- count. We do not want to call bfd_canonicalize_reloc,
- because although it would always work it would force us to
- read in the relocs into BFD canonical form, which would waste
- a significant amount of time and memory. */
-
- if (datasec != NULL && datasec->reloc_count > 0)
- {
- asection *relsec;
-
- relsec = bfd_make_section (abfd, ".rel.sdata");
- if (relsec == NULL
- || ! bfd_set_section_flags (abfd, relsec,
- (SEC_ALLOC
- | SEC_LOAD
- | SEC_HAS_CONTENTS
- | SEC_IN_MEMORY))
- || ! bfd_set_section_alignment (abfd, relsec,
- (${ELFSIZE} == 32) ? 2 : 3)
- || ! bfd_set_section_size (abfd, relsec,
- datasec->reloc_count
- * ((${ELFSIZE} / 8) + 8)))
- einfo ("%F%B: cannot create .rel.sdata section: %E\n");
- }
-
- /* Double check that all other data sections have no relocs,
- as is required for embedded PIC code. */
- bfd_map_over_sections (abfd, mips_elf${ELFSIZE}_check_sections,
- datasec);
- }
- }
-#endif /* SUPPORT_EMBEDDED_RELOCS */
-}
-
-#ifdef SUPPORT_EMBEDDED_RELOCS
-/* Check that of the data sections, only the .sdata section has
- relocs. This is called via bfd_map_over_sections. */
-
-static void
-mips_elf${ELFSIZE}_check_sections (bfd *abfd, asection *sec, void *sdatasec)
-{
- if ((bfd_get_section_flags (abfd, sec) & SEC_DATA)
- && sec != sdatasec
- && sec->reloc_count != 0)
- einfo ("%B%X: section %s has relocs; cannot use --embedded-relocs\n",
- abfd, bfd_get_section_name (abfd, sec));
-}
-#endif /* SUPPORT_EMBEDDED_RELOCS */
-
-/* This function is called after the section sizes and offsets have
- been set. If we are generating embedded relocs, it calls a special
- BFD backend routine to do the work. */
-
-static void
-mips_elf${ELFSIZE}_after_allocation (void)
-{
- /* Call the standard elf routine. */
- after_allocation_default ();
-
-#ifdef SUPPORT_EMBEDDED_RELOCS
- if (command_line.embedded_relocs && (! link_info.relocatable))
- {
- bfd *abfd;
-
- for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
- {
- asection *datasec, *relsec;
- char *errmsg;
-
- datasec = bfd_get_section_by_name (abfd, ".sdata");
-
- if (datasec == NULL || datasec->reloc_count == 0)
- continue;
-
- relsec = bfd_get_section_by_name (abfd, ".rel.sdata");
- ASSERT (relsec != NULL);
-
- if (! bfd_mips_elf${ELFSIZE}_create_embedded_relocs (abfd,
- &link_info,
- datasec,
- relsec,
- &errmsg))
- {
- if (errmsg == NULL)
- einfo ("%B%X: can not create runtime reloc information: %E\n",
- abfd);
- else
- einfo ("%X%B: can not create runtime reloc information: %s\n",
- abfd, errmsg);
- }
- }
- }
-#endif /* SUPPORT_EMBEDDED_RELOCS */
-}
-
-EOF
-
-# We have our own after_open and after_allocation functions, but they call
-# the standard routines, so give them a different name.
-LDEMUL_AFTER_OPEN=mips_elf${ELFSIZE}_after_open
-LDEMUL_AFTER_ALLOCATION=mips_elf${ELFSIZE}_after_allocation
diff --git a/ld/emultempl/ppc64elf.em b/ld/emultempl/ppc64elf.em
index 5746f79..4f408a9 100644
--- a/ld/emultempl/ppc64elf.em
+++ b/ld/emultempl/ppc64elf.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2002, 2003 Free Software Foundation, Inc.
+# Copyright 2002, 2003, 2004 Free Software Foundation, Inc.
#
# This file is part of GLD, the Gnu Linker.
#
@@ -65,6 +65,8 @@ ppc_create_output_section_statements (void)
&& link_info.hash->creator != &bfd_elf64_powerpcle_vec)
return;
+ link_info.wrap_char = '.';
+
stub_file = lang_add_input_file ("linker stubs",
lang_input_file_is_fake_enum,
NULL);
@@ -316,11 +318,11 @@ gld${EMULATION_NAME}_finish (void)
descriptor in the .opd section. */
entry_section = ".opd";
- /* bfd_elf64_discard_info just plays with debugging sections,
+ /* bfd_elf_discard_info just plays with debugging sections,
ie. doesn't affect any code, so we can delay resizing the
sections. It's likely we'll resize everything in the process of
adding stubs. */
- if (bfd_elf${ELFSIZE}_discard_info (output_bfd, &link_info))
+ if (bfd_elf_discard_info (output_bfd, &link_info))
need_laying_out = 1;
/* If generating a relocatable output file, then we don't have any
diff --git a/ld/emultempl/sh64elf.em b/ld/emultempl/sh64elf.em
index 7f2b037..83bfe67 100644
--- a/ld/emultempl/sh64elf.em
+++ b/ld/emultempl/sh64elf.em
@@ -379,7 +379,7 @@ sh64_elf_${EMULATION_NAME}_after_allocation (void)
lang_process, and the second time when lang_process calls ldemul_finish,
which calls gld${EMULATION_NAME}_finish, e.g. gldshelf32_finish, which
is defined in emultempl/elf32.em and calls ldemul_after_allocation,
- if bfd_elf${ELFSIZE}_discard_info returned true. */
+ if bfd_elf_discard_info returned true. */
if (cranges->contents != NULL)
free (cranges->contents);
diff --git a/ld/ld.texinfo b/ld/ld.texinfo
index 55f861e..f50d79a 100644
--- a/ld/ld.texinfo
+++ b/ld/ld.texinfo
@@ -972,6 +972,18 @@ behaviour from release 2.14 onwards is to reject such input files, and
so the @samp{--accept-unknown-input-arch} option has been added to
restore the old behaviour.
+@kindex --as-needed
+@kindex --no-as-needed
+@item --as-needed
+@itemx --no-as-needed
+This option affects ELF DT_NEEDED tags for dynamic libraries mentioned
+on the command line after the @option{--as-needed} option. Normally,
+the linker will add a DT_NEEDED tag for each dynamic library mentioned
+on the command line, regardless of whether the library is actually
+needed. @option{--as-needed} causes DT_NEEDED tags to only be emitted
+for libraries that satisfy some reference from regular objects.
+@option{--no-as-needed} restores the default behaviour.
+
@kindex -assert @var{keyword}
@item -assert @var{keyword}
This option is ignored for SunOS compatibility.
@@ -1101,15 +1113,6 @@ generating dynamically linked ELF executables. The default dynamic
linker is normally correct; don't use this unless you know what you are
doing.
-@cindex MIPS embedded PIC code
-@kindex --embedded-relocs
-@item --embedded-relocs
-This option is only meaningful when linking MIPS embedded PIC code,
-generated by the -membedded-pic option to the @sc{gnu} compiler and
-assembler. It causes the linker to create a table which may be used at
-runtime to relocate any data which was statically initialized to pointer
-values. See the code in testsuite/ld-empic for details.
-
@kindex --fatal-warnings
@item --fatal-warnings
@@ -1133,9 +1136,9 @@ it ends in a @code{.exe} suffix.
@itemx --gc-sections
Enable garbage collection of unused input sections. It is ignored on
targets that do not support this option. This option is not compatible
-with @samp{-r}, nor should it be used with dynamic linking. The default
-behaviour (of not performing this garbage collection) can be restored by
-specifying @samp{--no-gc-sections} on the command line.
+with @samp{-r}. The default behaviour (of not performing this garbage
+collection) can be restored by specifying @samp{--no-gc-sections} on
+the command line.
@cindex help
@cindex usage
@@ -1702,9 +1705,9 @@ Here is a trivial example:
@smallexample
void *
-__wrap_malloc (int c)
+__wrap_malloc (size_t c)
@{
- printf ("malloc called with %ld\n", c);
+ printf ("malloc called with %zu\n", c);
return __real_malloc (c);
@}
@end smallexample
@@ -2353,7 +2356,7 @@ at address @samp{0x8000000}. After the linker places the @samp{.data}
output section, the value of the location counter will be
@samp{0x8000000} plus the size of the @samp{.data} output section. The
effect is that the linker will place the @samp{.bss} output section
-immediately after the @samp{.data} output section in memory
+immediately after the @samp{.data} output section in memory.
The linker will ensure that each output section has the required
alignment, by increasing the location counter if necessary. In this
@@ -4643,6 +4646,23 @@ page of memory, and changes them to use the eight-bit address form.
(That is: the linker turns @samp{mov.b @code{@@}@var{aa}:16} into
@samp{mov.b @code{@@}@var{aa}:8} whenever the address @var{aa} is in the
top page of memory).
+
+@item bit manipulation instructions
+@command{ld} finds all bit manipulation instructions like @code{band, bclr,
+biand, bild, bior, bist, bixor, bld, bnot, bor, bset, bst, btst, bxor}
+which use 32 bit and 16 bit absolute address form, but refer to the top
+page of memory, and changes them to use the 8 bit address form.
+(That is: the linker turns @samp{bset #xx:3,@code{@@}@var{aa}:32} into
+@samp{bset #xx:3,@code{@@}@var{aa}:8} whenever the address @var{aa} is in
+the top page of memory).
+
+@item system control instructions
+@command{ld} finds all @code{ldc.w, stc.w} instrcutions which use the
+32 bit absolute address form, but refer to the top page of memory, and
+changes them to use 16 bit address form.
+(That is: the linker turns @samp{ldc.w @code{@@}@var{aa}:32,ccr} into
+@samp{ldc.w @code{@@}@var{aa}:16,ccr} whenever the address @var{aa} is in
+the top page of memory).
@end table
@ifclear GENERIC
@@ -4750,6 +4770,12 @@ But it also sets the bottom bit of the address, so that it can be
branched to using a BX instruction, and the program will start
executing in Thumb mode straight away.
+@cindex BE8
+@kindex --be8
+The @samp{--be8} switch instructs @command{ld} to generate BE8 format
+executables. This option is only valid when linking big-endian objects.
+The resulting image will contain big-endian data and little-endian code.
+
@ifclear GENERIC
@lowersections
@end ifclear
diff --git a/ld/ldfile.c b/ld/ldfile.c
index a6f0d60..e7a7d8c 100644
--- a/ld/ldfile.c
+++ b/ld/ldfile.c
@@ -44,7 +44,6 @@ unsigned long ldfile_output_machine;
enum bfd_architecture ldfile_output_architecture;
search_dirs_type * search_head;
-#ifndef MPW
#ifdef VMS
char * slash = "";
#else
@@ -54,10 +53,6 @@ char * slash = "\\";
char * slash = "/";
#endif
#endif
-#else /* MPW */
-/* The MPW path char is a colon. */
-char * slash = ":";
-#endif /* MPW */
typedef struct search_arch
{
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 9a6feb2..d2b5fed 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -121,10 +121,17 @@ stat_alloc (size_t size)
}
bfd_boolean
-unique_section_p (const char *secnam)
+unique_section_p (const asection *sec)
{
struct unique_sections *unam;
+ const char *secnam;
+ if (link_info.relocatable
+ && sec->owner != NULL
+ && bfd_is_group_section (sec->owner, sec))
+ return TRUE;
+
+ secnam = sec->name;
for (unam = unique_section_list; unam; unam = unam->next)
if (wildcardp (unam->name)
? fnmatch (unam->name, secnam, 0) == 0
@@ -445,6 +452,7 @@ new_afile (const char *name,
p->next = NULL;
p->symbol_count = 0;
p->dynamic = config.dynamic_link;
+ p->as_needed = as_needed;
p->whole_archive = whole_archive;
p->loaded = FALSE;
lang_statement_append (&input_file_chain,
@@ -1261,7 +1269,7 @@ output_section_callback (lang_wild_statement_type *ptr,
lang_statement_union_type *before;
/* Exclude sections that match UNIQUE_SECTION_LIST. */
- if (unique_section_p (bfd_get_section_name (file->the_bfd, section)))
+ if (unique_section_p (section))
return;
/* If the wild pattern was marked KEEP, the member sections
@@ -1842,7 +1850,7 @@ open_input_bfds (lang_statement_union_type *s, bfd_boolean force)
/* Maybe we should load the file's symbols. */
if (s->wild_statement.filename
&& ! wildcardp (s->wild_statement.filename))
- (void) lookup_name (s->wild_statement.filename);
+ lookup_name (s->wild_statement.filename);
open_input_bfds (s->wild_statement.children.head, force);
break;
case lang_group_statement_enum:
@@ -3348,11 +3356,12 @@ lang_do_assignments_1
if (os->bfd_section != NULL)
{
dot = os->bfd_section->vma;
- (void) lang_do_assignments_1 (os->children.head, os,
- os->fill, dot);
- dot = (os->bfd_section->vma
- + TO_ADDR (os->bfd_section->_raw_size));
-
+ lang_do_assignments_1 (os->children.head, os, os->fill, dot);
+ /* .tbss sections effectively have zero size. */
+ if ((os->bfd_section->flags & SEC_HAS_CONTENTS) != 0
+ || (os->bfd_section->flags & SEC_THREAD_LOCAL) == 0
+ || link_info.relocatable)
+ dot += TO_ADDR (os->bfd_section->_raw_size);
}
if (os->load_base)
{
@@ -3687,7 +3696,7 @@ lang_check (void)
if (! bfd_merge_private_bfd_data (input_bfd, output_bfd))
{
if (command_line.warn_mismatch)
- einfo (_("%E%X: failed to merge target specific data of file %B\n"),
+ einfo (_("%P%X: failed to merge target specific data of file %B\n"),
input_bfd);
}
if (! command_line.warn_mismatch)
@@ -3938,24 +3947,6 @@ lang_for_each_file (void (*func) (lang_input_statement_type *))
}
}
-#if 0
-
-/* Not used. */
-
-void
-lang_for_each_input_section (void (*func) (bfd *ab, asection *as))
-{
- LANG_FOR_EACH_INPUT_STATEMENT (f)
- {
- asection *s;
-
- for (s = f->the_bfd->sections; s != NULL; s = s->next)
- func (f->the_bfd, s);
- }
-}
-
-#endif
-
void
ldlang_add_file (lang_input_statement_type *entry)
{
diff --git a/ld/ldlang.h b/ld/ldlang.h
index d518398..0ba31bb 100644
--- a/ld/ldlang.h
+++ b/ld/ldlang.h
@@ -264,6 +264,10 @@ typedef struct lang_input_statement_struct
/* Whether to search for this entry as a dynamic archive. */
bfd_boolean dynamic;
+ /* Whether this entry should cause a DT_NEEDED tag only when
+ satisfying references from regular files, or always. */
+ bfd_boolean as_needed;
+
/* Whether to include the entire contents of an archive. */
bfd_boolean whole_archive;
@@ -552,7 +556,7 @@ extern struct bfd_elf_version_deps *lang_add_vers_depend
extern void lang_register_vers_node
(const char *, struct bfd_elf_version_tree *, struct bfd_elf_version_deps *);
bfd_boolean unique_section_p
- (const char *);
+ (const asection *);
extern void lang_add_unique
(const char *);
extern const char *lang_get_output_target
diff --git a/ld/ldlex.l b/ld/ldlex.l
index aeac817..0e810f5 100644
--- a/ld/ldlex.l
+++ b/ld/ldlex.l
@@ -28,11 +28,6 @@ This was written by steve chamberlain
#include <stdio.h>
-#ifdef MPW
-/* Prevent enum redefinition problems. */
-#define TRUE_FALSE_ALREADY_DEFINED
-#endif /* MPW */
-
#include "bfd.h"
#include "sysdep.h"
#include "safe-ctype.h"
diff --git a/ld/ldmain.c b/ld/ldmain.c
index 88b5c75..d0e0b12 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
@@ -1,6 +1,6 @@
/* Main program of GNU linker.
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003
+ 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Steve Chamberlain steve@cygnus.com
@@ -93,6 +93,10 @@ bfd_boolean version_printed;
/* Nonzero means link in every member of an archive. */
bfd_boolean whole_archive;
+/* Nonzero means create DT_NEEDED entries only if a dynamic library
+ actually satisfies some reference in a regular object. */
+bfd_boolean as_needed;
+
/* TRUE if we should demangle symbol names. */
bfd_boolean demangling;
diff --git a/ld/ldmain.h b/ld/ldmain.h
index 10169dd..8cab5fe 100644
--- a/ld/ldmain.h
+++ b/ld/ldmain.h
@@ -1,5 +1,5 @@
/* ldmain.h -
- Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2002, 2003
+ Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of GLD, the Gnu Linker.
@@ -32,6 +32,7 @@ extern bfd_boolean trace_files;
extern bfd_boolean trace_file_tries;
extern bfd_boolean version_printed;
extern bfd_boolean whole_archive;
+extern bfd_boolean as_needed;
extern bfd_boolean demangling;
extern int g_switch_value;
extern const char *output_filename;
diff --git a/ld/lexsup.c b/ld/lexsup.c
index e43e15e..b377bd4 100644
--- a/ld/lexsup.c
+++ b/ld/lexsup.c
@@ -1,6 +1,6 @@
/* Parse options for the GNU linker.
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003
+ 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of GLD, the Gnu Linker.
@@ -112,6 +112,8 @@ enum option_values
OPTION_SPLIT_BY_RELOC,
OPTION_SPLIT_BY_FILE ,
OPTION_WHOLE_ARCHIVE,
+ OPTION_AS_NEEDED,
+ OPTION_NO_AS_NEEDED,
OPTION_WRAP,
OPTION_FORCE_EXE_SUFFIX,
OPTION_GC_SECTIONS,
@@ -438,6 +440,10 @@ static const struct ld_option ld_options[] =
TWO_DASHES },
{ {"whole-archive", no_argument, NULL, OPTION_WHOLE_ARCHIVE},
'\0', NULL, N_("Include all objects from following archives"), TWO_DASHES },
+ { {"as-needed", no_argument, NULL, OPTION_AS_NEEDED},
+ '\0', NULL, N_("Only set DT_NEEDED for following dynamic libs if used"), TWO_DASHES },
+ { {"no-as-needed", no_argument, NULL, OPTION_NO_AS_NEEDED},
+ '\0', NULL, N_("Always set DT_NEEDED for following dynamic libs"), TWO_DASHES },
{ {"wrap", required_argument, NULL, OPTION_WRAP},
'\0', N_("SYMBOL"), N_("Use wrapper functions for SYMBOL"), TWO_DASHES }
};
@@ -634,27 +640,9 @@ parse_args (unsigned argc, char **argv)
break;
case OPTION_CALL_SHARED:
config.dynamic_link = TRUE;
- /* When linking against shared libraries, the default behaviour is
- to report any unresolved references. Although strictly speaking
- it is not a failure to encounter unresolved symbols at link time
- - the symbol *might* be available at load time - it is a strong
- indication that the resulting executable will not work. Plus it
- is necessary for the correct execution of the autoconf package,
- which needs to be able to detect functions that are not provided
- by the host OS. */
- if (link_info.unresolved_syms_in_objects == RM_NOT_YET_SET)
- link_info.unresolved_syms_in_objects = how_to_report_unresolved_symbols;
- if (link_info.unresolved_syms_in_shared_libs == RM_NOT_YET_SET)
- link_info.unresolved_syms_in_shared_libs = how_to_report_unresolved_symbols;
break;
case OPTION_NON_SHARED:
config.dynamic_link = FALSE;
- /* When linking against static libraries, the default
- behaviour is to report any unresolved references. */
- if (link_info.unresolved_syms_in_objects == RM_NOT_YET_SET)
- link_info.unresolved_syms_in_objects = how_to_report_unresolved_symbols;
- if (link_info.unresolved_syms_in_shared_libs == RM_NOT_YET_SET)
- link_info.unresolved_syms_in_shared_libs = how_to_report_unresolved_symbols;
break;
case OPTION_CREF:
command_line.cref = TRUE;
@@ -1156,6 +1144,12 @@ parse_args (unsigned argc, char **argv)
case OPTION_WHOLE_ARCHIVE:
whole_archive = TRUE;
break;
+ case OPTION_AS_NEEDED:
+ as_needed = TRUE;
+ break;
+ case OPTION_NO_AS_NEEDED:
+ as_needed = FALSE;
+ break;
case OPTION_WRAP:
add_wrap (optarg);
break;
diff --git a/ld/mac-ld.r b/ld/mac-ld.r
deleted file mode 100644
index b316fc5..0000000
--- a/ld/mac-ld.r
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Resources for GNU LD. */
-
-#include "SysTypes.r"
-
-/* Version resources. */
-
-resource 'vers' (1) {
- 0,
- 0,
- 0,
- 0,
- verUs,
- VERSION_STRING,
- VERSION_STRING " (C) 1986-95 FSF, Inc."
-};
-
-resource 'vers' (2, purgeable) {
- 0,
- 0,
- 0,
- 0,
- verUs,
- VERSION_STRING,
- "GLD " VERSION_STRING " for MPW"
-};
-
-#ifdef WANT_CFRG
-
-#include "CodeFragmentTypes.r"
-
-resource 'cfrg' (0) {
- {
- kPowerPC,
- kFullLib,
- kNoVersionNum, kNoVersionNum,
- 0, 0,
- kIsApp, kOnDiskFlat, kZeroOffset, kWholeFork,
- PROG_NAME
- }
-};
-
-#endif /* WANT_CFRG */
diff --git a/ld/mpw-config.in b/ld/mpw-config.in
deleted file mode 100644
index b2542cc..0000000
--- a/ld/mpw-config.in
+++ /dev/null
@@ -1,52 +0,0 @@
-# Configuration fragment for LD.
-
-If "{target_canonical}" =~ /m68k-apple-macos/
- Set emulname m68kcoff
- forward-include "{srcdir}"mpw-em68kcoff.c em68kcoff.c
- Set emulation_ofiles "{o}"em68kcoff.c.o
-
-Else If "{target_canonical}" =~ /powerpc-apple-macos/
- Set emulname ppcmacos
- forward-include "{srcdir}"mpw-eppcmac.c eppcmacos.c
- Set emulation_ofiles "{o}"eppcmacos.c.o
-
-Else If "{target_canonical}" =~ /i386-\Option-x-go32/
- Set emulname i386go32
- forward-include "{srcdir}"mpw-ei386go32.c ei386go32.c
- Set emulation_ofiles "{o}"ei386go32.c.o
-
-Else If "{target_canonical}" =~ /mips-\Option-x-ecoff/
- Set emulname mipsidt
- forward-include "{srcdir}"mpw-idtmips.c emipsidt.c
- Set emulation_ofiles "{o}"emipsidt.c.o
-
-Else If "{target_canonical}" =~ /mips-\Option-x-\Option-x/
- Set emulname elf32ebmip
- forward-include "{srcdir}"mpw-elfmips.c eelf32ebmip.c
- Set emulation_ofiles "{o}"eelf32ebmip.c.o
-
-Else If "{target_canonical}" =~ /sh-\Option-x-hms/
- Set emulname sh
- forward-include "{srcdir}"mpw-esh.c esh.c
- Set emulation_ofiles "{o}"esh.c.o
-End If
-
-Echo '/* This file is automatically generated. DO NOT EDIT! */' > "{o}"ldemul-tmp.h
-Echo "extern ld_emulation_xfer_type ld_{emulname}_emulation;" >> "{o}"ldemul-tmp.h
-Echo '#define EMULATION_LIST \' >> "{o}"ldemul-tmp.h
-Echo " &ld_{emulname}_emulation, \" >> "{o}"ldemul-tmp.h
-Echo ' 0' >> "{o}"ldemul-tmp.h
-
-MoveIfChange "{o}"ldemul-tmp.h "{o}"ldemul-list.h
-
-Echo '# From mpw-config.in' > "{o}"mk.tmp
-Echo "EMUL = " {emulname} >> "{o}"mk.tmp
-Echo "EMULATION_OFILES = " {emulation_ofiles} >> "{o}"mk.tmp
-Echo 'version = ' `Search 'ld version ' {srcdir}ldver.c | sed -e 's/.*ld version \([^ ]*\).*/\1/'` >> "{o}"mk.tmp
-Echo "TDEFINES = " >> "{o}"mk.tmp
-Echo '# End from mpw-config.in' >> "{o}"mk.tmp
-
-Echo '/* config.h. Generated by mpw-configure. */' > "{o}"config.new
-Echo '#include "mpw.h"' >> "{o}"config.new
-
-MoveIfChange "{o}"config.new "{o}"config.h
diff --git a/ld/mpw-make.sed b/ld/mpw-make.sed
deleted file mode 100644
index c919708..0000000
--- a/ld/mpw-make.sed
+++ /dev/null
@@ -1,95 +0,0 @@
-# Sed commands to finish translating the ld Makefile.in into MPW syntax.
-
-/HDEFINES/s/@HDEFINES@//
-
-/^target_alias = @target_alias@/s/^/#/
-
-/^EMUL = @EMUL@/s/^/#/
-
-/^EMULATION_OFILES = @EMULATION_OFILES@/s/^/#/
-
-# Fixadd to the include paths.
-/^INCLUDES = .*$/s/$/ -i "{INCDIR}":mpw: -i ::extra-include:/
-/BFDDIR/s/-i {BFDDIR} /-i "{BFDDIR}": /
-/INCDIR/s/-i {INCDIR} /-i "{INCDIR}": /
-
-# Use byacc instead of bison (for now anyway).
-/BISON/s/^BISON =.*$/BISON = byacc/
-#/BISONFLAGS/s/^BISONFLAGS =.*$/BISONFLAGS = /
-
-# Suppress the suppression of smart makes.
-/^\.y\.c/d
-
-# Hack up ldmain compile.
-/^"{o}"ldmain.c.o \\Option-f .* config.status$/,/^$/c\
-"{o}"ldmain.c.o \\Option-f "{s}"ldmain.c\
- {CC} @DASH_C_FLAG@ -d DEFAULT_EMULATION={dq}{EMUL}{dq} -d SCRIPTDIR={dq}{scriptdir}{dq} {ALL_CFLAGS} "{s}"ldmain.c -o "{o}"ldmain.c.o\
-
-
-# Remove ldemul-list.h build, rely on configure to make one.
-/^ldemul-list.h /,/Rename -y "{s}"ldemul-tmp.h /d
-
-# Fix pathnames to generated files.
-/config.h/s/"{s}"config\.h/"{o}"config.h/g
-/config.h/s/^config\.h/"{o}"config.h/
-
-/y.tab.c/s/"{s}"y\.tab\.c/"{o}"y.tab.c/g
-/y.tab.c/s/^y\.tab\.c/"{o}"y.tab.c/
-/y.tab.h/s/"{s}"y\.tab\.h/"{o}"y.tab.h/g
-/y.tab.h/s/^y\.tab\.h/"{o}"y.tab.h/
-
-/ldgram.c/s/"{s}"ldgram\.c/"{o}"ldgram.c/g
-/ldgram.c/s/^ldgram\.c/"{o}"ldgram.c/
-
-/ldgram.h/s/"{s}"ldgram\.h/"{o}"ldgram.h/g
-/ldgram.h/s/^ldgram\.h/"{o}"ldgram.h/
-
-/ldlex.c/s/"{s}"ldlex\.c/"{o}"ldlex.c/g
-/ldlex.c/s/^ldlex\.c/"{o}"ldlex.c/
-
-/ldlex.c.new/s/"{s}"ldlex\.c\.new/"{o}"ldlex.c.new/g
-
-/lex.yy.c/s/"{s}"lex\.yy\.c/"{o}"lex.yy.c/g
-
-/ldemul-list.h/s/"{s}"ldemul-list\.h/"{o}"ldemul-list.h/g
-/ldemul-list.h/s/^ldemul-list\.h/"{o}"ldemul-list.h/
-
-# Edit pathnames to emulation files.
-/"{s}"e.*\.c/s/"{s}"e\([-_a-z0-9]*\)\.c/"{o}"e\1.c/g
-/^e.*\.c/s/^e\([-_a-z0-9]*\)\.c/"{o}"e\1.c/
-
-# We can't run genscripts, so don't try.
-/{GENSCRIPTS}/s/{GENSCRIPTS}/null-command/
-
-# Comment out the TDIRS bits.
-/^TDIRS@/s/^/#/
-
-# Point at the BFD library directly.
-/@BFDLIB@/s/@BFDLIB@/::bfd:libbfd.o/
-
-# Don't need this.
-/@HLDFLAGS@/s/@HLDFLAGS@//
-
-#/sed.*free/,/> "{o}"ldlex.c.new/c\
-# \ Catenate "{o}"lex.yy.c >"{o}"ldlex.c.new
-
-# The resource file is called mac-ld.r.
-/{LD_PROG}.r/s/{LD_PROG}\.r/mac-ld.r/
-
-/^install \\Option-f /,/^$/c\
-install \\Option-f all install-only\
-\
-install-only \\Option-f\
- NewFolderRecursive "{bindir}"\
- Duplicate -y :ld.new "{bindir}"ld\
-
-
-# Remove dependency rebuilding crud.
-/^.dep /,/# .PHONY /d
-
-# Remove the lintlog action, pipe symbols in column 1 lose.
-/^lintlog \\Option-f/,/^$/d
-
-/^Makefile \\Option-f/,/^$/d
-/^"{o}"config.h \\Option-f/,/^$/d
-/^config.status \\Option-f/,/^$/d
diff --git a/ld/pe-dll.c b/ld/pe-dll.c
index ce3f443..45d00ae 100644
--- a/ld/pe-dll.c
+++ b/ld/pe-dll.c
@@ -917,9 +917,9 @@ fill_edata (bfd *abfd, struct bfd_link_info *info ATTRIBUTE_UNUSED)
{
int s, hint;
unsigned char *edirectory;
- unsigned long *eaddresses;
- unsigned long *enameptrs;
- unsigned short *eordinals;
+ unsigned char *eaddresses;
+ unsigned char *enameptrs;
+ unsigned char *eordinals;
unsigned char *enamestr;
time_t now;
@@ -929,10 +929,10 @@ fill_edata (bfd *abfd, struct bfd_link_info *info ATTRIBUTE_UNUSED)
/* Note use of array pointer math here. */
edirectory = edata_d;
- eaddresses = (unsigned long *) (edata_d + 40);
- enameptrs = eaddresses + export_table_size;
- eordinals = (unsigned short *) (enameptrs + count_exported_byname);
- enamestr = (char *) (eordinals + count_exported_byname);
+ eaddresses = edata_d + 40;
+ enameptrs = eaddresses + 4 * export_table_size;
+ eordinals = enameptrs + 4 * count_exported_byname;
+ enamestr = eordinals + 2 * count_exported_byname;
#define ERVA(ptr) (((unsigned char *)(ptr) - edata_d) \
+ edata_s->output_section->vma - image_base)
@@ -966,27 +966,27 @@ fill_edata (bfd *abfd, struct bfd_link_info *info ATTRIBUTE_UNUSED)
hint = 0;
for (s = 0; s < NE; s++)
{
- if (pe_def_file->exports[s].ordinal != -1)
+ struct bfd_section *ssec = exported_symbol_sections[s];
+ if (ssec && pe_def_file->exports[s].ordinal != -1)
{
- struct bfd_section *ssec = exported_symbol_sections[s];
unsigned long srva = (exported_symbol_offsets[s]
+ ssec->output_section->vma
+ ssec->output_offset);
int ord = pe_def_file->exports[s].ordinal;
bfd_put_32 (abfd, srva - image_base,
- (void *) (eaddresses + ord - min_ordinal));
+ eaddresses + 4 * (ord - min_ordinal));
if (!pe_def_file->exports[s].flag_noname)
{
char *ename = pe_def_file->exports[s].name;
- bfd_put_32 (abfd, ERVA (enamestr), (void *) enameptrs);
- enameptrs++;
+ bfd_put_32 (abfd, ERVA (enamestr), enameptrs);
+ enameptrs += 4;
strcpy (enamestr, ename);
enamestr += strlen (enamestr) + 1;
- bfd_put_16 (abfd, ord - min_ordinal, (void *) eordinals);
- eordinals++;
+ bfd_put_16 (abfd, ord - min_ordinal, eordinals);
+ eordinals += 2;
pe_def_file->exports[s].hint = hint++;
}
}
@@ -2257,6 +2257,9 @@ pe_dll_generate_implib (def_file *def, const char *impfilename)
char *internal = def->exports[i].internal_name;
bfd *n;
+ /* Don't add PRIVATE entries to import lib. */
+ if (pe_def_file->exports[i].flag_private)
+ continue;
def->exports[i].internal_name = def->exports[i].name;
n = make_one (def->exports + i, outarch);
n->next = head;
diff --git a/ld/po/ld.pot b/ld/po/ld.pot
index 371423c..a61785a 100644
--- a/ld/po/ld.pot
+++ b/ld/po/ld.pot
@@ -7,7 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2003-07-11 13:58+0930\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-03-19 15:00+1030\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,10 +17,12 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: emultempl/armcoff.em:72
+#, c-format
msgid " --support-old-code Support interworking with old code\n"
msgstr ""
#: emultempl/armcoff.em:73
+#, c-format
msgid " --thumb-entry=<sym> Set the entry point to be Thumb symbol <sym>\n"
msgstr ""
@@ -28,161 +31,191 @@ msgstr ""
msgid "Errors encountered processing file %s"
msgstr ""
-#: emultempl/armcoff.em:188 emultempl/pe.em:1396
+#: emultempl/armcoff.em:188 emultempl/pe.em:1429
msgid "%P: warning: '--thumb-entry %s' is overriding '-e %s'\n"
msgstr ""
-#: emultempl/armcoff.em:193 emultempl/pe.em:1401
+#: emultempl/armcoff.em:193 emultempl/pe.em:1434
msgid "%P: warning: connot find thumb start symbol %s\n"
msgstr ""
-#: emultempl/pe.em:300
+#: emultempl/pe.em:292
+#, c-format
msgid ""
" --base_file <basefile> Generate a base file for relocatable "
"DLLs\n"
msgstr ""
-#: emultempl/pe.em:301
+#: emultempl/pe.em:293
+#, c-format
msgid ""
" --dll Set image base to the default for DLLs\n"
msgstr ""
-#: emultempl/pe.em:302
+#: emultempl/pe.em:294
+#, c-format
msgid " --file-alignment <size> Set file alignment\n"
msgstr ""
-#: emultempl/pe.em:303
+#: emultempl/pe.em:295
+#, c-format
msgid " --heap <size> Set initial size of the heap\n"
msgstr ""
-#: emultempl/pe.em:304
+#: emultempl/pe.em:296
+#, c-format
msgid ""
" --image-base <address> Set start address of the executable\n"
msgstr ""
-#: emultempl/pe.em:305
+#: emultempl/pe.em:297
+#, c-format
msgid ""
" --major-image-version <number> Set version number of the executable\n"
msgstr ""
-#: emultempl/pe.em:306
+#: emultempl/pe.em:298
+#, c-format
msgid " --major-os-version <number> Set minimum required OS version\n"
msgstr ""
-#: emultempl/pe.em:307
+#: emultempl/pe.em:299
+#, c-format
msgid ""
" --major-subsystem-version <number> Set minimum required OS subsystem "
"version\n"
msgstr ""
-#: emultempl/pe.em:308
+#: emultempl/pe.em:300
+#, c-format
msgid ""
" --minor-image-version <number> Set revision number of the executable\n"
msgstr ""
-#: emultempl/pe.em:309
+#: emultempl/pe.em:301
+#, c-format
msgid " --minor-os-version <number> Set minimum required OS revision\n"
msgstr ""
-#: emultempl/pe.em:310
+#: emultempl/pe.em:302
+#, c-format
msgid ""
" --minor-subsystem-version <number> Set minimum required OS subsystem "
"revision\n"
msgstr ""
-#: emultempl/pe.em:311
+#: emultempl/pe.em:303
+#, c-format
msgid " --section-alignment <size> Set section alignment\n"
msgstr ""
-#: emultempl/pe.em:312
+#: emultempl/pe.em:304
+#, c-format
msgid " --stack <size> Set size of the initial stack\n"
msgstr ""
-#: emultempl/pe.em:313
+#: emultempl/pe.em:305
+#, c-format
msgid ""
" --subsystem <name>[:<version>] Set required OS subsystem [& version]\n"
msgstr ""
-#: emultempl/pe.em:314
+#: emultempl/pe.em:306
+#, c-format
msgid ""
" --support-old-code Support interworking with old code\n"
msgstr ""
-#: emultempl/pe.em:315
+#: emultempl/pe.em:307
+#, c-format
msgid ""
" --thumb-entry=<symbol> Set the entry point to be Thumb "
"<symbol>\n"
msgstr ""
-#: emultempl/pe.em:317
+#: emultempl/pe.em:309
+#, c-format
msgid ""
" --add-stdcall-alias Export symbols with and without @nn\n"
msgstr ""
-#: emultempl/pe.em:318
+#: emultempl/pe.em:310
+#, c-format
msgid " --disable-stdcall-fixup Don't link _sym to _sym@nn\n"
msgstr ""
-#: emultempl/pe.em:319
+#: emultempl/pe.em:311
+#, c-format
msgid ""
" --enable-stdcall-fixup Link _sym to _sym@nn without warnings\n"
msgstr ""
-#: emultempl/pe.em:320
+#: emultempl/pe.em:312
+#, c-format
msgid ""
" --exclude-symbols sym,sym,... Exclude symbols from automatic export\n"
msgstr ""
-#: emultempl/pe.em:321
+#: emultempl/pe.em:313
+#, c-format
msgid ""
" --exclude-libs lib,lib,... Exclude libraries from automatic "
"export\n"
msgstr ""
-#: emultempl/pe.em:322
+#: emultempl/pe.em:314
+#, c-format
msgid ""
" --export-all-symbols Automatically export all globals to "
"DLL\n"
msgstr ""
-#: emultempl/pe.em:323
+#: emultempl/pe.em:315
+#, c-format
msgid " --kill-at Remove @nn from exported symbols\n"
msgstr ""
-#: emultempl/pe.em:324
+#: emultempl/pe.em:316
+#, c-format
msgid " --out-implib <file> Generate import library\n"
msgstr ""
-#: emultempl/pe.em:325
+#: emultempl/pe.em:317
+#, c-format
msgid ""
" --output-def <file> Generate a .DEF file for the built DLL\n"
msgstr ""
-#: emultempl/pe.em:326
+#: emultempl/pe.em:318
+#, c-format
msgid " --warn-duplicate-exports Warn about duplicate exports.\n"
msgstr ""
-#: emultempl/pe.em:327
+#: emultempl/pe.em:319
+#, c-format
msgid ""
" --compat-implib Create backward compatible import "
"libs;\n"
" create __imp_<SYMBOL> as well.\n"
msgstr ""
-#: emultempl/pe.em:329
+#: emultempl/pe.em:321
+#, c-format
msgid ""
" --enable-auto-image-base Automatically choose image base for "
"DLLs\n"
" unless user specifies one\n"
msgstr ""
-#: emultempl/pe.em:331
+#: emultempl/pe.em:323
+#, c-format
msgid ""
" --disable-auto-image-base Do not auto-choose image base. "
"(default)\n"
msgstr ""
-#: emultempl/pe.em:332
+#: emultempl/pe.em:324
+#, c-format
msgid ""
" --dll-search-prefix=<string> When linking dynamically to a dll "
"without\n"
@@ -191,19 +224,22 @@ msgid ""
" in preference to lib<basename>.dll \n"
msgstr ""
-#: emultempl/pe.em:335
+#: emultempl/pe.em:327
+#, c-format
msgid ""
" --enable-auto-import Do sophistcated linking of _sym to\n"
" __imp_sym for DATA references\n"
msgstr ""
-#: emultempl/pe.em:337
+#: emultempl/pe.em:329
+#, c-format
msgid ""
" --disable-auto-import Do not auto-import DATA items from "
"DLLs\n"
msgstr ""
-#: emultempl/pe.em:338
+#: emultempl/pe.em:330
+#, c-format
msgid ""
" --enable-runtime-pseudo-reloc Work around auto-import limitations by\n"
" adding pseudo-relocations resolved "
@@ -211,14 +247,16 @@ msgid ""
" runtime.\n"
msgstr ""
-#: emultempl/pe.em:341
+#: emultempl/pe.em:333
+#, c-format
msgid ""
" --disable-runtime-pseudo-reloc Do not add runtime pseudo-relocations "
"for\n"
" auto-imported DATA.\n"
msgstr ""
-#: emultempl/pe.em:343
+#: emultempl/pe.em:335
+#, c-format
msgid ""
" --enable-extra-pe-debug Enable verbose debug output when "
"building\n"
@@ -226,70 +264,70 @@ msgid ""
"import)\n"
msgstr ""
-#: emultempl/pe.em:412
+#: emultempl/pe.em:404
msgid "%P: warning: bad version number in -subsystem option\n"
msgstr ""
-#: emultempl/pe.em:448
+#: emultempl/pe.em:440
msgid "%P%F: invalid subsystem type %s\n"
msgstr ""
-#: emultempl/pe.em:460
+#: emultempl/pe.em:452
msgid "%P%F: invalid hex number for PE parameter '%s'\n"
msgstr ""
-#: emultempl/pe.em:477
+#: emultempl/pe.em:469
msgid "%P%F: strange hex info for PE parameter '%s'\n"
msgstr ""
-#: emultempl/pe.em:494
+#: emultempl/pe.em:486
#, c-format
msgid "%s: Can't open base file %s\n"
msgstr ""
-#: emultempl/pe.em:707
+#: emultempl/pe.em:699
msgid "%P: warning, file alignment > section alignment.\n"
msgstr ""
-#: emultempl/pe.em:794 emultempl/pe.em:821
+#: emultempl/pe.em:786 emultempl/pe.em:813
#, c-format
msgid "Warning: resolving %s by linking to %s\n"
msgstr ""
-#: emultempl/pe.em:799 emultempl/pe.em:826
+#: emultempl/pe.em:791 emultempl/pe.em:818
msgid "Use --enable-stdcall-fixup to disable these warnings\n"
msgstr ""
-#: emultempl/pe.em:800 emultempl/pe.em:827
+#: emultempl/pe.em:792 emultempl/pe.em:819
msgid "Use --disable-stdcall-fixup to disable these fixups\n"
msgstr ""
-#: emultempl/pe.em:846
+#: emultempl/pe.em:838
#, c-format
msgid "%C: Cannot get section contents - auto-import exception\n"
msgstr ""
-#: emultempl/pe.em:883
+#: emultempl/pe.em:875
#, c-format
msgid "Info: resolving %s by linking to %s (auto-import)\n"
msgstr ""
-#: emultempl/pe.em:954
+#: emultempl/pe.em:948
msgid "%F%P: PE operations on non PE file.\n"
msgstr ""
-#: emultempl/pe.em:1188
+#: emultempl/pe.em:1221
#, c-format
msgid "Errors encountered processing file %s\n"
msgstr ""
-#: emultempl/pe.em:1211
+#: emultempl/pe.em:1244
#, c-format
msgid "Errors encountered processing file %s for interworking"
msgstr ""
-#: emultempl/pe.em:1273 ldlang.c:1904 ldlang.c:4397 ldlang.c:4428
-#: ldmain.c:1122
+#: emultempl/pe.em:1306 ldexp.c:505 ldlang.c:2042 ldlang.c:4556 ldlang.c:4587
+#: ldmain.c:1124
msgid "%P%F: bfd_link_hash_lookup failed: %E\n"
msgstr ""
@@ -302,6 +340,7 @@ msgid "%X%P: cref_hash_lookup failed: %E\n"
msgstr ""
#: ldcref.c:225
+#, c-format
msgid ""
"\n"
"Cross Reference Table\n"
@@ -313,10 +352,12 @@ msgid "Symbol"
msgstr ""
#: ldcref.c:234
+#, c-format
msgid "File\n"
msgstr ""
#: ldcref.c:238
+#, c-format
msgid "No symbols\n"
msgstr ""
@@ -328,11 +369,11 @@ msgstr ""
msgid "%B%F: could not read symbols; %E\n"
msgstr ""
-#: ldcref.c:452 ldmain.c:1187 ldmain.c:1191
+#: ldcref.c:452 ldmain.c:1189 ldmain.c:1193
msgid "%B%F: could not read symbols: %E\n"
msgstr ""
-#: ldcref.c:517 ldcref.c:524 ldmain.c:1234 ldmain.c:1241
+#: ldcref.c:517 ldcref.c:524 ldmain.c:1236 ldmain.c:1243
msgid "%B%F: could not read relocs: %E\n"
msgstr ""
@@ -367,85 +408,78 @@ msgid ""
"\n"
msgstr ""
-#: ldemul.c:247
+#: ldemul.c:226
#, c-format
msgid "%S SYSLIB ignored\n"
msgstr ""
-#: ldemul.c:254
+#: ldemul.c:232
#, c-format
msgid "%S HLL ignored\n"
msgstr ""
-#: ldemul.c:275
+#: ldemul.c:252
msgid "%P: unrecognised emulation mode: %s\n"
msgstr ""
-#: ldemul.c:276
+#: ldemul.c:253
msgid "Supported emulations: "
msgstr ""
-#: ldemul.c:320
+#: ldemul.c:295
+#, c-format
msgid " no emulation specific options.\n"
msgstr ""
-#: ldexp.c:148
-msgid "%F%P: %s uses undefined section %s\n"
-msgstr ""
-
-#: ldexp.c:150
-msgid "%F%P: %s forward reference of section %s\n"
-msgstr ""
-
-#: ldexp.c:355
+#: ldexp.c:346
#, c-format
msgid "%F%S %% by zero\n"
msgstr ""
-#: ldexp.c:362
+#: ldexp.c:353
#, c-format
msgid "%F%S / by zero\n"
msgstr ""
-#: ldexp.c:533
+#: ldexp.c:518
#, c-format
msgid "%X%S: unresolvable symbol `%s' referenced in expression\n"
msgstr ""
-#: ldexp.c:553
+#: ldexp.c:538
#, c-format
msgid "%F%S: undefined symbol `%s' referenced in expression\n"
msgstr ""
-#: ldexp.c:677
+#: ldexp.c:664
#, c-format
msgid "%F%S can not PROVIDE assignment to location counter\n"
msgstr ""
-#: ldexp.c:687
+#: ldexp.c:674
#, c-format
msgid "%F%S invalid assignment to location counter\n"
msgstr ""
-#: ldexp.c:691
+#: ldexp.c:678
#, c-format
msgid "%F%S assignment to location counter invalid outside of SECTION\n"
msgstr ""
-#: ldexp.c:700
+#: ldexp.c:687
msgid "%F%S cannot move location counter backwards (from %V to %V)\n"
msgstr ""
-#: ldexp.c:727
+#: ldexp.c:714
msgid "%P%F:%s: hash creation failed\n"
msgstr ""
-#: ldexp.c:1003 ldexp.c:1035
+#: ldexp.c:992 ldexp.c:1024
#, c-format
msgid "%F%S nonconstant expression for %s\n"
msgstr ""
-#: ldexp.c:1089
+#: ldexp.c:1078
#, c-format
msgid "%F%S non constant expression for %s\n"
msgstr ""
@@ -469,11 +503,11 @@ msgid "%P: skipping incompatible %s when searching for %s\n"
msgstr ""
#: ldfile.c:377
-msgid "%F%P: cannot open %s for %s: %E\n"
+msgid "%F%P: %s (%s): No such file: %E\n"
msgstr ""
#: ldfile.c:380
-msgid "%F%P: cannot open %s: %E\n"
+msgid "%F%P: %s: No such file: %E\n"
msgstr ""
#: ldfile.c:410
@@ -506,211 +540,233 @@ msgstr ""
msgid "%P%F: target architecture respecified\n"
msgstr ""
-#: ldfile.c:594
+#: ldfile.c:595
msgid "%P%F: cannot represent machine `%s'\n"
msgstr ""
-#: ldlang.c:640
+#: ldlang.c:495
+msgid "%P%F: out of memory during initialization"
+msgstr ""
+
+#: ldlang.c:534
+msgid "%P:%S: warning: redeclaration of memory region '%s'\n"
+msgstr ""
+
+#: ldlang.c:553
+msgid "%P:%S: warning: memory region %s not declared\n"
+msgstr ""
+
+#: ldlang.c:670
msgid ""
"\n"
"Memory Configuration\n"
"\n"
msgstr ""
-#: ldlang.c:642
+#: ldlang.c:672
msgid "Name"
msgstr ""
-#: ldlang.c:642
+#: ldlang.c:672
msgid "Origin"
msgstr ""
-#: ldlang.c:642
+#: ldlang.c:672
msgid "Length"
msgstr ""
-#: ldlang.c:642
+#: ldlang.c:672
msgid "Attributes"
msgstr ""
-#: ldlang.c:682
+#: ldlang.c:712
+#, c-format
msgid ""
"\n"
"Linker script and memory map\n"
"\n"
msgstr ""
-#: ldlang.c:698
+#: ldlang.c:728
msgid "%P%F: Illegal use of `%s' section\n"
msgstr ""
-#: ldlang.c:707
+#: ldlang.c:737
msgid "%P%F: output format %s cannot represent section called %s\n"
msgstr ""
-#: ldlang.c:867
+#: ldlang.c:901
msgid "%P: %B: warning: ignoring duplicate section `%s'\n"
msgstr ""
-#: ldlang.c:870
+#: ldlang.c:904
msgid "%P: %B: warning: ignoring duplicate `%s' section symbol `%s'\n"
msgstr ""
-#: ldlang.c:884
+#: ldlang.c:918
msgid "%P: %B: warning: duplicate section `%s' has different size\n"
msgstr ""
-#: ldlang.c:936
+#: ldlang.c:970
msgid "%P%F: Failed to create hash table\n"
msgstr ""
-#: ldlang.c:1351
+#: ldlang.c:1386
msgid "%B: file not recognized: %E\n"
msgstr ""
-#: ldlang.c:1352
+#: ldlang.c:1387
msgid "%B: matching formats:"
msgstr ""
-#: ldlang.c:1359
+#: ldlang.c:1394
msgid "%F%B: file not recognized: %E\n"
msgstr ""
-#: ldlang.c:1418
+#: ldlang.c:1453
msgid "%F%B: member %B in archive is not an object\n"
msgstr ""
-#: ldlang.c:1429 ldlang.c:1443
+#: ldlang.c:1464 ldlang.c:1478
msgid "%F%B: could not read symbols: %E\n"
msgstr ""
-#: ldlang.c:1698
+#: ldlang.c:1733
msgid ""
"%P: warning: could not find any targets that match endianness requirement\n"
msgstr ""
-#: ldlang.c:1711
+#: ldlang.c:1746
msgid "%P%F: target %s not found\n"
msgstr ""
-#: ldlang.c:1713
+#: ldlang.c:1748
msgid "%P%F: cannot open output file %s: %E\n"
msgstr ""
-#: ldlang.c:1723
+#: ldlang.c:1758
msgid "%P%F:%s: can not make object file: %E\n"
msgstr ""
-#: ldlang.c:1727
+#: ldlang.c:1762
msgid "%P%F:%s: can not set architecture: %E\n"
msgstr ""
-#: ldlang.c:1731
+#: ldlang.c:1766
msgid "%P%F: can not create link hash table: %E\n"
msgstr ""
-#: ldlang.c:2069
+#: ldlang.c:1935
+msgid "%P%F: bfd_hash_lookup failed creating symbol %s\n"
+msgstr ""
+
+#: ldlang.c:1953
+msgid "%P%F: bfd_hash_allocate failed creating symbol %s\n"
+msgstr ""
+
+#: ldlang.c:2211
msgid " load address 0x%V"
msgstr ""
-#: ldlang.c:2204
+#: ldlang.c:2346
msgid "%W (size before relaxing)\n"
msgstr ""
-#: ldlang.c:2288
+#: ldlang.c:2429
#, c-format
msgid "Address of section %s set to "
msgstr ""
-#: ldlang.c:2443
+#: ldlang.c:2582
#, c-format
msgid "Fail with %d\n"
msgstr ""
-#: ldlang.c:2683
+#: ldlang.c:2822
msgid "%X%P: section %s [%V -> %V] overlaps section %s [%V -> %V]\n"
msgstr ""
-#: ldlang.c:2711
+#: ldlang.c:2850
msgid "%X%P: address 0x%v of %B section %s is not within region %s\n"
msgstr ""
-#: ldlang.c:2719
+#: ldlang.c:2858
msgid "%X%P: region %s is full (%B section %s)\n"
msgstr ""
-#: ldlang.c:2770
+#: ldlang.c:2906
msgid "%P%X: Internal error on COFF shared library section %s\n"
msgstr ""
-#: ldlang.c:2826
+#: ldlang.c:2959
msgid "%P%F: error: no memory region specified for loadable section `%s'\n"
msgstr ""
-#: ldlang.c:2830
+#: ldlang.c:2963
msgid "%P: warning: no memory region specified for loadable section `%s'\n"
msgstr ""
-#: ldlang.c:2846
+#: ldlang.c:2979
msgid "%P: warning: changing start of section %s by %u bytes\n"
msgstr ""
-#: ldlang.c:2859
+#: ldlang.c:2995
#, c-format
-msgid "%F%S: non constant address expression for section %s\n"
+msgid ""
+"%F%S: non constant or forward reference address expression for section %s\n"
msgstr ""
-#: ldlang.c:3036
+#: ldlang.c:3180
msgid "%P%F: can't relax section: %E\n"
msgstr ""
-#: ldlang.c:3232
+#: ldlang.c:3393
msgid "%F%P: invalid data statement\n"
msgstr ""
-#: ldlang.c:3269
+#: ldlang.c:3432
msgid "%F%P: invalid reloc statement\n"
msgstr ""
-#: ldlang.c:3408
+#: ldlang.c:3578
msgid "%P%F:%s: can't set start address\n"
msgstr ""
-#: ldlang.c:3421 ldlang.c:3439
+#: ldlang.c:3591 ldlang.c:3609
msgid "%P%F: can't set start address\n"
msgstr ""
-#: ldlang.c:3433
+#: ldlang.c:3603
msgid "%P: warning: cannot find entry symbol %s; defaulting to %V\n"
msgstr ""
-#: ldlang.c:3444
+#: ldlang.c:3614
msgid "%P: warning: cannot find entry symbol %s; not setting start address\n"
msgstr ""
-#: ldlang.c:3488
+#: ldlang.c:3660
msgid ""
"%P%F: Relocatable linking with relocations from format %s (%B) to format %s "
"(%B) is not supported\n"
msgstr ""
-#: ldlang.c:3497
+#: ldlang.c:3669
msgid ""
"%P: warning: %s architecture of input file `%B' is incompatible with %s "
"output\n"
msgstr ""
-#: ldlang.c:3518
-msgid "%E%X: failed to merge target specific data of file %B\n"
+#: ldlang.c:3690
+msgid "%P%X: failed to merge target specific data of file %B\n"
msgstr ""
-#: ldlang.c:3604
+#: ldlang.c:3774
msgid ""
"\n"
"Allocating common symbols\n"
msgstr ""
-#: ldlang.c:3605
+#: ldlang.c:3775
msgid ""
"Common symbol size file\n"
"\n"
@@ -719,270 +775,284 @@ msgstr ""
#. This message happens when using the
#. svr3.ifile linker script, so I have
#. disabled it.
-#: ldlang.c:3681
+#: ldlang.c:3851
msgid "%P: no [COMMON] command, defaulting to .bss\n"
msgstr ""
-#: ldlang.c:3737
+#: ldlang.c:3907
msgid "%P%F: invalid syntax in flags\n"
msgstr ""
-#: ldlang.c:4325
+#: ldlang.c:4479
msgid "%P%Fmultiple STARTUP files\n"
msgstr ""
-#: ldlang.c:4368
+#: ldlang.c:4526
msgid "%X%P:%S: section has both a load address and a load region\n"
msgstr ""
-#: ldlang.c:4608
+#: ldlang.c:4766
msgid "%F%P: bfd_record_phdr failed: %E\n"
msgstr ""
-#: ldlang.c:4627
+#: ldlang.c:4785
msgid "%X%P: section `%s' assigned to non-existent phdr `%s'\n"
msgstr ""
-#: ldlang.c:4919
+#: ldlang.c:5171
msgid "%X%P: unknown language `%s' in version information\n"
msgstr ""
-#: ldlang.c:4969
+#: ldlang.c:5313
msgid ""
"%X%P: anonymous version tag cannot be combined with other version tags\n"
msgstr ""
-#: ldlang.c:4977
+#: ldlang.c:5321
msgid "%X%P: duplicate version tag `%s'\n"
msgstr ""
-#: ldlang.c:4990 ldlang.c:5003
+#: ldlang.c:5341 ldlang.c:5349 ldlang.c:5366 ldlang.c:5374
msgid "%X%P: duplicate expression `%s' in version information\n"
msgstr ""
-#: ldlang.c:5043
+#: ldlang.c:5414
msgid "%X%P: unable to find version dependency `%s'\n"
msgstr ""
-#: ldlang.c:5065
+#: ldlang.c:5436
msgid "%X%P: unable to read .exports section contents\n"
msgstr ""
-#: ldmain.c:247
+#: ldmain.c:251
msgid "%X%P: can't set BFD default target to `%s': %E\n"
msgstr ""
-#: ldmain.c:349
-msgid "%P%F: -r and --mpc860c0 may not be used together\n"
-msgstr ""
-
-#: ldmain.c:351
+#: ldmain.c:352
msgid "%P%F: --relax and -r may not be used together\n"
msgstr ""
-#: ldmain.c:353
+#: ldmain.c:354
msgid "%P%F: -r and -shared may not be used together\n"
msgstr ""
-#: ldmain.c:359
+#: ldmain.c:360
msgid "%P%F: -F may not be used without -shared\n"
msgstr ""
-#: ldmain.c:361
+#: ldmain.c:362
msgid "%P%F: -f may not be used without -shared\n"
msgstr ""
-#: ldmain.c:403
+#: ldmain.c:404
msgid "using external linker script:"
msgstr ""
-#: ldmain.c:405
+#: ldmain.c:406
msgid "using internal linker script:"
msgstr ""
-#: ldmain.c:439
+#: ldmain.c:440
msgid "%P%F: no input files\n"
msgstr ""
-#: ldmain.c:443
+#: ldmain.c:444
msgid "%P: mode %s\n"
msgstr ""
-#: ldmain.c:459
+#: ldmain.c:460
msgid "%P%F: cannot open map file %s: %E\n"
msgstr ""
-#: ldmain.c:489
+#: ldmain.c:490
msgid "%P: link errors found, deleting executable `%s'\n"
msgstr ""
-#: ldmain.c:498
+#: ldmain.c:499
msgid "%F%B: final close failed: %E\n"
msgstr ""
-#: ldmain.c:524
+#: ldmain.c:525
msgid "%X%P: unable to open for source of copy `%s'\n"
msgstr ""
-#: ldmain.c:527
+#: ldmain.c:528
msgid "%X%P: unable to open for destination of copy `%s'\n"
msgstr ""
-#: ldmain.c:534
+#: ldmain.c:535
msgid "%P: Error writing file `%s'\n"
msgstr ""
-#: ldmain.c:539 pe-dll.c:1443
+#: ldmain.c:540 pe-dll.c:1451
#, c-format
msgid "%P: Error closing file `%s'\n"
msgstr ""
-#: ldmain.c:555
+#: ldmain.c:556
#, c-format
msgid "%s: total time in link: %ld.%06ld\n"
msgstr ""
-#: ldmain.c:558
+#: ldmain.c:559
#, c-format
msgid "%s: data size %ld\n"
msgstr ""
-#: ldmain.c:596
+#: ldmain.c:597
msgid "%P%F: missing argument to -m\n"
msgstr ""
-#: ldmain.c:741 ldmain.c:759 ldmain.c:789
+#: ldmain.c:743 ldmain.c:761 ldmain.c:791
msgid "%P%F: bfd_hash_table_init failed: %E\n"
msgstr ""
-#: ldmain.c:745 ldmain.c:763
+#: ldmain.c:747 ldmain.c:765
msgid "%P%F: bfd_hash_lookup failed: %E\n"
msgstr ""
-#: ldmain.c:777
+#: ldmain.c:779
msgid "%X%P: error: duplicate retain-symbols-file\n"
msgstr ""
-#: ldmain.c:819
+#: ldmain.c:821
msgid "%P%F: bfd_hash_lookup for insertion failed: %E\n"
msgstr ""
-#: ldmain.c:824
+#: ldmain.c:826
msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n"
msgstr ""
-#: ldmain.c:899
+#: ldmain.c:901
+#, c-format
msgid ""
"Archive member included because of file (symbol)\n"
"\n"
msgstr ""
-#: ldmain.c:969
+#: ldmain.c:971
msgid "%X%C: multiple definition of `%T'\n"
msgstr ""
-#: ldmain.c:972
+#: ldmain.c:974
msgid "%D: first defined here\n"
msgstr ""
-#: ldmain.c:976
+#: ldmain.c:978
msgid "%P: Disabling relaxation: it will not work with multiple definitions\n"
msgstr ""
-#: ldmain.c:1006
+#: ldmain.c:1008
msgid "%B: warning: definition of `%T' overriding common\n"
msgstr ""
-#: ldmain.c:1009
+#: ldmain.c:1011
msgid "%B: warning: common is here\n"
msgstr ""
-#: ldmain.c:1016
+#: ldmain.c:1018
msgid "%B: warning: common of `%T' overridden by definition\n"
msgstr ""
-#: ldmain.c:1019
+#: ldmain.c:1021
msgid "%B: warning: defined here\n"
msgstr ""
-#: ldmain.c:1026
+#: ldmain.c:1028
msgid "%B: warning: common of `%T' overridden by larger common\n"
msgstr ""
-#: ldmain.c:1029
+#: ldmain.c:1031
msgid "%B: warning: larger common is here\n"
msgstr ""
-#: ldmain.c:1033
+#: ldmain.c:1035
msgid "%B: warning: common of `%T' overriding smaller common\n"
msgstr ""
-#: ldmain.c:1036
+#: ldmain.c:1038
msgid "%B: warning: smaller common is here\n"
msgstr ""
-#: ldmain.c:1040
+#: ldmain.c:1042
msgid "%B: warning: multiple common of `%T'\n"
msgstr ""
-#: ldmain.c:1042
+#: ldmain.c:1044
msgid "%B: warning: previous common is here\n"
msgstr ""
-#: ldmain.c:1062 ldmain.c:1100
+#: ldmain.c:1064 ldmain.c:1102
msgid "%P: warning: global constructor %s used\n"
msgstr ""
-#: ldmain.c:1110
+#: ldmain.c:1112
msgid "%P%F: BFD backend error: BFD_RELOC_CTOR unsupported\n"
msgstr ""
-#: ldmain.c:1287 ldmisc.c:533
+#: ldmain.c:1289 ldmisc.c:533
msgid "%F%P: bfd_hash_table_init failed: %E\n"
msgstr ""
-#: ldmain.c:1294 ldmisc.c:540
+#: ldmain.c:1296 ldmisc.c:540
msgid "%F%P: bfd_hash_lookup failed: %E\n"
msgstr ""
-#: ldmain.c:1314
-msgid "%C: undefined reference to `%T'\n"
+#: ldmain.c:1317
+msgid "%X%C: undefined reference to `%T'\n"
msgstr ""
#: ldmain.c:1320
-msgid "%D: more undefined references to `%T' follow\n"
+msgid "%C: warning: undefined reference to `%T'\n"
+msgstr ""
+
+#: ldmain.c:1326
+msgid "%X%D: more undefined references to `%T' follow\n"
+msgstr ""
+
+#: ldmain.c:1329
+msgid "%D: warning: more undefined references to `%T' follow\n"
+msgstr ""
+
+#: ldmain.c:1340
+msgid "%X%B: undefined reference to `%T'\n"
+msgstr ""
+
+#: ldmain.c:1343
+msgid "%B: warning: undefined reference to `%T'\n"
msgstr ""
-#: ldmain.c:1327
-msgid "%B: undefined reference to `%T'\n"
+#: ldmain.c:1349
+msgid "%X%B: more undefined references to `%T' follow\n"
msgstr ""
-#: ldmain.c:1333
-msgid "%B: more undefined references to `%T' follow\n"
+#: ldmain.c:1352
+msgid "%B: warning: more undefined references to `%T' follow\n"
msgstr ""
-#: ldmain.c:1364 ldmain.c:1392 ldmain.c:1410
+#: ldmain.c:1386 ldmain.c:1414 ldmain.c:1432
msgid "%P%X: generated"
msgstr ""
-#: ldmain.c:1371
+#: ldmain.c:1393
msgid " additional relocation overflows omitted from the output\n"
msgstr ""
-#: ldmain.c:1375
+#: ldmain.c:1397
msgid " relocation truncated to fit: %s %T"
msgstr ""
-#: ldmain.c:1395
+#: ldmain.c:1417
#, c-format
msgid "dangerous relocation: %s\n"
msgstr ""
-#: ldmain.c:1413
+#: ldmain.c:1435
msgid " reloc refers to symbol `%T' which is not being output\n"
msgstr ""
#: ldmisc.c:147
+#, c-format
msgid "no symbol"
msgstr ""
@@ -1016,594 +1086,618 @@ msgid "%P%F: please report this bug\n"
msgstr ""
#. Output for noisy == 2 is intended to follow the GNU standards.
-#: ldver.c:39
+#: ldver.c:38
#, c-format
msgid "GNU ld version %s\n"
msgstr ""
-#: ldver.c:43
+#: ldver.c:42
+#, c-format
msgid "Copyright 2002 Free Software Foundation, Inc.\n"
msgstr ""
-#: ldver.c:44
+#: ldver.c:43
+#, c-format
msgid ""
"This program is free software; you may redistribute it under the terms of\n"
"the GNU General Public License. This program has absolutely no warranty.\n"
msgstr ""
-#: ldver.c:53
+#: ldver.c:52
+#, c-format
msgid " Supported emulations:\n"
msgstr ""
-#: ldwrite.c:54 ldwrite.c:190
+#: ldwrite.c:55 ldwrite.c:191
msgid "%P%F: bfd_new_link_order failed\n"
msgstr ""
-#: ldwrite.c:310
+#: ldwrite.c:343
+msgid "%F%P: cannot create split section name for %s\n"
+msgstr ""
+
+#: ldwrite.c:355
msgid "%F%P: clone section failed: %E\n"
msgstr ""
-#: ldwrite.c:348
+#: ldwrite.c:394
#, c-format
msgid "%8x something else\n"
msgstr ""
-#: ldwrite.c:525
+#: ldwrite.c:572
msgid "%F%P: final link failed: %E\n"
msgstr ""
-#: lexsup.c:179 lexsup.c:284
+#: lexsup.c:185 lexsup.c:290
msgid "KEYWORD"
msgstr ""
-#: lexsup.c:179
+#: lexsup.c:185
msgid "Shared library control for HP/UX compatibility"
msgstr ""
-#: lexsup.c:182
+#: lexsup.c:188
msgid "ARCH"
msgstr ""
-#: lexsup.c:182
+#: lexsup.c:188
msgid "Set architecture"
msgstr ""
-#: lexsup.c:184 lexsup.c:357
+#: lexsup.c:190 lexsup.c:363
msgid "TARGET"
msgstr ""
-#: lexsup.c:184
+#: lexsup.c:190
msgid "Specify target for following input files"
msgstr ""
-#: lexsup.c:186 lexsup.c:229 lexsup.c:241 lexsup.c:254 lexsup.c:329
-#: lexsup.c:364 lexsup.c:408
+#: lexsup.c:192 lexsup.c:235 lexsup.c:247 lexsup.c:260 lexsup.c:335
+#: lexsup.c:370 lexsup.c:417
msgid "FILE"
msgstr ""
-#: lexsup.c:186
+#: lexsup.c:192
msgid "Read MRI format linker script"
msgstr ""
-#: lexsup.c:188
+#: lexsup.c:194
msgid "Force common symbols to be defined"
msgstr ""
-#: lexsup.c:192 lexsup.c:398 lexsup.c:400 lexsup.c:402
+#: lexsup.c:198 lexsup.c:404 lexsup.c:406 lexsup.c:408
msgid "ADDRESS"
msgstr ""
-#: lexsup.c:192
+#: lexsup.c:198
msgid "Set start address"
msgstr ""
-#: lexsup.c:194
+#: lexsup.c:200
msgid "Export all dynamic symbols"
msgstr ""
-#: lexsup.c:196
+#: lexsup.c:202
msgid "Link big-endian objects"
msgstr ""
-#: lexsup.c:198
+#: lexsup.c:204
msgid "Link little-endian objects"
msgstr ""
-#: lexsup.c:200 lexsup.c:203
+#: lexsup.c:206 lexsup.c:209
msgid "SHLIB"
msgstr ""
-#: lexsup.c:200
+#: lexsup.c:206
msgid "Auxiliary filter for shared object symbol table"
msgstr ""
-#: lexsup.c:203
+#: lexsup.c:209
msgid "Filter for shared object symbol table"
msgstr ""
-#: lexsup.c:205
+#: lexsup.c:211
msgid "Ignored"
msgstr ""
-#: lexsup.c:207
+#: lexsup.c:213
msgid "SIZE"
msgstr ""
-#: lexsup.c:207
+#: lexsup.c:213
msgid "Small data size (if no size, same as --shared)"
msgstr ""
-#: lexsup.c:210
+#: lexsup.c:216
msgid "FILENAME"
msgstr ""
-#: lexsup.c:210
+#: lexsup.c:216
msgid "Set internal name of shared library"
msgstr ""
-#: lexsup.c:212
+#: lexsup.c:218
msgid "PROGRAM"
msgstr ""
-#: lexsup.c:212
+#: lexsup.c:218
msgid "Set PROGRAM as the dynamic linker to use"
msgstr ""
-#: lexsup.c:214
+#: lexsup.c:220
msgid "LIBNAME"
msgstr ""
-#: lexsup.c:214
+#: lexsup.c:220
msgid "Search for library LIBNAME"
msgstr ""
-#: lexsup.c:216
+#: lexsup.c:222
msgid "DIRECTORY"
msgstr ""
-#: lexsup.c:216
+#: lexsup.c:222
msgid "Add DIRECTORY to library search path"
msgstr ""
-#: lexsup.c:218
+#: lexsup.c:224
msgid "EMULATION"
msgstr ""
-#: lexsup.c:218
+#: lexsup.c:224
msgid "Set emulation"
msgstr ""
-#: lexsup.c:220
+#: lexsup.c:226
msgid "Print map file on standard output"
msgstr ""
-#: lexsup.c:222
+#: lexsup.c:228
msgid "Do not page align data"
msgstr ""
-#: lexsup.c:224
+#: lexsup.c:230
msgid "Do not page align data, do not make text readonly"
msgstr ""
-#: lexsup.c:227
+#: lexsup.c:233
msgid "Page align data, make text readonly"
msgstr ""
-#: lexsup.c:229
+#: lexsup.c:235
msgid "Set output file name"
msgstr ""
-#: lexsup.c:231
+#: lexsup.c:237
msgid "Optimize output file"
msgstr ""
-#: lexsup.c:233
+#: lexsup.c:239
msgid "Ignored for SVR4 compatibility"
msgstr ""
-#: lexsup.c:237
+#: lexsup.c:243
msgid "Generate relocatable output"
msgstr ""
-#: lexsup.c:241
+#: lexsup.c:247
msgid "Just link symbols (if directory, same as --rpath)"
msgstr ""
-#: lexsup.c:244
+#: lexsup.c:250
msgid "Strip all symbols"
msgstr ""
-#: lexsup.c:246
+#: lexsup.c:252
msgid "Strip debugging symbols"
msgstr ""
-#: lexsup.c:248
+#: lexsup.c:254
msgid "Strip symbols in discarded sections"
msgstr ""
-#: lexsup.c:250
+#: lexsup.c:256
msgid "Do not strip symbols in discarded sections"
msgstr ""
-#: lexsup.c:252
+#: lexsup.c:258
msgid "Trace file opens"
msgstr ""
-#: lexsup.c:254
+#: lexsup.c:260
msgid "Read linker script"
msgstr ""
-#: lexsup.c:256 lexsup.c:272 lexsup.c:315 lexsup.c:327 lexsup.c:392
-#: lexsup.c:411 lexsup.c:431
+#: lexsup.c:262 lexsup.c:278 lexsup.c:321 lexsup.c:333 lexsup.c:398
+#: lexsup.c:420 lexsup.c:448
msgid "SYMBOL"
msgstr ""
-#: lexsup.c:256
+#: lexsup.c:262
msgid "Start with undefined reference to SYMBOL"
msgstr ""
-#: lexsup.c:258
+#: lexsup.c:264
msgid "[=SECTION]"
msgstr ""
-#: lexsup.c:258
+#: lexsup.c:264
msgid "Don't merge input [SECTION | orphan] sections"
msgstr ""
-#: lexsup.c:260
+#: lexsup.c:266
msgid "Build global constructor/destructor tables"
msgstr ""
-#: lexsup.c:262
+#: lexsup.c:268
msgid "Print version information"
msgstr ""
-#: lexsup.c:264
+#: lexsup.c:270
msgid "Print version and emulation information"
msgstr ""
-#: lexsup.c:266
+#: lexsup.c:272
msgid "Discard all local symbols"
msgstr ""
-#: lexsup.c:268
+#: lexsup.c:274
msgid "Discard temporary local symbols (default)"
msgstr ""
-#: lexsup.c:270
+#: lexsup.c:276
msgid "Don't discard any local symbols"
msgstr ""
-#: lexsup.c:272
+#: lexsup.c:278
msgid "Trace mentions of SYMBOL"
msgstr ""
-#: lexsup.c:274 lexsup.c:366 lexsup.c:368
+#: lexsup.c:280 lexsup.c:372 lexsup.c:374
msgid "PATH"
msgstr ""
-#: lexsup.c:274
+#: lexsup.c:280
msgid "Default search path for Solaris compatibility"
msgstr ""
-#: lexsup.c:276
+#: lexsup.c:282
msgid "Start a group"
msgstr ""
-#: lexsup.c:278
+#: lexsup.c:284
msgid "End a group"
msgstr ""
-#: lexsup.c:280
+#: lexsup.c:286
msgid "Accept input files whose architecture cannot be determined"
msgstr ""
-#: lexsup.c:282
+#: lexsup.c:288
msgid "Reject input files whose architecture is unknown"
msgstr ""
-#: lexsup.c:284
+#: lexsup.c:290
msgid "Ignored for SunOS compatibility"
msgstr ""
-#: lexsup.c:286
+#: lexsup.c:292
msgid "Link against shared libraries"
msgstr ""
-#: lexsup.c:292
+#: lexsup.c:298
msgid "Do not link against shared libraries"
msgstr ""
-#: lexsup.c:300
+#: lexsup.c:306
msgid "Bind global references locally"
msgstr ""
-#: lexsup.c:302
+#: lexsup.c:308
msgid "Check section addresses for overlaps (default)"
msgstr ""
-#: lexsup.c:304
+#: lexsup.c:310
msgid "Do not check section addresses for overlaps"
msgstr ""
-#: lexsup.c:307
+#: lexsup.c:313
msgid "Output cross reference table"
msgstr ""
-#: lexsup.c:309
+#: lexsup.c:315
msgid "SYMBOL=EXPRESSION"
msgstr ""
-#: lexsup.c:309
+#: lexsup.c:315
msgid "Define a symbol"
msgstr ""
-#: lexsup.c:311
+#: lexsup.c:317
msgid "[=STYLE]"
msgstr ""
-#: lexsup.c:311
+#: lexsup.c:317
msgid "Demangle symbol names [using STYLE]"
msgstr ""
-#: lexsup.c:313
+#: lexsup.c:319
msgid "Generate embedded relocs"
msgstr ""
-#: lexsup.c:315
+#: lexsup.c:321
msgid "Call SYMBOL at unload-time"
msgstr ""
-#: lexsup.c:317
+#: lexsup.c:323
msgid "Force generation of file with .exe suffix"
msgstr ""
-#: lexsup.c:319
+#: lexsup.c:325
msgid "Remove unused sections (on some targets)"
msgstr ""
-#: lexsup.c:322
+#: lexsup.c:328
msgid "Don't remove unused sections (default)"
msgstr ""
-#: lexsup.c:325
+#: lexsup.c:331
msgid "Print option help"
msgstr ""
-#: lexsup.c:327
+#: lexsup.c:333
msgid "Call SYMBOL at load-time"
msgstr ""
-#: lexsup.c:329
+#: lexsup.c:335
msgid "Write a map file"
msgstr ""
-#: lexsup.c:331
+#: lexsup.c:337
msgid "Do not define Common storage"
msgstr ""
-#: lexsup.c:333
+#: lexsup.c:339
msgid "Do not demangle symbol names"
msgstr ""
-#: lexsup.c:335
+#: lexsup.c:341
msgid "Use less memory and more disk I/O"
msgstr ""
-#: lexsup.c:337
-msgid "Allow no undefined symbols"
+#: lexsup.c:343
+msgid "Do not allow unresolved references in object files"
msgstr ""
-#: lexsup.c:339
-msgid "Allow undefined symbols in shared objects (the default)"
+#: lexsup.c:345
+msgid "Allow unresolved references in shared libaries"
msgstr ""
-#: lexsup.c:341
-msgid "Do not allow undefined symbols in shared objects"
+#: lexsup.c:347
+msgid "Do not allow unresolved references in shared libs"
msgstr ""
-#: lexsup.c:343
+#: lexsup.c:349
msgid "Allow multiple definitions"
msgstr ""
-#: lexsup.c:345
+#: lexsup.c:351
msgid "Disallow undefined version"
msgstr ""
-#: lexsup.c:347
+#: lexsup.c:353
msgid "Don't warn about mismatched input files"
msgstr ""
-#: lexsup.c:349
+#: lexsup.c:355
msgid "Turn off --whole-archive"
msgstr ""
-#: lexsup.c:351
+#: lexsup.c:357
msgid "Create an output file even if errors occur"
msgstr ""
-#: lexsup.c:355
+#: lexsup.c:361
msgid ""
"Only use library directories specified on\n"
"\t\t\t\tthe command line"
msgstr ""
-#: lexsup.c:357
+#: lexsup.c:363
msgid "Specify target of output file"
msgstr ""
-#: lexsup.c:359
+#: lexsup.c:365
msgid "Ignored for Linux compatibility"
msgstr ""
-#: lexsup.c:361
+#: lexsup.c:367
msgid "Relax branches on certain targets"
msgstr ""
-#: lexsup.c:364
+#: lexsup.c:370
msgid "Keep only symbols listed in FILE"
msgstr ""
-#: lexsup.c:366
+#: lexsup.c:372
msgid "Set runtime shared library search path"
msgstr ""
-#: lexsup.c:368
+#: lexsup.c:374
msgid "Set link time shared library search path"
msgstr ""
-#: lexsup.c:370
+#: lexsup.c:376
msgid "Create a shared library"
msgstr ""
-#: lexsup.c:374
+#: lexsup.c:380
msgid "Create a position independent executable"
msgstr ""
-#: lexsup.c:378
+#: lexsup.c:384
msgid "Sort common symbols by size"
msgstr ""
-#: lexsup.c:382
+#: lexsup.c:388
msgid "COUNT"
msgstr ""
-#: lexsup.c:382
+#: lexsup.c:388
msgid "How many tags to reserve in .dynamic section"
msgstr ""
-#: lexsup.c:384
+#: lexsup.c:390
msgid "[=SIZE]"
msgstr ""
-#: lexsup.c:384
+#: lexsup.c:390
msgid "Split output sections every SIZE octets"
msgstr ""
-#: lexsup.c:386
+#: lexsup.c:392
msgid "[=COUNT]"
msgstr ""
-#: lexsup.c:386
+#: lexsup.c:392
msgid "Split output sections every COUNT relocs"
msgstr ""
-#: lexsup.c:388
+#: lexsup.c:394
msgid "Print memory usage statistics"
msgstr ""
-#: lexsup.c:390
+#: lexsup.c:396
msgid "Display target specific options"
msgstr ""
-#: lexsup.c:392
+#: lexsup.c:398
msgid "Do task level linking"
msgstr ""
-#: lexsup.c:394
+#: lexsup.c:400
msgid "Use same format as native linker"
msgstr ""
-#: lexsup.c:396
+#: lexsup.c:402
msgid "SECTION=ADDRESS"
msgstr ""
-#: lexsup.c:396
+#: lexsup.c:402
msgid "Set address of named section"
msgstr ""
-#: lexsup.c:398
+#: lexsup.c:404
msgid "Set address of .bss section"
msgstr ""
-#: lexsup.c:400
+#: lexsup.c:406
msgid "Set address of .data section"
msgstr ""
-#: lexsup.c:402
+#: lexsup.c:408
msgid "Set address of .text section"
msgstr ""
-#: lexsup.c:404
+#: lexsup.c:410
+msgid ""
+"How to handle unresolved symbols. <method> is:\n"
+"\t\t\t\tignore-all, report-all, ignore-in-object-files,\n"
+"\t\t\t\tignore-in-shared-libs"
+msgstr ""
+
+#: lexsup.c:413
msgid "Output lots of information during link"
msgstr ""
-#: lexsup.c:408
+#: lexsup.c:417
msgid "Read version information script"
msgstr ""
-#: lexsup.c:411
+#: lexsup.c:420
msgid ""
"Take export symbols list from .exports, using\n"
"\t\t\t\tSYMBOL as the version."
msgstr ""
-#: lexsup.c:414
+#: lexsup.c:423
msgid "Warn about duplicate common symbols"
msgstr ""
-#: lexsup.c:416
+#: lexsup.c:425
msgid "Warn if global constructors/destructors are seen"
msgstr ""
-#: lexsup.c:419
+#: lexsup.c:428
msgid "Warn if the multiple GP values are used"
msgstr ""
-#: lexsup.c:421
+#: lexsup.c:430
msgid "Warn only once per undefined symbol"
msgstr ""
-#: lexsup.c:423
+#: lexsup.c:432
msgid "Warn if start of section changes due to alignment"
msgstr ""
-#: lexsup.c:426
+#: lexsup.c:435
+msgid "Report unresolved symbols as warnings"
+msgstr ""
+
+#: lexsup.c:437
+msgid "Report unresolved symbols as errors"
+msgstr ""
+
+#: lexsup.c:439
msgid "Treat warnings as errors"
msgstr ""
-#: lexsup.c:429
+#: lexsup.c:442
msgid "Include all objects from following archives"
msgstr ""
-#: lexsup.c:431
-msgid "Use wrapper functions for SYMBOL"
+#: lexsup.c:444
+msgid "Only set DT_NEEDED for following dynamic libs if used"
msgstr ""
-#: lexsup.c:433
-msgid "[=WORDS]"
+#: lexsup.c:446
+msgid "Always set DT_NEEDED for following dynamic libs"
msgstr ""
-#: lexsup.c:433
-msgid ""
-"Modify problematic branches in last WORDS (1-10,\n"
-"\t\t\t\tdefault 5) words of a page"
+#: lexsup.c:448
+msgid "Use wrapper functions for SYMBOL"
msgstr ""
-#: lexsup.c:602
+#: lexsup.c:595
msgid "%P: unrecognized option '%s'\n"
msgstr ""
-#: lexsup.c:604
+#: lexsup.c:597
msgid "%P%F: use the --help option for usage information\n"
msgstr ""
-#: lexsup.c:622
+#: lexsup.c:615
msgid "%P%F: unrecognized -a option `%s'\n"
msgstr ""
-#: lexsup.c:635
+#: lexsup.c:628
msgid "%P%F: unrecognized -assert option `%s'\n"
msgstr ""
-#: lexsup.c:678
+#: lexsup.c:689
msgid "%F%P: unknown demangling style `%s'"
msgstr ""
-#: lexsup.c:737
+#: lexsup.c:748
msgid "%P%F: invalid number `%s'\n"
msgstr ""
+#: lexsup.c:834
+msgid "%P%F: bad --unresolved-symbols option: %s\n"
+msgstr ""
+
#. This can happen if the user put "-rpath,a" on the command
#. line. (Or something similar. The comma is important).
#. Getopt becomes confused and thinks that this is a -r option
@@ -1612,69 +1706,66 @@ msgstr ""
#. an error message here. We cannot just make this a warning,
#. increment optind, and continue because getopt is too confused
#. and will seg-fault the next time around.
-#: lexsup.c:849
+#: lexsup.c:899
msgid "%P%F: bad -rpath option\n"
msgstr ""
-#: lexsup.c:953
+#: lexsup.c:1011
msgid "%P%F: -shared not supported\n"
msgstr ""
-#: lexsup.c:962
+#: lexsup.c:1020
msgid "%P%F: -pie not supported\n"
msgstr ""
-#: lexsup.c:994
+#: lexsup.c:1052
msgid "%P%F: invalid argument to option \"--section-start\"\n"
msgstr ""
-#: lexsup.c:1000
+#: lexsup.c:1058
msgid "%P%F: missing argument(s) to option \"--section-start\"\n"
msgstr ""
-#: lexsup.c:1158
+#: lexsup.c:1222
msgid "%P%F: may not nest groups (--help for usage)\n"
msgstr ""
-#: lexsup.c:1165
+#: lexsup.c:1229
msgid "%P%F: group ended before it began (--help for usage)\n"
msgstr ""
-#: lexsup.c:1179
-msgid "%P%F: invalid argument to option \"mpc860c0\"\n"
-msgstr ""
-
-#: lexsup.c:1234
+#: lexsup.c:1290
msgid "%P%F: invalid hex number `%s'\n"
msgstr ""
-#: lexsup.c:1246
+#: lexsup.c:1302
#, c-format
msgid "Usage: %s [options] file...\n"
msgstr ""
-#: lexsup.c:1248
+#: lexsup.c:1304
+#, c-format
msgid "Options:\n"
msgstr ""
#. Note: Various tools (such as libtool) depend upon the
#. format of the listings below - do not change them.
-#: lexsup.c:1331
+#: lexsup.c:1387
#, c-format
msgid "%s: supported targets:"
msgstr ""
-#: lexsup.c:1339
+#: lexsup.c:1395
#, c-format
msgid "%s: supported emulations: "
msgstr ""
-#: lexsup.c:1344
+#: lexsup.c:1400
#, c-format
msgid "%s: emulation specific options:\n"
msgstr ""
-#: lexsup.c:1348
+#: lexsup.c:1404
#, c-format
msgid "Report bugs to %s\n"
msgstr ""
@@ -1683,67 +1774,68 @@ msgstr ""
msgid "%P%F: unknown format type %s\n"
msgstr ""
-#: pe-dll.c:301
+#: pe-dll.c:304
#, c-format
msgid "%XUnsupported PEI architecture: %s\n"
msgstr ""
-#: pe-dll.c:650
+#: pe-dll.c:653
#, c-format
msgid "%XError, duplicate EXPORT with ordinals: %s (%d vs %d)\n"
msgstr ""
-#: pe-dll.c:657
+#: pe-dll.c:660
#, c-format
msgid "Warning, duplicate EXPORT: %s\n"
msgstr ""
-#: pe-dll.c:723
+#: pe-dll.c:726
#, c-format
msgid "%XCannot export %s: symbol not defined\n"
msgstr ""
-#: pe-dll.c:729
+#: pe-dll.c:732
#, c-format
msgid "%XCannot export %s: symbol wrong type (%d vs %d)\n"
msgstr ""
-#: pe-dll.c:736
+#: pe-dll.c:739
#, c-format
msgid "%XCannot export %s: symbol not found\n"
msgstr ""
-#: pe-dll.c:848
+#: pe-dll.c:851
#, c-format
msgid "%XError, ordinal used twice: %d (%s vs %s)\n"
msgstr ""
-#: pe-dll.c:1165
+#: pe-dll.c:1173
#, c-format
msgid "%XError: %d-bit reloc in dll\n"
msgstr ""
-#: pe-dll.c:1296
+#: pe-dll.c:1304
#, c-format
msgid "%s: Can't open output def file %s\n"
msgstr ""
-#: pe-dll.c:1439
+#: pe-dll.c:1447
+#, c-format
msgid "; no contents available\n"
msgstr ""
-#: pe-dll.c:2203
+#: pe-dll.c:2212
msgid ""
"%C: variable '%T' can't be auto-imported. Please read the documentation for "
"ld's --enable-auto-import for details.\n"
msgstr ""
-#: pe-dll.c:2233
+#: pe-dll.c:2242
#, c-format
msgid "%XCan't open .lib file: %s\n"
msgstr ""
-#: pe-dll.c:2238
+#: pe-dll.c:2247
#, c-format
msgid "Creating library file: %s\n"
msgstr ""
diff --git a/ld/po/sv.po b/ld/po/sv.po
index 63008b2..4c17a25 100644
--- a/ld/po/sv.po
+++ b/ld/po/sv.po
@@ -1,166 +1,166 @@
# Swedish messages for ld.
-# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-# Christian Rose <menthos@menthos.com>, 2001, 2002.
+# Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
+# Christian Rose <menthos@menthos.com>, 2001, 2002, 2004.
#
msgid ""
msgstr ""
-"Project-Id-Version: ld 2.12.91\n"
-"POT-Creation-Date: 2002-07-23 15:58-0400\n"
-"PO-Revision-Date: 2002-07-24 12:31+0200\n"
+"Project-Id-Version: ld 2.14rel030712\n"
+"POT-Creation-Date: 2003-07-11 13:58+0930\n"
+"PO-Revision-Date: 2004-03-22 15:32+0100\n"
"Last-Translator: Christian Rose <menthos@menthos.com>\n"
"Language-Team: Swedish <sv@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
-#: emultempl/armcoff.em:71
+#: emultempl/armcoff.em:72
msgid " --support-old-code Support interworking with old code\n"
msgstr " --support-old-code Stöd interaktion med gammal kod\n"
-#: emultempl/armcoff.em:72
+#: emultempl/armcoff.em:73
msgid " --thumb-entry=<sym> Set the entry point to be Thumb symbol <sym>\n"
msgstr ""
" --thumb-entry=<sym> Ställ in ingångspunkten till att vara tumsymbolen\n"
" <sym>\n"
-#: emultempl/armcoff.em:141
+#: emultempl/armcoff.em:121
#, c-format
msgid "Errors encountered processing file %s"
msgstr "Fel inträffade vid bearbetning av filen %s"
-#: emultempl/armcoff.em:207 emultempl/pe.em:1422
+#: emultempl/armcoff.em:188 emultempl/pe.em:1396
msgid "%P: warning: '--thumb-entry %s' is overriding '-e %s'\n"
msgstr "%P: varning: \"--thumb-entry %s\" åsidosätter \"-e %s\"\n"
-#: emultempl/armcoff.em:212 emultempl/pe.em:1427
+#: emultempl/armcoff.em:193 emultempl/pe.em:1401
msgid "%P: warning: connot find thumb start symbol %s\n"
msgstr "%P: varning: kan inte hitta tumstartsymbol %s\n"
-#: emultempl/pe.em:317
+#: emultempl/pe.em:300
msgid " --base_file <basefile> Generate a base file for relocatable DLLs\n"
msgstr ""
" --base_file <basfil> Generera en basfil för\n"
" omlokaliseringsbara DLL:er\n"
-#: emultempl/pe.em:318
+#: emultempl/pe.em:301
msgid " --dll Set image base to the default for DLLs\n"
msgstr ""
" --dll Ställ in bildbas till standard för\n"
" DLL:er\n"
-#: emultempl/pe.em:319
+#: emultempl/pe.em:302
msgid " --file-alignment <size> Set file alignment\n"
msgstr " --file-alignment <storlek> Ställ in filjustering\n"
-#: emultempl/pe.em:320
+#: emultempl/pe.em:303
msgid " --heap <size> Set initial size of the heap\n"
msgstr " --heap <storlek> Ställ in initial storlek på högen\n"
-#: emultempl/pe.em:321
+#: emultempl/pe.em:304
msgid " --image-base <address> Set start address of the executable\n"
msgstr " --image-base <adress> Ställ in startadressen för det körbara\n"
-#: emultempl/pe.em:322
+#: emultempl/pe.em:305
msgid " --major-image-version <number> Set version number of the executable\n"
msgstr " --major-image-version <nummer> Ställ in versionsnummer för det körbara\n"
-#: emultempl/pe.em:323
+#: emultempl/pe.em:306
msgid " --major-os-version <number> Set minimum required OS version\n"
msgstr " --major-os-version <nummer> Ställ in lägsta nödvändiga OS-version\n"
-#: emultempl/pe.em:324
+#: emultempl/pe.em:307
msgid " --major-subsystem-version <number> Set minimum required OS subsystem version\n"
msgstr ""
" --major-subsystem-version <nummer> Ställ in lägsta nödvändiga\n"
" OS-undersystemsversion\n"
-#: emultempl/pe.em:325
+#: emultempl/pe.em:308
msgid " --minor-image-version <number> Set revision number of the executable\n"
msgstr ""
" --minor-image-version <nummer> Ställ in underrevisionsnummer för\n"
" det körbara\n"
-#: emultempl/pe.em:326
+#: emultempl/pe.em:309
msgid " --minor-os-version <number> Set minimum required OS revision\n"
msgstr " --minor-os-version <nummer> Ställ in lägsta nödvändiga OS-revision\n"
-#: emultempl/pe.em:327
+#: emultempl/pe.em:310
msgid " --minor-subsystem-version <number> Set minimum required OS subsystem revision\n"
msgstr ""
" --minor-subsystem-version <nummer> Ställ in lägsta nödvändiga\n"
" OS-undersystemsrevision\n"
-#: emultempl/pe.em:328
+#: emultempl/pe.em:311
msgid " --section-alignment <size> Set section alignment\n"
msgstr " --section-alignment <storlek> Ställ in sektionsjustering\n"
-#: emultempl/pe.em:329
+#: emultempl/pe.em:312
msgid " --stack <size> Set size of the initial stack\n"
msgstr " --stack <storlek> Ställ in storlek på initiala stacken\n"
-#: emultempl/pe.em:330
+#: emultempl/pe.em:313
msgid " --subsystem <name>[:<version>] Set required OS subsystem [& version]\n"
msgstr ""
" --subsystem <namn>[:<version>] Ställ in nödvändigt OS-undersystem\n"
" [och nödvändig version]\n"
-#: emultempl/pe.em:331
+#: emultempl/pe.em:314
msgid " --support-old-code Support interworking with old code\n"
msgstr " --support-old-code Stöd interaktion med gammal kod\n"
-#: emultempl/pe.em:332
+#: emultempl/pe.em:315
msgid " --thumb-entry=<symbol> Set the entry point to be Thumb <symbol>\n"
msgstr ""
" --thumb-entry=<symbol> Ställ in ingångspunkten till att\n"
" vara tummen <symbol>\n"
-#: emultempl/pe.em:334
+#: emultempl/pe.em:317
msgid " --add-stdcall-alias Export symbols with and without @nn\n"
msgstr " --add-stdcall-alias Exportera symboler med och utan @nn\n"
-#: emultempl/pe.em:335
+#: emultempl/pe.em:318
msgid " --disable-stdcall-fixup Don't link _sym to _sym@nn\n"
msgstr " --disable-stdcall-fixup Länka inte _sym till _sym@nn\n"
-#: emultempl/pe.em:336
+#: emultempl/pe.em:319
msgid " --enable-stdcall-fixup Link _sym to _sym@nn without warnings\n"
msgstr " --enable-stdcall-fixup Länka _sym till _sym@nn utan varningar\n"
-#: emultempl/pe.em:337
+#: emultempl/pe.em:320
msgid " --exclude-symbols sym,sym,... Exclude symbols from automatic export\n"
msgstr ""
" --exclude-symbols sym,sym,... Exkludera symboler från automatisk\n"
" export\n"
-#: emultempl/pe.em:338
+#: emultempl/pe.em:321
msgid " --exclude-libs lib,lib,... Exclude libraries from automatic export\n"
msgstr ""
" --exclude-libs bibl,bibl,... Exkludera bibliotek från automatisk\n"
" export\n"
-#: emultempl/pe.em:339
+#: emultempl/pe.em:322
msgid " --export-all-symbols Automatically export all globals to DLL\n"
msgstr ""
" --export-all-symbols Exportera automatiskt alla symboler\n"
" till DLL\n"
-#: emultempl/pe.em:340
+#: emultempl/pe.em:323
msgid " --kill-at Remove @nn from exported symbols\n"
msgstr " --kill-at Ta bort @nn från exporterade symboler\n"
-#: emultempl/pe.em:341
+#: emultempl/pe.em:324
msgid " --out-implib <file> Generate import library\n"
msgstr " --out-implib <fil> Generera importbibliotek\n"
-#: emultempl/pe.em:342
+#: emultempl/pe.em:325
msgid " --output-def <file> Generate a .DEF file for the built DLL\n"
msgstr " --output-def <fil> Generera en .DEF-fil för byggd DLL\n"
-#: emultempl/pe.em:343
+#: emultempl/pe.em:326
msgid " --warn-duplicate-exports Warn about duplicate exports.\n"
msgstr " --warn-duplicate-exports Varna för dubbla exporter.\n"
-#: emultempl/pe.em:344
+#: emultempl/pe.em:327
msgid ""
" --compat-implib Create backward compatible import libs;\n"
" create __imp_<SYMBOL> as well.\n"
@@ -168,7 +168,7 @@ msgstr ""
" --compat-implib Skapa bakåtkompatibla importbibliotek;\n"
" och skapa även __imp_<SYMBOL>.\n"
-#: emultempl/pe.em:346
+#: emultempl/pe.em:329
msgid ""
" --enable-auto-image-base Automatically choose image base for DLLs\n"
" unless user specifies one\n"
@@ -176,37 +176,57 @@ msgstr ""
" --enable-auto-image-base Välj automatiskt bildbas för DLL:er\n"
" såvida inte användaren anger en\n"
-#: emultempl/pe.em:348
+#: emultempl/pe.em:331
msgid " --disable-auto-image-base Do not auto-choose image base. (default)\n"
msgstr ""
" --disable-auto-image-base Välj inte bildbas automatiskt\n"
" (standard).\n"
-#: emultempl/pe.em:349
+#: emultempl/pe.em:332
msgid ""
-" --dll-search-prefix=<string> When linking dynamically to a dll without an\n"
-" importlib, use <string><basename>.dll \n"
+" --dll-search-prefix=<string> When linking dynamically to a dll without\n"
+" an importlib, use <string><basename>.dll\n"
" in preference to lib<basename>.dll \n"
msgstr ""
" --dll-search-prefix=<sträng> Använd <sträng><basnamn>.dll istället\n"
" för lib<basnamn>.dll vid dynamisk\n"
" länkning utan ett importbibliotek\n"
-#: emultempl/pe.em:352
+#: emultempl/pe.em:335
msgid ""
-" --enable-auto-import Do sophistcated linking of _sym to \n"
+" --enable-auto-import Do sophistcated linking of _sym to\n"
" __imp_sym for DATA references\n"
msgstr ""
" --enable-auto-import Utför sofistikerad länkning av _sym till\n"
" __imp_sym för DATA-referenser\n"
-#: emultempl/pe.em:354
+#: emultempl/pe.em:337
msgid " --disable-auto-import Do not auto-import DATA items from DLLs\n"
msgstr ""
" --disable-auto-import Importera inte DATA-objekt från DLL:er\n"
" automatiskt\n"
-#: emultempl/pe.em:355
+#: emultempl/pe.em:338
+msgid ""
+" --enable-runtime-pseudo-reloc Work around auto-import limitations by\n"
+" adding pseudo-relocations resolved at\n"
+" runtime.\n"
+msgstr ""
+" --enable-runtime-pseudo-reloc Kringgå begränsningar i automatisk\n"
+" import genom att lägga till\n"
+" pseudoomlokaliseringar som löses under\n"
+" körtid.\n"
+
+#: emultempl/pe.em:341
+msgid ""
+" --disable-runtime-pseudo-reloc Do not add runtime pseudo-relocations for\n"
+" auto-imported DATA.\n"
+msgstr ""
+" --disable-runtime-pseudo-reloc Lägg inte till pseudoomlokaliseringar\n"
+" för automatisk importerad DATA under\n"
+" körtid.\n"
+
+#: emultempl/pe.em:343
msgid ""
" --enable-extra-pe-debug Enable verbose debug output when building\n"
" or linking to DLLs (esp. auto-import)\n"
@@ -215,85 +235,82 @@ msgstr ""
" bygge av eller länkning till DLL:er\n"
" (särskilt automatisk import)\n"
-#: emultempl/pe.em:424
+#: emultempl/pe.em:412
msgid "%P: warning: bad version number in -subsystem option\n"
msgstr "%P: varning: felaktigt nummer i flaggan -subsystem\n"
-#: emultempl/pe.em:460
+#: emultempl/pe.em:448
msgid "%P%F: invalid subsystem type %s\n"
msgstr "%P%F: ogiltig typ av undersystem %s\n"
-#: emultempl/pe.em:475
+#: emultempl/pe.em:460
msgid "%P%F: invalid hex number for PE parameter '%s'\n"
msgstr "%P%F: ogiltigt hexadecimalt tal för PE-parametern \"%s\"\n"
-#: emultempl/pe.em:493
+#: emultempl/pe.em:477
msgid "%P%F: strange hex info for PE parameter '%s'\n"
msgstr "%P%F: konstig hexadecimal information för PE-parametern \"%s\"\n"
-#: emultempl/pe.em:532
+#: emultempl/pe.em:494
#, c-format
msgid "%s: Can't open base file %s\n"
msgstr "%s: Kan inte öppna basfilen %s\n"
-#: emultempl/pe.em:738
+#: emultempl/pe.em:707
msgid "%P: warning, file alignment > section alignment.\n"
msgstr "%P: varning, filjusteringen > sektionsjusteringen.\n"
-#: emultempl/pe.em:822 emultempl/pe.em:848
+#: emultempl/pe.em:794 emultempl/pe.em:821
#, c-format
msgid "Warning: resolving %s by linking to %s\n"
msgstr "Varning: löser upp %s genom att länka till %s\n"
-#: emultempl/pe.em:827 emultempl/pe.em:853
+#: emultempl/pe.em:799 emultempl/pe.em:826
msgid "Use --enable-stdcall-fixup to disable these warnings\n"
msgstr "Använd --enable-stdcall-fixup för att stänga av dessa varningar\n"
-#: emultempl/pe.em:828 emultempl/pe.em:854
+#: emultempl/pe.em:800 emultempl/pe.em:827
msgid "Use --disable-stdcall-fixup to disable these fixups\n"
msgstr "Använd --disable-stdcall-fixup för att stänga av dessa korrigeringar\n"
-#: emultempl/pe.em:879
+#: emultempl/pe.em:846
+#, c-format
msgid "%C: Cannot get section contents - auto-import exception\n"
msgstr "%C: Kan inte få tag i sektionsinnehåll - undantag i automatisk import\n"
-#: emultempl/pe.em:887
-msgid "%C: variable '%T' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.\n"
-msgstr "%C: variabeln \"%T\" kan inte importeras automatiskt. Läs dokumentationen för ld:s --enable-auto-import för detaljer.\n"
-
-#: emultempl/pe.em:916
+#: emultempl/pe.em:883
#, c-format
msgid "Info: resolving %s by linking to %s (auto-import)\n"
msgstr "Info: löser upp %s genom att länka till %s (automatisk import)\n"
-#: emultempl/pe.em:997
+#: emultempl/pe.em:954
msgid "%F%P: PE operations on non PE file.\n"
msgstr "%F%P: PE-operationer på fil som inte är PE.\n"
-#: emultempl/pe.em:1226
+#: emultempl/pe.em:1188
#, c-format
msgid "Errors encountered processing file %s\n"
msgstr "Fel uppstod vid behandling av filen %s\n"
-#: emultempl/pe.em:1249
+#: emultempl/pe.em:1211
#, c-format
msgid "Errors encountered processing file %s for interworking"
msgstr "Fel uppstod vid behandling av filen %s för interaktion"
-#: emultempl/pe.em:1305 ldlang.c:2065 ldlang.c:4608 ldlang.c:4641
-#: ldmain.c:1061
+#: emultempl/pe.em:1273 ldlang.c:1904 ldlang.c:4397 ldlang.c:4428
+#: ldmain.c:1122
msgid "%P%F: bfd_link_hash_lookup failed: %E\n"
msgstr "%P%F: bfd_link_hash_lookup misslyckades: %E\n"
-#: ldcref.c:158
+#: ldcref.c:153
msgid "%X%P: bfd_hash_table_init of cref table failed: %E\n"
msgstr "%X%P: bfd_hash_table_init av korsreferenstabellen misslyckades: %E\n"
-#: ldcref.c:164
+#: ldcref.c:159
msgid "%X%P: cref_hash_lookup failed: %E\n"
msgstr "%X%P: cref_hash_lookup misslyckades: %E\n"
-#: ldcref.c:235
+#: ldcref.c:225
msgid ""
"\n"
"Cross Reference Table\n"
@@ -303,31 +320,31 @@ msgstr ""
"Korsreferenstabell\n"
"\n"
-#: ldcref.c:236
+#: ldcref.c:226
msgid "Symbol"
msgstr "Symbol"
-#: ldcref.c:244
+#: ldcref.c:234
msgid "File\n"
msgstr "Fil\n"
-#: ldcref.c:248
+#: ldcref.c:238
msgid "No symbols\n"
msgstr "Inga symboler\n"
-#: ldcref.c:400
+#: ldcref.c:384
msgid "%P: symbol `%T' missing from main hash table\n"
msgstr "%P: symbolen \"%T\" saknas från hastabellen\n"
-#: ldcref.c:465
+#: ldcref.c:448
msgid "%B%F: could not read symbols; %E\n"
msgstr "%B%F: kunde inte läsa symboler; %E\n"
-#: ldcref.c:469 ldmain.c:1127 ldmain.c:1131
+#: ldcref.c:452 ldmain.c:1187 ldmain.c:1191
msgid "%B%F: could not read symbols: %E\n"
msgstr "%B%F: kunde inte läsa symboler: %E\n"
-#: ldcref.c:537 ldcref.c:544 ldmain.c:1177 ldmain.c:1184
+#: ldcref.c:517 ldcref.c:524 ldmain.c:1234 ldmain.c:1241
msgid "%B%F: could not read relocs: %E\n"
msgstr "%B%F: kunde inte läsa omlokaliseringar: %E\n"
@@ -335,27 +352,27 @@ msgstr "%B%F: kunde inte läsa omlokaliseringar: %E\n"
#. in OUTSECNAME. This reloc is from a section which is
#. mapped into a section from which references to OUTSECNAME
#. are prohibited. We must report an error.
-#: ldcref.c:563
+#: ldcref.c:543
msgid "%X%C: prohibited cross reference from %s to `%T' in %s\n"
msgstr "%X%C: förbjuden korsreferens från %s till \"%T\" i %s\n"
-#: ldctor.c:88
+#: ldctor.c:84
msgid "%P%X: Different relocs used in set %s\n"
msgstr "%P%X: Olika omlokaliseringar använda i gruppen %s\n"
-#: ldctor.c:106
+#: ldctor.c:102
msgid "%P%X: Different object file formats composing set %s\n"
msgstr "%P%X: Olika objektfilformat utgör gruppen %s\n"
-#: ldctor.c:288 ldctor.c:302
+#: ldctor.c:281 ldctor.c:295
msgid "%P%X: %s does not support reloc %s for set %s\n"
msgstr "%P%X: %s stöder inte omlokaliseringen %s för gruppen %s\n"
-#: ldctor.c:323
+#: ldctor.c:316
msgid "%P%X: Unsupported size %d for set %s\n"
msgstr "%P%X: Storleken %d för gruppen %s stöds inte\n"
-#: ldctor.c:344
+#: ldctor.c:337
msgid ""
"\n"
"Set Symbol\n"
@@ -365,135 +382,150 @@ msgstr ""
"Grupp Symbol\n"
"\n"
-#: ldemul.c:225
+#: ldemul.c:247
+#, c-format
msgid "%S SYSLIB ignored\n"
msgstr "%S SYSLIB ignorerades\n"
-#: ldemul.c:232
+#: ldemul.c:254
+#, c-format
msgid "%S HLL ignored\n"
msgstr "%S HLL ignorerades\n"
-#: ldemul.c:253
+#: ldemul.c:275
msgid "%P: unrecognised emulation mode: %s\n"
msgstr "%P: okänt emuleringsläge: %s\n"
-#: ldemul.c:254
+#: ldemul.c:276
msgid "Supported emulations: "
msgstr "Emuleringar som stöds: "
-#: ldemul.c:298
+#: ldemul.c:320
msgid " no emulation specific options.\n"
msgstr " inga emuleringsspecifika flaggor.\n"
-#: ldexp.c:174
+#: ldexp.c:148
msgid "%F%P: %s uses undefined section %s\n"
msgstr "%F%P: %s använder odefinierad sektion %s\n"
-#: ldexp.c:176
+#: ldexp.c:150
msgid "%F%P: %s forward reference of section %s\n"
msgstr "%F%P: %s framåtreferens av sektionen %s\n"
-#: ldexp.c:304
+#: ldexp.c:355
+#, c-format
msgid "%F%S %% by zero\n"
msgstr "%F%S %% med noll\n"
-#: ldexp.c:311
+#: ldexp.c:362
+#, c-format
msgid "%F%S / by zero\n"
msgstr "%F%S / med noll\n"
-#: ldexp.c:463
+#: ldexp.c:533
+#, c-format
msgid "%X%S: unresolvable symbol `%s' referenced in expression\n"
msgstr "%X%S: oupplösningsbara symbolen \"%s\" refererades i uttrycket\n"
-#: ldexp.c:483
+#: ldexp.c:553
+#, c-format
msgid "%F%S: undefined symbol `%s' referenced in expression\n"
msgstr "%F%S: odefinierade symbolen \"%s\" refererades i uttrycket\n"
-#: ldexp.c:685
+#: ldexp.c:677
+#, c-format
msgid "%F%S can not PROVIDE assignment to location counter\n"
msgstr "%F%S kan inte TILLHANDAHÅLLA tilldelning till platsräknare\n"
-#: ldexp.c:695
+#: ldexp.c:687
+#, c-format
msgid "%F%S invalid assignment to location counter\n"
msgstr "%F%S ogiltig tilldelning till platsräknare\n"
-#: ldexp.c:699
+#: ldexp.c:691
+#, c-format
msgid "%F%S assignment to location counter invalid outside of SECTION\n"
msgstr "%F%S tilldelning till platsräknare som är ogiltig utanför SEKTION\n"
-#: ldexp.c:708
+#: ldexp.c:700
msgid "%F%S cannot move location counter backwards (from %V to %V)\n"
msgstr "%F%S kan inte flytta platsräknare bakåt (från %V till %V)\n"
-#: ldexp.c:735
+#: ldexp.c:727
msgid "%P%F:%s: hash creation failed\n"
msgstr "%P%F:%s: skapande av hash misslyckades\n"
-#: ldexp.c:1037 ldexp.c:1071
+#: ldexp.c:1003 ldexp.c:1035
+#, c-format
msgid "%F%S nonconstant expression for %s\n"
msgstr "%F%S ickekonstant uttryck för %s\n"
-#: ldexp.c:1126
+#: ldexp.c:1089
+#, c-format
msgid "%F%S non constant expression for %s\n"
msgstr "%F%S ickekonstant uttryck för %s\n"
-#: ldfile.c:105
+#: ldfile.c:144
#, c-format
msgid "attempt to open %s failed\n"
msgstr "försök att öppna %s misslyckades\n"
-#: ldfile.c:107
+#: ldfile.c:146
#, c-format
msgid "attempt to open %s succeeded\n"
msgstr "försök att öppna %s lyckades\n"
-#: ldfile.c:113
+#: ldfile.c:152
msgid "%F%P: invalid BFD target `%s'\n"
msgstr "%F%P: ogiltigt BFD-mål \"%s\"\n"
-#: ldfile.c:142
+#: ldfile.c:258 ldfile.c:275
msgid "%P: skipping incompatible %s when searching for %s\n"
msgstr "%P: hoppar över inkompatibel %s vid sökning av %s\n"
-#: ldfile.c:234
+#: ldfile.c:377
msgid "%F%P: cannot open %s for %s: %E\n"
msgstr "%F%P: kan inte öppna %s för %s: %E\n"
-#: ldfile.c:237
+#: ldfile.c:380
msgid "%F%P: cannot open %s: %E\n"
msgstr "%F%P: kan inte öppna %s: %E\n"
-#: ldfile.c:267
+#: ldfile.c:410
+msgid "%F%P: cannot find %s inside %s\n"
+msgstr "%F%P: kan inte hitta %s inuti %s\n"
+
+#: ldfile.c:413
msgid "%F%P: cannot find %s\n"
msgstr "%F%P: kan inte hitta %s\n"
-#: ldfile.c:286 ldfile.c:302
+#: ldfile.c:430 ldfile.c:446
#, c-format
msgid "cannot find script file %s\n"
msgstr "kan inte hitta skriptfilen %s\n"
-#: ldfile.c:288 ldfile.c:304
+#: ldfile.c:432 ldfile.c:448
#, c-format
msgid "opened script file %s\n"
msgstr "öppnade skriptfilen %s\n"
-#: ldfile.c:353
+#: ldfile.c:492
msgid "%P%F: cannot open linker script file %s: %E\n"
msgstr "%P%F: kan inte öppna länkskriptfilen %s: %E\n"
-#: ldfile.c:391
+#: ldfile.c:529
msgid "%P%F: unknown architecture: %s\n"
msgstr "%P%F: okänd arkitektur: %s\n"
-#: ldfile.c:407
+#: ldfile.c:543
msgid "%P%F: target architecture respecified\n"
msgstr "%P%F: målarkitekturen specifierades om\n"
-#: ldfile.c:461
+#: ldfile.c:594
msgid "%P%F: cannot represent machine `%s'\n"
msgstr "%P%F: kan inte representera maskinen \"%s\"\n"
-#: ldlang.c:784
+#: ldlang.c:640
msgid ""
"\n"
"Memory Configuration\n"
@@ -503,23 +535,23 @@ msgstr ""
"Minneskonfiguration\n"
"\n"
-#: ldlang.c:786
+#: ldlang.c:642
msgid "Name"
msgstr "Namn"
-#: ldlang.c:786
+#: ldlang.c:642
msgid "Origin"
msgstr "Början"
-#: ldlang.c:786
+#: ldlang.c:642
msgid "Length"
msgstr "Längd"
-#: ldlang.c:786
+#: ldlang.c:642
msgid "Attributes"
msgstr "Attribut"
-#: ldlang.c:828
+#: ldlang.c:682
msgid ""
"\n"
"Linker script and memory map\n"
@@ -529,161 +561,166 @@ msgstr ""
"Länkskript och minnestabell\n"
"\n"
-#: ldlang.c:845
+#: ldlang.c:698
msgid "%P%F: Illegal use of `%s' section\n"
msgstr "%P%F: Otillåten användning av sektionen \"%s\"\n"
-#: ldlang.c:855
+#: ldlang.c:707
msgid "%P%F: output format %s cannot represent section called %s\n"
msgstr "%P%F: utdataformatet %s kan inte representera sektionen kallad %s\n"
-#: ldlang.c:1016
+#: ldlang.c:867
msgid "%P: %B: warning: ignoring duplicate section `%s'\n"
msgstr "%P: %B: varning: ignorerar dubbel sektion \"%s\"\n"
-#: ldlang.c:1019
+#: ldlang.c:870
msgid "%P: %B: warning: ignoring duplicate `%s' section symbol `%s'\n"
msgstr "%P: %B: varning: ignorerar dubbla \"%s\"-sektionssymbolen \"%s\"\n"
-#: ldlang.c:1033
+#: ldlang.c:884
msgid "%P: %B: warning: duplicate section `%s' has different size\n"
msgstr "%P: %B: varning: dubbla sektionen \"%s\" har annan storlek\n"
-#: ldlang.c:1084
+#: ldlang.c:936
msgid "%P%F: Failed to create hash table\n"
msgstr "%P%F: Misslyckades med att skapa hashtabell\n"
-#: ldlang.c:1503
+#: ldlang.c:1351
msgid "%B: file not recognized: %E\n"
msgstr "%B: filen inte igenkänd: %E\n"
-#: ldlang.c:1504
+#: ldlang.c:1352
msgid "%B: matching formats:"
msgstr "%B: matchande format:"
-#: ldlang.c:1511
+#: ldlang.c:1359
msgid "%F%B: file not recognized: %E\n"
msgstr "%F%B: filen inte igenkänd: %E\n"
-#: ldlang.c:1567
+#: ldlang.c:1418
msgid "%F%B: member %B in archive is not an object\n"
msgstr "%F%B: medlem %B i arkivet är inte ett objekt\n"
-#: ldlang.c:1578 ldlang.c:1592
+#: ldlang.c:1429 ldlang.c:1443
msgid "%F%B: could not read symbols: %E\n"
msgstr "%F%B: kunde inte läsa symboler: %E\n"
-#: ldlang.c:1853
+#: ldlang.c:1698
msgid "%P: warning: could not find any targets that match endianness requirement\n"
msgstr "%P: varning: kunde inte hitta några mål som matchar kravet på endianess\n"
-#: ldlang.c:1866
+#: ldlang.c:1711
msgid "%P%F: target %s not found\n"
msgstr "%P%F: målet %s hittades inte\n"
-#: ldlang.c:1868
+#: ldlang.c:1713
msgid "%P%F: cannot open output file %s: %E\n"
msgstr "%P%F: kan inte öppna utdatafilen %s: %E\n"
-#: ldlang.c:1878
+#: ldlang.c:1723
msgid "%P%F:%s: can not make object file: %E\n"
msgstr "%P%F:%s: kan inte skapa objektfilen: %E\n"
-#: ldlang.c:1882
+#: ldlang.c:1727
msgid "%P%F:%s: can not set architecture: %E\n"
msgstr "%P%F:%s: kan inte ställa in arkitektur: %E\n"
-#: ldlang.c:1886
+#: ldlang.c:1731
msgid "%P%F: can not create link hash table: %E\n"
msgstr "%P%F: kan inte skapa hashtabell över länkar: %E\n"
-#: ldlang.c:2235
+#: ldlang.c:2069
msgid " load address 0x%V"
msgstr " inläsningsadress 0x%V"
-#: ldlang.c:2375
+#: ldlang.c:2204
msgid "%W (size before relaxing)\n"
msgstr "%W (storlek innan avslappning)\n"
-#: ldlang.c:2462
+#: ldlang.c:2288
#, c-format
msgid "Address of section %s set to "
msgstr "Adressen på sektionen %s ställd till "
-#: ldlang.c:2623
+#: ldlang.c:2443
#, c-format
msgid "Fail with %d\n"
msgstr "Misslyckas med %d\n"
-#: ldlang.c:2868
+#: ldlang.c:2683
msgid "%X%P: section %s [%V -> %V] overlaps section %s [%V -> %V]\n"
msgstr "%X%P: sektionen %s [%V -> %V] överlappar med sektionen %s [%V -> %V]\n"
-#: ldlang.c:2897
+#: ldlang.c:2711
msgid "%X%P: address 0x%v of %B section %s is not within region %s\n"
msgstr "%X%P: adressen 0x%v i %B-sektionen %s är inte inom området %s\n"
-#: ldlang.c:2905
+#: ldlang.c:2719
msgid "%X%P: region %s is full (%B section %s)\n"
msgstr "%X%P: området %s är fullt (%B-sektion %s)\n"
-#: ldlang.c:2955
+#: ldlang.c:2770
msgid "%P%X: Internal error on COFF shared library section %s\n"
msgstr "%P%X: Internt fel i delat COFF-bibliotek sektion %s\n"
-#: ldlang.c:2999
-msgid "%P: warning: no memory region specified for section `%s'\n"
-msgstr "%P: varning: inget minnesområde angivet för sektionen \"%s\"\n"
+#: ldlang.c:2826
+msgid "%P%F: error: no memory region specified for loadable section `%s'\n"
+msgstr "%P%F: fel: inget minnesområde angivet för inläsbara sektionen \"%s\"\n"
-#: ldlang.c:3014
+#: ldlang.c:2830
+msgid "%P: warning: no memory region specified for loadable section `%s'\n"
+msgstr "%P: varning: inget minnesområde angivet för inläsbara sektionen \"%s\"\n"
+
+#: ldlang.c:2846
msgid "%P: warning: changing start of section %s by %u bytes\n"
msgstr "%P: varning: ändrar start på sektionen %s med %u byte\n"
-#: ldlang.c:3028
+#: ldlang.c:2859
+#, c-format
msgid "%F%S: non constant address expression for section %s\n"
msgstr "%F%S: ickekonstant adressuttryck för sektionen %s\n"
-#: ldlang.c:3203
+#: ldlang.c:3036
msgid "%P%F: can't relax section: %E\n"
msgstr "%P%F: kan inte slappna av sektion: %E\n"
-#: ldlang.c:3398
+#: ldlang.c:3232
msgid "%F%P: invalid data statement\n"
msgstr "%F%P: ogiltig datasats\n"
-#: ldlang.c:3435
+#: ldlang.c:3269
msgid "%F%P: invalid reloc statement\n"
msgstr "%F%P: ogiltig omlokaliseringssats\n"
-#: ldlang.c:3574
+#: ldlang.c:3408
msgid "%P%F:%s: can't set start address\n"
msgstr "%P%F:%s: kan inte ställa in startadress\n"
-#: ldlang.c:3587 ldlang.c:3605
+#: ldlang.c:3421 ldlang.c:3439
msgid "%P%F: can't set start address\n"
msgstr "%P%F: kan inte ställa in startadress\n"
-#: ldlang.c:3599
+#: ldlang.c:3433
msgid "%P: warning: cannot find entry symbol %s; defaulting to %V\n"
msgstr "%P: varning: kan inte hitta ingångssymbolen %s; använder som standard %V\n"
-#: ldlang.c:3610
+#: ldlang.c:3444
msgid "%P: warning: cannot find entry symbol %s; not setting start address\n"
msgstr "%P: varning: kan inte hitta ingångssymbolen %s; ställer inte in startadress\n"
-#: ldlang.c:3660
+#: ldlang.c:3488
msgid "%P%F: Relocatable linking with relocations from format %s (%B) to format %s (%B) is not supported\n"
msgstr "%P%F: Omlokaliseringsbar länkning med omlänkningar från formatet %s (%B) till formatet %s (%B) stöds inte\n"
-#: ldlang.c:3669
+#: ldlang.c:3497
msgid "%P: warning: %s architecture of input file `%B' is incompatible with %s output\n"
msgstr "%P: varning: %s-arkitekturen i indatafilen \"%B\" är inkompatibel med %s-utdata\n"
-#: ldlang.c:3690
+#: ldlang.c:3518
msgid "%E%X: failed to merge target specific data of file %B\n"
msgstr "%E%X: misslyckades med att slå samman målspecifik data i filen %B\n"
-#: ldlang.c:3779
+#: ldlang.c:3604
msgid ""
"\n"
"Allocating common symbols\n"
@@ -691,7 +728,7 @@ msgstr ""
"\n"
"Allokerar gemensamma symboler\n"
-#: ldlang.c:3780
+#: ldlang.c:3605
msgid ""
"Common symbol size file\n"
"\n"
@@ -702,158 +739,158 @@ msgstr ""
#. This message happens when using the
#. svr3.ifile linker script, so I have
#. disabled it.
-#: ldlang.c:3858
+#: ldlang.c:3681
msgid "%P: no [COMMON] command, defaulting to .bss\n"
msgstr "%P: inget [COMMON]-kommando, använder standardalternativet .bss\n"
-#: ldlang.c:3917
+#: ldlang.c:3737
msgid "%P%F: invalid syntax in flags\n"
msgstr "%P%F: ogiltig syntax i flaggor\n"
-#: ldlang.c:4532
+#: ldlang.c:4325
msgid "%P%Fmultiple STARTUP files\n"
msgstr "%P%Fflera samtidiga STARTUP-filer\n"
-#: ldlang.c:4575
+#: ldlang.c:4368
msgid "%X%P:%S: section has both a load address and a load region\n"
msgstr "%X%P:%S: sektionen har både en inläsningsadress och ett minnesinläsningsområde\n"
-#: ldlang.c:4825
+#: ldlang.c:4608
msgid "%F%P: bfd_record_phdr failed: %E\n"
msgstr "%F%P: bfd_record_phdr misslyckades: %E\n"
-#: ldlang.c:4844
+#: ldlang.c:4627
msgid "%X%P: section `%s' assigned to non-existent phdr `%s'\n"
msgstr "%X%P: sektionen \"%s\" är tilldelad till ickexisterande phvd \"%s\"\n"
-#: ldlang.c:5143
+#: ldlang.c:4919
msgid "%X%P: unknown language `%s' in version information\n"
msgstr "%X%P: okänt språk i \"%s\" i versionsinformation\n"
-#: ldlang.c:5195
+#: ldlang.c:4969
msgid "%X%P: anonymous version tag cannot be combined with other version tags\n"
msgstr "%X%P: anonym versionstagg kan inte kombineras med andra versionstaggar\n"
-#: ldlang.c:5202
+#: ldlang.c:4977
msgid "%X%P: duplicate version tag `%s'\n"
msgstr "%X%P: dubbel versionstagg \"%s\"\n"
-#: ldlang.c:5215 ldlang.c:5228
+#: ldlang.c:4990 ldlang.c:5003
msgid "%X%P: duplicate expression `%s' in version information\n"
msgstr "%X%P: dubbelt uttryck \"%s\" i versionsinformation\n"
-#: ldlang.c:5270
+#: ldlang.c:5043
msgid "%X%P: unable to find version dependency `%s'\n"
msgstr "%X%P: kan inte hitta versionsberoende \"%s\"\n"
-#: ldlang.c:5292
+#: ldlang.c:5065
msgid "%X%P: unable to read .exports section contents\n"
msgstr "%X%P: kan inte läsa innehållet i .exports-sektionen\n"
-#: ldmain.c:198
+#: ldmain.c:247
msgid "%X%P: can't set BFD default target to `%s': %E\n"
msgstr "%X%P: kan inte ställa in BSD-standardmålet till \"%s\": %E\n"
-#: ldmain.c:290
+#: ldmain.c:349
msgid "%P%F: -r and --mpc860c0 may not be used together\n"
msgstr "%P%F: -r och --mpc860c0 kan inte användas tillsammans\n"
-#: ldmain.c:292
+#: ldmain.c:351
msgid "%P%F: --relax and -r may not be used together\n"
msgstr "%P%F: --relax och -r kan inte användas tillsammans\n"
-#: ldmain.c:294
+#: ldmain.c:353
msgid "%P%F: -r and -shared may not be used together\n"
msgstr "%P%F: -r och -shared kan inte användas tillsammans\n"
-#: ldmain.c:300
+#: ldmain.c:359
msgid "%P%F: -F may not be used without -shared\n"
msgstr "%P%F: -F kan inte användas utan -shared\n"
-#: ldmain.c:302
+#: ldmain.c:361
msgid "%P%F: -f may not be used without -shared\n"
msgstr "%P%F: -f kan inte användas utan -shared\n"
-#: ldmain.c:341
+#: ldmain.c:403
msgid "using external linker script:"
msgstr "använder externt länkskript:"
-#: ldmain.c:343
+#: ldmain.c:405
msgid "using internal linker script:"
msgstr "använder internt länkskript:"
-#: ldmain.c:377
+#: ldmain.c:439
msgid "%P%F: no input files\n"
msgstr "%P%F: inga indatafiler\n"
-#: ldmain.c:382
+#: ldmain.c:443
msgid "%P: mode %s\n"
msgstr "%P: läge %s\n"
-#: ldmain.c:399
+#: ldmain.c:459
msgid "%P%F: cannot open map file %s: %E\n"
msgstr "%P%F: kan inte öppna tabellfil %s: %E\n"
-#: ldmain.c:432
+#: ldmain.c:489
msgid "%P: link errors found, deleting executable `%s'\n"
msgstr "%P: länkfel hittades, tar bort den körbara filen \"%s\"\n"
-#: ldmain.c:443
+#: ldmain.c:498
msgid "%F%B: final close failed: %E\n"
msgstr "%F%B: avslutande stängning misslyckades: %E\n"
-#: ldmain.c:467
+#: ldmain.c:524
msgid "%X%P: unable to open for source of copy `%s'\n"
msgstr "%X%P: kan inte öppna för källkoden till kopian \"%s\"\n"
-#: ldmain.c:469
+#: ldmain.c:527
msgid "%X%P: unable to open for destination of copy `%s'\n"
msgstr "%X%P: kan inte öppna för mål av kopian \"%s\"\n"
-#: ldmain.c:475
+#: ldmain.c:534
msgid "%P: Error writing file `%s'\n"
msgstr "%P: Fel vid skrivning av filen \"%s\"\n"
-#: ldmain.c:481 pe-dll.c:1463
+#: ldmain.c:539 pe-dll.c:1443
#, c-format
msgid "%P: Error closing file `%s'\n"
msgstr "%P: Fel vid stängning av filen \"%s\"\n"
-#: ldmain.c:498
+#: ldmain.c:555
#, c-format
msgid "%s: total time in link: %ld.%06ld\n"
msgstr "%s: total tid i länkning: %ld.%06ld\n"
-#: ldmain.c:501
+#: ldmain.c:558
#, c-format
msgid "%s: data size %ld\n"
msgstr "%s: datastorlek %ld\n"
-#: ldmain.c:542
+#: ldmain.c:596
msgid "%P%F: missing argument to -m\n"
msgstr "%P%F: argument saknas till -m\n"
-#: ldmain.c:670 ldmain.c:691 ldmain.c:722
+#: ldmain.c:741 ldmain.c:759 ldmain.c:789
msgid "%P%F: bfd_hash_table_init failed: %E\n"
msgstr "%P%F: bfd_hash_table_init misslyckades: %E\n"
-#: ldmain.c:675 ldmain.c:694
+#: ldmain.c:745 ldmain.c:763
msgid "%P%F: bfd_hash_lookup failed: %E\n"
msgstr "%P%F: bfd_hash_lookup misslyckades: %E\n"
-#: ldmain.c:709
+#: ldmain.c:777
msgid "%X%P: error: duplicate retain-symbols-file\n"
msgstr "%X%P: fel: dubbel retain-symbols-file\n"
-#: ldmain.c:753
+#: ldmain.c:819
msgid "%P%F: bfd_hash_lookup for insertion failed: %E\n"
msgstr "%P%F: bfd_hash_lookup för ingång misslyckades: %E\n"
-#: ldmain.c:758
+#: ldmain.c:824
msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n"
msgstr "%P: \"-retain-symbols-file\" åsidosätter \"-s\" och \"-S\"\n"
-#: ldmain.c:834
+#: ldmain.c:899
msgid ""
"Archive member included because of file (symbol)\n"
"\n"
@@ -861,154 +898,155 @@ msgstr ""
"Arkivmedlem inkluderad på grund av fil (symbol)\n"
"\n"
-#: ldmain.c:905
+#: ldmain.c:969
msgid "%X%C: multiple definition of `%T'\n"
msgstr "%X%C: flera defintioner av \"%T\"\n"
-#: ldmain.c:908
+#: ldmain.c:972
msgid "%D: first defined here\n"
msgstr "%D: först definierad här\n"
-#: ldmain.c:912
+#: ldmain.c:976
msgid "%P: Disabling relaxation: it will not work with multiple definitions\n"
msgstr "%P: Stänger av avslappning: det kommer inte att fungera med flera definitioner\n"
-#: ldmain.c:943
+#: ldmain.c:1006
msgid "%B: warning: definition of `%T' overriding common\n"
msgstr "%B: varning: definitioner av \"%T\" åsidosätter gemensam\n"
-#: ldmain.c:946
+#: ldmain.c:1009
msgid "%B: warning: common is here\n"
msgstr "%B: varning: gemensam är här\n"
-#: ldmain.c:953
+#: ldmain.c:1016
msgid "%B: warning: common of `%T' overridden by definition\n"
msgstr "%B: varning: gemensam i \"%T\" åsidosattes av definition\n"
-#: ldmain.c:956
+#: ldmain.c:1019
msgid "%B: warning: defined here\n"
msgstr "%B: varning: definierad här\n"
-#: ldmain.c:963
+#: ldmain.c:1026
msgid "%B: warning: common of `%T' overridden by larger common\n"
msgstr "%B: varning: gemensam i \"%T\" åsidosattes av större gemensam\n"
-#: ldmain.c:966
+#: ldmain.c:1029
msgid "%B: warning: larger common is here\n"
msgstr "%B: varning: större gemensam är här\n"
-#: ldmain.c:970
+#: ldmain.c:1033
msgid "%B: warning: common of `%T' overriding smaller common\n"
msgstr "%B: varning: gemensam i \"%T\" åsidosätter mindre gemensam\n"
-#: ldmain.c:973
+#: ldmain.c:1036
msgid "%B: warning: smaller common is here\n"
msgstr "%B: varning: mindre gemensam är här\n"
-#: ldmain.c:977
+#: ldmain.c:1040
msgid "%B: warning: multiple common of `%T'\n"
msgstr "%B: varning: flera gemensamma i \"%T\"\n"
-#: ldmain.c:979
+#: ldmain.c:1042
msgid "%B: warning: previous common is here\n"
msgstr "%B: varning: föregående gemensam är här\n"
-#: ldmain.c:1000 ldmain.c:1039
+#: ldmain.c:1062 ldmain.c:1100
msgid "%P: warning: global constructor %s used\n"
msgstr "%P: varning: global konstruktor %s användes\n"
-#: ldmain.c:1049
+#: ldmain.c:1110
msgid "%P%F: BFD backend error: BFD_RELOC_CTOR unsupported\n"
msgstr "%P%F: Fel i BFD-backend: BFD_RELOC_CTOR stöds inte\n"
-#: ldmain.c:1233
+#: ldmain.c:1287 ldmisc.c:533
msgid "%F%P: bfd_hash_table_init failed: %E\n"
msgstr "%F%P: bfd_hash_table_init misslyckades: %E\n"
-#: ldmain.c:1240
+#: ldmain.c:1294 ldmisc.c:540
msgid "%F%P: bfd_hash_lookup failed: %E\n"
msgstr "%F%P: bfd_hash_lookup misslyckades: %E\n"
-#: ldmain.c:1260
+#: ldmain.c:1314
msgid "%C: undefined reference to `%T'\n"
msgstr "%C: odefinierad referens till \"%T\"\n"
-#: ldmain.c:1266
+#: ldmain.c:1320
msgid "%D: more undefined references to `%T' follow\n"
msgstr "%D: flera odefinierade referenser till \"%T\" följer\n"
-#: ldmain.c:1273
+#: ldmain.c:1327
msgid "%B: undefined reference to `%T'\n"
msgstr "%B: odefinierad referens till \"%T\"\n"
-#: ldmain.c:1279
+#: ldmain.c:1333
msgid "%B: more undefined references to `%T' follow\n"
msgstr "%B: flera odefinierade referenser till \"%T\" följer\n"
-#: ldmain.c:1299 ldmain.c:1320 ldmain.c:1339
+#: ldmain.c:1364 ldmain.c:1392 ldmain.c:1410
msgid "%P%X: generated"
msgstr "%P%X: genererad"
-#: ldmain.c:1302
+#: ldmain.c:1371
+msgid " additional relocation overflows omitted from the output\n"
+msgstr " ytterligare omlokaliseringsspill utelämnade från utdatan\n"
+
+#: ldmain.c:1375
msgid " relocation truncated to fit: %s %T"
msgstr " omlokalisering trunkerad för att passa: %s %T"
-#: ldmain.c:1323
+#: ldmain.c:1395
#, c-format
msgid "dangerous relocation: %s\n"
msgstr "farlig omlokalisering: %s\n"
-#: ldmain.c:1342
+#: ldmain.c:1413
msgid " reloc refers to symbol `%T' which is not being output\n"
msgstr " omlokalisering refererar till symbolen \"%T\" som inte skrivs ut\n"
-#: ldmisc.c:157
+#: ldmisc.c:147
msgid "no symbol"
msgstr "ingen symbol"
-#: ldmisc.c:221
+#: ldmisc.c:211
#, c-format
msgid "built in linker script:%u"
msgstr "inbyggt länkskript:%u"
-#: ldmisc.c:271 ldmisc.c:275
+#: ldmisc.c:260 ldmisc.c:264
msgid "%B%F: could not read symbols\n"
msgstr "%B%F: kunde inte läsa symboler\n"
-#. We use abfd->filename in this initial line,
-#. in case filename is a .h file or something
-#. similarly unhelpful.
-#: ldmisc.c:311
-msgid "%B: In function `%T':\n"
-msgstr "%B: I funktionen \"%T\":\n"
+#: ldmisc.c:291
+msgid ": In function `%T':\n"
+msgstr ": I funktionen \"%T\":\n"
-#: ldmisc.c:463
+#: ldmisc.c:438
msgid "%F%P: internal error %s %d\n"
msgstr "%F%P: internt fel %s %d\n"
-#: ldmisc.c:513
+#: ldmisc.c:484
msgid "%P: internal error: aborting at %s line %d in %s\n"
msgstr "%P: internt fel: avbryter vid %s rad %d i %s\n"
-#: ldmisc.c:516
+#: ldmisc.c:487
msgid "%P: internal error: aborting at %s line %d\n"
msgstr "%P: internt fel: avbryter vid %s rad %d\n"
-#: ldmisc.c:518
+#: ldmisc.c:489
msgid "%P%F: please report this bug\n"
msgstr "%P%F: rapportera detta fel\n"
#. Output for noisy == 2 is intended to follow the GNU standards.
-#: ldver.c:38
+#: ldver.c:39
#, c-format
msgid "GNU ld version %s\n"
msgstr "GNU ld version %s\n"
-#: ldver.c:42
+#: ldver.c:43
msgid "Copyright 2002 Free Software Foundation, Inc.\n"
msgstr "Copyright 2002 Free Software Foundation, Inc.\n"
-#: ldver.c:43
+#: ldver.c:44
msgid ""
"This program is free software; you may redistribute it under the terms of\n"
"the GNU General Public License. This program has absolutely no warranty.\n"
@@ -1017,371 +1055,398 @@ msgstr ""
"villkoren i GNU General Public License. Detta program har ingen som\n"
"helst garanti.\n"
-#: ldver.c:52
+#: ldver.c:53
msgid " Supported emulations:\n"
msgstr " Emuleringar som stöds:\n"
-#: ldwrite.c:59 ldwrite.c:195
+#: ldwrite.c:54 ldwrite.c:190
msgid "%P%F: bfd_new_link_order failed\n"
msgstr "%P%F: bfd_new_link_order misslyckades\n"
-#: ldwrite.c:325
+#: ldwrite.c:310
msgid "%F%P: clone section failed: %E\n"
msgstr "%F%P: klonsektion misslyckades: %E\n"
-#: ldwrite.c:364
+#: ldwrite.c:348
#, c-format
msgid "%8x something else\n"
msgstr "%8x någonting annat\n"
-#: ldwrite.c:547
+#: ldwrite.c:525
msgid "%F%P: final link failed: %E\n"
msgstr "%F%P: avslutande länkning misslyckades: %E\n"
-#: lexsup.c:172 lexsup.c:267
+#: lexsup.c:179 lexsup.c:284
msgid "KEYWORD"
msgstr "NYCKELORD"
-#: lexsup.c:172
+#: lexsup.c:179
msgid "Shared library control for HP/UX compatibility"
msgstr "Styrning av delade bibliotek för kompatibilitet med HP/UX"
-#: lexsup.c:175
+#: lexsup.c:182
msgid "ARCH"
msgstr "ARK"
-#: lexsup.c:175
+#: lexsup.c:182
msgid "Set architecture"
msgstr "Ställ in arkitektur"
-#: lexsup.c:177 lexsup.c:336
+#: lexsup.c:184 lexsup.c:357
msgid "TARGET"
msgstr "MÅL"
-#: lexsup.c:177
+#: lexsup.c:184
msgid "Specify target for following input files"
msgstr "Ange mål för följande indatafiler"
-#: lexsup.c:179 lexsup.c:220 lexsup.c:232 lexsup.c:241 lexsup.c:312
-#: lexsup.c:343 lexsup.c:383
+#: lexsup.c:186 lexsup.c:229 lexsup.c:241 lexsup.c:254 lexsup.c:329
+#: lexsup.c:364 lexsup.c:408
msgid "FILE"
msgstr "FIL"
-#: lexsup.c:179
+#: lexsup.c:186
msgid "Read MRI format linker script"
msgstr "Läs länkskript i MRI-format"
-#: lexsup.c:181
+#: lexsup.c:188
msgid "Force common symbols to be defined"
msgstr "Tvinga gemensamma symboler att vara definierade"
-#: lexsup.c:185 lexsup.c:373 lexsup.c:375 lexsup.c:377
+#: lexsup.c:192 lexsup.c:398 lexsup.c:400 lexsup.c:402
msgid "ADDRESS"
msgstr "ADRESS"
-#: lexsup.c:185
+#: lexsup.c:192
msgid "Set start address"
msgstr "Ställ in startadress"
-#: lexsup.c:187
+#: lexsup.c:194
msgid "Export all dynamic symbols"
msgstr "Exportera alla dynamiska symboler"
-#: lexsup.c:189
+#: lexsup.c:196
msgid "Link big-endian objects"
msgstr "Länka objekt som är big-endian"
-#: lexsup.c:191
+#: lexsup.c:198
msgid "Link little-endian objects"
msgstr "Länka objekt som är little-endian"
-#: lexsup.c:193 lexsup.c:196
+#: lexsup.c:200 lexsup.c:203
msgid "SHLIB"
msgstr "DELBIBL"
-#: lexsup.c:193
+#: lexsup.c:200
msgid "Auxiliary filter for shared object symbol table"
msgstr "Yttre filter för symboltabell över delade objekt"
-#: lexsup.c:196
+#: lexsup.c:203
msgid "Filter for shared object symbol table"
msgstr "Filter för symboltabell över delade objekt"
-#: lexsup.c:198
+#: lexsup.c:205
msgid "Ignored"
msgstr "Ignorerad"
-#: lexsup.c:200
+#: lexsup.c:207
msgid "SIZE"
msgstr "STORLEK"
-#: lexsup.c:200
+#: lexsup.c:207
msgid "Small data size (if no size, same as --shared)"
msgstr "Liten datastorlek (om ingen storlek, samma som --shared)"
-#: lexsup.c:203
+#: lexsup.c:210
msgid "FILENAME"
msgstr "FILNAMN"
-#: lexsup.c:203
+#: lexsup.c:210
msgid "Set internal name of shared library"
msgstr "Ställ in internt namn på delat bibliotek"
-#: lexsup.c:205
+#: lexsup.c:212
msgid "PROGRAM"
msgstr "PROGRAM"
-#: lexsup.c:205
+#: lexsup.c:212
msgid "Set PROGRAM as the dynamic linker to use"
msgstr "Ställ in PROGRAM som den dynamiska länkare som ska användas"
-#: lexsup.c:207
+#: lexsup.c:214
msgid "LIBNAME"
msgstr "BIBLNAMN"
-#: lexsup.c:207
+#: lexsup.c:214
msgid "Search for library LIBNAME"
msgstr "Sök efter biblioteket BIBLNAMN"
-#: lexsup.c:209
+#: lexsup.c:216
msgid "DIRECTORY"
msgstr "KATALOG"
-#: lexsup.c:209
+#: lexsup.c:216
msgid "Add DIRECTORY to library search path"
msgstr "Lägg till KATALOG till bibliotekssökvägen"
-#: lexsup.c:211
+#: lexsup.c:218
msgid "EMULATION"
msgstr "EMULERING"
-#: lexsup.c:211
+#: lexsup.c:218
msgid "Set emulation"
msgstr "Ställ in emulering"
-#: lexsup.c:213
+#: lexsup.c:220
msgid "Print map file on standard output"
msgstr "Visa tabellfil på standard ut"
-#: lexsup.c:215
+#: lexsup.c:222
msgid "Do not page align data"
msgstr "Justera inte data efter jämna sidor"
-#: lexsup.c:217
+#: lexsup.c:224
msgid "Do not page align data, do not make text readonly"
msgstr "Justera inte data efter jämna sidor, gör inte texten endast läsbar"
-#: lexsup.c:220
+#: lexsup.c:227
+msgid "Page align data, make text readonly"
+msgstr "Sidjustera data, gör texten endast läsbar"
+
+#: lexsup.c:229
msgid "Set output file name"
msgstr "Ställ in utdatafilnamnet"
-#: lexsup.c:222
+#: lexsup.c:231
msgid "Optimize output file"
msgstr "Optimera utdatafil"
-#: lexsup.c:224
+#: lexsup.c:233
msgid "Ignored for SVR4 compatibility"
msgstr "Ignorerad för kompatibilitet med SVR4"
-#: lexsup.c:228
-msgid "Generate relocateable output"
+#: lexsup.c:237
+msgid "Generate relocatable output"
msgstr "Generera omlokaliseringsbar utdata"
-#: lexsup.c:232
+#: lexsup.c:241
msgid "Just link symbols (if directory, same as --rpath)"
msgstr "Länka bara symboler (om katalog, samma som --rpath)"
-#: lexsup.c:235
+#: lexsup.c:244
msgid "Strip all symbols"
msgstr "Ta bort alla symboler"
-#: lexsup.c:237
+#: lexsup.c:246
msgid "Strip debugging symbols"
msgstr "Ta bort felsökningssymboler"
-#: lexsup.c:239
+#: lexsup.c:248
+msgid "Strip symbols in discarded sections"
+msgstr "Ta bort symboler i kastade sektioner"
+
+#: lexsup.c:250
+msgid "Do not strip symbols in discarded sections"
+msgstr "Ta inte bort symboler i kastade sektioner"
+
+#: lexsup.c:252
msgid "Trace file opens"
msgstr "Spåra filöppningar"
-#: lexsup.c:241
+#: lexsup.c:254
msgid "Read linker script"
msgstr "Läs länkskript"
-#: lexsup.c:243 lexsup.c:259 lexsup.c:298 lexsup.c:310 lexsup.c:367
-#: lexsup.c:386 lexsup.c:406
+#: lexsup.c:256 lexsup.c:272 lexsup.c:315 lexsup.c:327 lexsup.c:392
+#: lexsup.c:411 lexsup.c:431
msgid "SYMBOL"
msgstr "SYMBOL"
-#: lexsup.c:243
+#: lexsup.c:256
msgid "Start with undefined reference to SYMBOL"
msgstr "Börja med odefinierad referens till SYMBOL"
-#: lexsup.c:245
+#: lexsup.c:258
msgid "[=SECTION]"
msgstr "[=SEKTION]"
-#: lexsup.c:245
+#: lexsup.c:258
msgid "Don't merge input [SECTION | orphan] sections"
msgstr "Slå inte samman [SEKTION | föräldralösa] sektioner"
-#: lexsup.c:247
+#: lexsup.c:260
msgid "Build global constructor/destructor tables"
msgstr "Bygg globala konstruktors-/destruktorstabeller"
-#: lexsup.c:249
+#: lexsup.c:262
msgid "Print version information"
msgstr "Visa versionsinformation"
-#: lexsup.c:251
+#: lexsup.c:264
msgid "Print version and emulation information"
msgstr "Visa versions- och emuleringsinformation"
-#: lexsup.c:253
+#: lexsup.c:266
msgid "Discard all local symbols"
msgstr "Kasta alla lokala symboler"
-#: lexsup.c:255
+#: lexsup.c:268
msgid "Discard temporary local symbols (default)"
msgstr "Kasta temporära lokala symboler (standard)"
-#: lexsup.c:257
+#: lexsup.c:270
msgid "Don't discard any local symbols"
msgstr "Kasta inte några lokala symboler"
-#: lexsup.c:259
+#: lexsup.c:272
msgid "Trace mentions of SYMBOL"
msgstr "Spåra omnämningar av SYMBOL"
-#: lexsup.c:261 lexsup.c:345 lexsup.c:347
+#: lexsup.c:274 lexsup.c:366 lexsup.c:368
msgid "PATH"
msgstr "SÖKVÄG"
-#: lexsup.c:261
+#: lexsup.c:274
msgid "Default search path for Solaris compatibility"
msgstr "Standardsökväg för Solaris-kompatibilitet"
-#: lexsup.c:263
+#: lexsup.c:276
msgid "Start a group"
msgstr "Starta en grupp"
-#: lexsup.c:265
+#: lexsup.c:278
msgid "End a group"
msgstr "Sluta en grupp"
-#: lexsup.c:267
+#: lexsup.c:280
+msgid "Accept input files whose architecture cannot be determined"
+msgstr "Acceptera indatafiler vars arkitektur inte kan avgöras"
+
+#: lexsup.c:282
+msgid "Reject input files whose architecture is unknown"
+msgstr "Avvisa indatafiler vars arkitektur är okänd"
+
+#: lexsup.c:284
msgid "Ignored for SunOS compatibility"
msgstr "Ignorerad för SunOS-kompatibilitet"
-#: lexsup.c:269
+#: lexsup.c:286
msgid "Link against shared libraries"
msgstr "Länka mot delade bibliotek"
-#: lexsup.c:275
+#: lexsup.c:292
msgid "Do not link against shared libraries"
msgstr "Länka inte mot delade bibliotek"
-#: lexsup.c:283
+#: lexsup.c:300
msgid "Bind global references locally"
msgstr "Bind globala referenser lokalt"
-#: lexsup.c:285
+#: lexsup.c:302
msgid "Check section addresses for overlaps (default)"
msgstr "Kontrollera sektionsadresser för överlappningar (standard)"
-#: lexsup.c:287
+#: lexsup.c:304
msgid "Do not check section addresses for overlaps"
msgstr "Kontrollera inte sektionsadresser för överlappningar"
-#: lexsup.c:290
+#: lexsup.c:307
msgid "Output cross reference table"
msgstr "Skapa korsreferenstabell"
-#: lexsup.c:292
+#: lexsup.c:309
msgid "SYMBOL=EXPRESSION"
msgstr "SYMBOL=UTTRYCK"
-#: lexsup.c:292
+#: lexsup.c:309
msgid "Define a symbol"
msgstr "Definiera en symbol"
-#: lexsup.c:294
+#: lexsup.c:311
msgid "[=STYLE]"
msgstr "[=STIL]"
-#: lexsup.c:294
+#: lexsup.c:311
msgid "Demangle symbol names [using STYLE]"
msgstr "Avkoda symbolnamn [använd STIL]"
-#: lexsup.c:296
+#: lexsup.c:313
msgid "Generate embedded relocs"
msgstr "Generera inbäddade omlokaliseringar"
-#: lexsup.c:298
+#: lexsup.c:315
msgid "Call SYMBOL at unload-time"
msgstr "Anropa SYMBOL vid urladdning"
-#: lexsup.c:300
+#: lexsup.c:317
msgid "Force generation of file with .exe suffix"
msgstr "Tvinga generering av fil med ändelsen .exe"
-#: lexsup.c:302
+#: lexsup.c:319
msgid "Remove unused sections (on some targets)"
msgstr "Ta bort oanvända sektioner (på vissa mål)"
-#: lexsup.c:305
+#: lexsup.c:322
msgid "Don't remove unused sections (default)"
msgstr "Ta inte bort oanvända sektioner (standard)"
-#: lexsup.c:308
+#: lexsup.c:325
msgid "Print option help"
msgstr "Visa hjälp om flaggor"
-#: lexsup.c:310
+#: lexsup.c:327
msgid "Call SYMBOL at load-time"
msgstr "Anropa SYMBOL vid inläsning"
-#: lexsup.c:312
+#: lexsup.c:329
msgid "Write a map file"
msgstr "Skriv en tabellfil"
-#: lexsup.c:314
+#: lexsup.c:331
msgid "Do not define Common storage"
msgstr "Definiera inte gemensam lagring"
-#: lexsup.c:316
+#: lexsup.c:333
msgid "Do not demangle symbol names"
msgstr "Avkoda inte symbolnamn"
-#: lexsup.c:318
+#: lexsup.c:335
msgid "Use less memory and more disk I/O"
msgstr "Använd mindre minne och mer disk-I/O"
-#: lexsup.c:320
+#: lexsup.c:337
msgid "Allow no undefined symbols"
msgstr "Tillåt inga odefinierade symboler"
-#: lexsup.c:322
-msgid "Allow undefined symbols in shared objects"
-msgstr "Tillåt odefinierade symboler i delade objekt"
+#: lexsup.c:339
+msgid "Allow undefined symbols in shared objects (the default)"
+msgstr "Tillåt odefinierade symboler i delade objekt (standardalternativet)"
+
+#: lexsup.c:341
+msgid "Do not allow undefined symbols in shared objects"
+msgstr "Tillåt inte odefinierade symboler i delade objekt"
-#: lexsup.c:324
+#: lexsup.c:343
msgid "Allow multiple definitions"
msgstr "Tillåt flera defintioner"
-# src/prefs.c:170
-#: lexsup.c:326
+#: lexsup.c:345
+msgid "Disallow undefined version"
+msgstr "Tillåt inte odefinierad version"
+
+#: lexsup.c:347
msgid "Don't warn about mismatched input files"
msgstr "Varna inte om opassande indatafiler"
-#: lexsup.c:328
+#: lexsup.c:349
msgid "Turn off --whole-archive"
msgstr "Slå av ---whole-archive"
-#: lexsup.c:330
+#: lexsup.c:351
msgid "Create an output file even if errors occur"
msgstr "Skapa en utdatafil även om fel förekommer"
-#: lexsup.c:334
+#: lexsup.c:355
msgid ""
"Only use library directories specified on\n"
"\t\t\t\tthe command line"
@@ -1389,107 +1454,111 @@ msgstr ""
"Använd endast bibliotekskataloger som anges\n"
"\t\t\t\tpå kommandoraden"
-#: lexsup.c:336
+#: lexsup.c:357
msgid "Specify target of output file"
msgstr "Ange mål för utdatafil"
-#: lexsup.c:338
+#: lexsup.c:359
msgid "Ignored for Linux compatibility"
msgstr "Ignorerad för kompatibilitet med Linux"
-#: lexsup.c:340
+#: lexsup.c:361
msgid "Relax branches on certain targets"
msgstr "Slappna av greningar på vissa mål"
-#: lexsup.c:343
+#: lexsup.c:364
msgid "Keep only symbols listed in FILE"
msgstr "Behåll endast symboler angivna i FIL"
-#: lexsup.c:345
+#: lexsup.c:366
msgid "Set runtime shared library search path"
msgstr "Ställ in körtidssökväg för delade bibliotek"
-#: lexsup.c:347
+#: lexsup.c:368
msgid "Set link time shared library search path"
msgstr "Ställ in länkningstidssökväg för delade bibliotek"
-#: lexsup.c:349
+#: lexsup.c:370
msgid "Create a shared library"
msgstr "Skapa ett delat bibliotek"
-#: lexsup.c:353
+#: lexsup.c:374
+msgid "Create a position independent executable"
+msgstr "Skapa en positionsoberoende körbar fil"
+
+#: lexsup.c:378
msgid "Sort common symbols by size"
msgstr "Sortera gemensamma symboler efter storlek"
-#: lexsup.c:357
+#: lexsup.c:382
msgid "COUNT"
msgstr "ANTAL"
-#: lexsup.c:357
+#: lexsup.c:382
msgid "How many tags to reserve in .dynamic section"
msgstr "Hur många taggar som ska reserveras i .dynamic-sektion"
-#: lexsup.c:359
+#: lexsup.c:384
msgid "[=SIZE]"
msgstr "[=STORLEK]"
-#: lexsup.c:359
+#: lexsup.c:384
msgid "Split output sections every SIZE octets"
msgstr "Dela utdatasektioner var STORLEK oktett"
-#: lexsup.c:361
+#: lexsup.c:386
msgid "[=COUNT]"
msgstr "[=ANTAL]"
-#: lexsup.c:361
+#: lexsup.c:386
msgid "Split output sections every COUNT relocs"
msgstr "Dela utdatasektioner var ANTAL omlokalisering"
-#: lexsup.c:363
+#: lexsup.c:388
msgid "Print memory usage statistics"
msgstr "Visa statistik över minnesanvändning"
-#: lexsup.c:365
+#: lexsup.c:390
msgid "Display target specific options"
msgstr "Visa målspecifika flaggor"
-#: lexsup.c:367
+#: lexsup.c:392
msgid "Do task level linking"
msgstr "Utför länkning på uppgiftsnivå"
-#: lexsup.c:369
+#: lexsup.c:394
msgid "Use same format as native linker"
msgstr "Använd samma format som inhemska länkaren"
-#: lexsup.c:371
+#: lexsup.c:396
msgid "SECTION=ADDRESS"
msgstr "SEKTION=ADRESS"
-#: lexsup.c:371
+#: lexsup.c:396
msgid "Set address of named section"
msgstr "Ställ in adress på namngiven sektion"
-#: lexsup.c:373
+#: lexsup.c:398
msgid "Set address of .bss section"
msgstr "Ställ in adress på .bss-sektion"
-#: lexsup.c:375
+#: lexsup.c:400
msgid "Set address of .data section"
msgstr "Ställ in adress på .data-sektion"
-#: lexsup.c:377
+#: lexsup.c:402
msgid "Set address of .text section"
msgstr "Ställ in adress på .text-sektion"
-#: lexsup.c:379
+#: lexsup.c:404
msgid "Output lots of information during link"
msgstr "Visa mycket information under länkning"
-#: lexsup.c:383
+#: lexsup.c:408
msgid "Read version information script"
msgstr "Läs skript med versionsinformation"
-#: lexsup.c:386
+#: lexsup.c:411
msgid ""
"Take export symbols list from .exports, using\n"
"\t\t\t\tSYMBOL as the version."
@@ -1497,43 +1566,43 @@ msgstr ""
"Plocka lista med exportsymboler från .exports och\n"
"\t\t\t\tanvänd SYMBOL som version."
-#: lexsup.c:389
+#: lexsup.c:414
msgid "Warn about duplicate common symbols"
msgstr "Varna för dubbla gemensamma symboler"
-#: lexsup.c:391
+#: lexsup.c:416
msgid "Warn if global constructors/destructors are seen"
msgstr "Varna om globala konstruktorer/destruktorer hittas"
-#: lexsup.c:394
+#: lexsup.c:419
msgid "Warn if the multiple GP values are used"
msgstr "Varna om flera GP-värden används"
-#: lexsup.c:396
+#: lexsup.c:421
msgid "Warn only once per undefined symbol"
msgstr "Varna endast en gång per odefinierad symbol"
-#: lexsup.c:398
+#: lexsup.c:423
msgid "Warn if start of section changes due to alignment"
msgstr "Varna om början på sektionen ändras på grund av justering"
-#: lexsup.c:401
+#: lexsup.c:426
msgid "Treat warnings as errors"
msgstr "Behandla varningar som fel"
-#: lexsup.c:404
+#: lexsup.c:429
msgid "Include all objects from following archives"
msgstr "Inkludera alla objekt från följande arkiv"
-#: lexsup.c:406
+#: lexsup.c:431
msgid "Use wrapper functions for SYMBOL"
msgstr "Använd inkapslingsfunktioner för SYMBOL"
-#: lexsup.c:408
+#: lexsup.c:433
msgid "[=WORDS]"
msgstr "[=ORD]"
-#: lexsup.c:408
+#: lexsup.c:433
msgid ""
"Modify problematic branches in last WORDS (1-10,\n"
"\t\t\t\tdefault 5) words of a page"
@@ -1541,27 +1610,27 @@ msgstr ""
"Ändra problematiska greningar i sista ORD (1-10,\n"
"\t\t\t\tstandardvärde 5) orden på en sida"
-#: lexsup.c:574
+#: lexsup.c:602
msgid "%P: unrecognized option '%s'\n"
msgstr "%P: okänd flagga \"%s\"\n"
-#: lexsup.c:576
+#: lexsup.c:604
msgid "%P%F: use the --help option for usage information\n"
msgstr "%P%F: använd flaggan --help för användningsinformation\n"
-#: lexsup.c:595
+#: lexsup.c:622
msgid "%P%F: unrecognized -a option `%s'\n"
msgstr "%P%F: okänd -a-flagga \"%s\"\n"
-#: lexsup.c:608
+#: lexsup.c:635
msgid "%P%F: unrecognized -assert option `%s'\n"
msgstr "%P%F: okänd -assert-flagga \"%s\"\n"
-#: lexsup.c:651
+#: lexsup.c:678
msgid "%F%P: unknown demangling style `%s'"
msgstr "%F%P: okänd avkodningsstil \"%s\""
-#: lexsup.c:711
+#: lexsup.c:737
msgid "%P%F: invalid number `%s'\n"
msgstr "%P%F: ogiltigt tal \"%s\"\n"
@@ -1573,134 +1642,155 @@ msgstr "%P%F: ogiltigt tal \"%s\"\n"
#. an error message here. We cannot just make this a warning,
#. increment optind, and continue because getopt is too confused
#. and will seg-fault the next time around.
-#: lexsup.c:812
+#: lexsup.c:849
msgid "%P%F: bad -rpath option\n"
msgstr "%P%F: okänd -rpath-flagga\n"
-#: lexsup.c:910
+#: lexsup.c:953
msgid "%P%F: -shared not supported\n"
msgstr "%P%F: -shared stöds inte\n"
-#: lexsup.c:942
+#: lexsup.c:962
+msgid "%P%F: -pie not supported\n"
+msgstr "%P%F: -pie stöds inte\n"
+
+#: lexsup.c:994
msgid "%P%F: invalid argument to option \"--section-start\"\n"
msgstr "%P%F: ogiltigt argument till flaggan \"--section-start\"\n"
-#: lexsup.c:948
+#: lexsup.c:1000
msgid "%P%F: missing argument(s) to option \"--section-start\"\n"
msgstr "%P%F: argument saknas till flaggan \"--section-start\"\n"
-#: lexsup.c:1097
+#: lexsup.c:1158
msgid "%P%F: may not nest groups (--help for usage)\n"
msgstr "%P%F: får inte nästla grupper (--help för användning)\n"
-#: lexsup.c:1104
+#: lexsup.c:1165
msgid "%P%F: group ended before it began (--help for usage)\n"
msgstr "%P%F: gruppen slutade innan den började (--help för användning)\n"
-#: lexsup.c:1118
+#: lexsup.c:1179
msgid "%P%F: invalid argument to option \"mpc860c0\"\n"
msgstr "%P%F: ogiltigt argument till flaggan \"mpc860c0\"\n"
-#: lexsup.c:1173
+#: lexsup.c:1234
msgid "%P%F: invalid hex number `%s'\n"
msgstr "%P%F: ogiltigt hexadecimalt tal \"%s\"\n"
-#: lexsup.c:1185
+#: lexsup.c:1246
#, c-format
msgid "Usage: %s [options] file...\n"
msgstr "Användning: %s [flaggor] fil...\n"
-#: lexsup.c:1187
+#: lexsup.c:1248
msgid "Options:\n"
msgstr "Alternativ:\n"
#. Note: Various tools (such as libtool) depend upon the
#. format of the listings below - do not change them.
-#: lexsup.c:1270
+#: lexsup.c:1331
#, c-format
msgid "%s: supported targets:"
msgstr "%s: mål som stöds:"
-#: lexsup.c:1278
+#: lexsup.c:1339
#, c-format
msgid "%s: supported emulations: "
msgstr "%s: emuleringar som stöds: "
-#: lexsup.c:1283
+#: lexsup.c:1344
#, c-format
msgid "%s: emulation specific options:\n"
msgstr "%s: emuleringsspecifika flaggor:\n"
-#: lexsup.c:1287
+#: lexsup.c:1348
#, c-format
msgid "Report bugs to %s\n"
msgstr ""
"Rapportera fel till %s\n"
"Rapportera fel i översättningen till sv@li.org\n"
-#: mri.c:334
+#: mri.c:307
msgid "%P%F: unknown format type %s\n"
msgstr "%P%F: okänd formattyp %s\n"
-#: pe-dll.c:321
+#: pe-dll.c:301
#, c-format
msgid "%XUnsupported PEI architecture: %s\n"
msgstr "%XPEI-arkitekturen stöds inte: %s\n"
-#: pe-dll.c:671
+#: pe-dll.c:650
#, c-format
msgid "%XError, duplicate EXPORT with ordinals: %s (%d vs %d)\n"
msgstr "%XFel, dubbel EXPORT med ordinaler: %s (%d gentemot %d)\n"
-#: pe-dll.c:678
+#: pe-dll.c:657
#, c-format
msgid "Warning, duplicate EXPORT: %s\n"
msgstr "Varning, dubbel EXPORT: %s\n"
-#: pe-dll.c:742
+#: pe-dll.c:723
#, c-format
msgid "%XCannot export %s: symbol not defined\n"
msgstr "%XKan inte exportera %s: symbolen är inte definierad\n"
-#: pe-dll.c:748
+#: pe-dll.c:729
#, c-format
msgid "%XCannot export %s: symbol wrong type (%d vs %d)\n"
msgstr "%XKan inte exportera %s: symbolen är av fel typ (%d gentemot %d)\n"
-#: pe-dll.c:755
+#: pe-dll.c:736
#, c-format
msgid "%XCannot export %s: symbol not found\n"
msgstr "%XKan inte exportera %s: symbolen hittades inte\n"
-#: pe-dll.c:870
+#: pe-dll.c:848
#, c-format
msgid "%XError, ordinal used twice: %d (%s vs %s)\n"
msgstr "%XFel, ordinalen användes två gånger: %d (%s gentemot %s)\n"
-#: pe-dll.c:1181
+#: pe-dll.c:1165
#, c-format
msgid "%XError: %d-bit reloc in dll\n"
msgstr "%XFel: %d-bitars omlokalisering i dll\n"
-#: pe-dll.c:1316
+#: pe-dll.c:1296
#, c-format
msgid "%s: Can't open output def file %s\n"
msgstr "%s: Kan inte öppna utdatadefinitionsfilen %s\n"
-#: pe-dll.c:1459
+#: pe-dll.c:1439
msgid "; no contents available\n"
msgstr "; inget innehåll är tillgängligt\n"
-#: pe-dll.c:2128
+#: pe-dll.c:2203
+msgid "%C: variable '%T' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.\n"
+msgstr "%C: variabeln \"%T\" kan inte importeras automatiskt. Läs dokumentationen för ld:s --enable-auto-import för detaljer.\n"
+
+#: pe-dll.c:2233
#, c-format
msgid "%XCan't open .lib file: %s\n"
msgstr "%XKan inte öppna .lib-filen: %s\n"
-#: pe-dll.c:2133
+#: pe-dll.c:2238
#, c-format
msgid "Creating library file: %s\n"
msgstr "Skapar biblioteksfil: %s\n"
+#~ msgid ""
+#~ " --enable-auto-import Do sophisticated linking of _sym to\n"
+#~ " __imp_sym for DATA references\n"
+#~ msgstr ""
+#~ " --enable-auto-import Utför sofistikerad länkning av _sym till\n"
+#~ " __imp_sym för DATA-referenser\n"
+
+#~ msgid "%B: In function `%T':\n"
+#~ msgstr "%B: I funktionen \"%T\":\n"
+
+#~ msgid "Allow undefined symbols in shared objects"
+#~ msgstr "Tillåt odefinierade symboler i delade objekt"
+
#~ msgid " create __imp_<SYMBOL> as well.\n"
#~ msgstr " skapa även __imp_<SYMBOL>.\n"
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
index 187a289..63551a2 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -264,6 +264,7 @@ cat <<EOF
{
${RELOCATING+${TEXT_START_SYMBOLS}}
*(.text .stub${RELOCATING+ .text.* .gnu.linkonce.t.*})
+ KEEP (*(.text.*personality*))
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
${RELOCATING+${OTHER_TEXT_SECTIONS}}
@@ -311,13 +312,14 @@ cat <<EOF
{
${RELOCATING+${DATA_START_SYMBOLS}}
*(.data${RELOCATING+ .data.* .gnu.linkonce.d.*})
+ KEEP (*(.gnu.linkonce.d.*personality*))
${CONSTRUCTING+SORT(CONSTRUCTORS)}
}
.data1 ${RELOCATING-0} : { *(.data1) }
.tdata ${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*}) }
.tbss ${RELOCATING-0} : { *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+ *(.tcommon)} }
.eh_frame ${RELOCATING-0} : { KEEP (*(.eh_frame)) }
- .gcc_except_table ${RELOCATING-0} : { *(.gcc_except_table) }
+ .gcc_except_table ${RELOCATING-0} : { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) }
${WRITABLE_RODATA+${RODATA}}
${OTHER_READWRITE_SECTIONS}
${TEXT_DYNAMIC-${DYNAMIC}}
diff --git a/ld/scripttempl/elf32cr16c.sc b/ld/scripttempl/elf32cr16c.sc
new file mode 100644
index 0000000..b02edfd
--- /dev/null
+++ b/ld/scripttempl/elf32cr16c.sc
@@ -0,0 +1,52 @@
+# Linker Script for National Semiconductor's CR16C-ELF32.
+
+test -z "$ENTRY" && ENTRY=_start
+cat <<EOF
+
+/* Example Linker Script for linking NS CR16C or CR16CPlus
+ elf32 files, which were compiled with either the near data
+ model or the default data model. */
+
+/* Force the entry point to be entered in the output file as
+ an undefined symbol. This is needed in case the entry point
+ (which is not called explicitly) is in an archive (which is
+ the usual case). */
+
+EXTERN(${ENTRY})
+
+ENTRY(${ENTRY})
+
+MEMORY
+{
+ near_rom : ORIGIN = 0x4, LENGTH = 512K - 4
+ near_ram : ORIGIN = 512K, LENGTH = 512K - 64K
+ rom : ORIGIN = 1M, LENGTH = 3M
+ ram : ORIGIN = 4M, LENGTH = 10M
+}
+
+SECTIONS
+{
+/* The heap is located in near memory, to suit both the near and
+ default data models. The heap and stack are aligned to the bus
+ width, as a speed optimization for accessing data located
+ there. The alignment to 4 bytes is compatible for both the CR16C
+ bus width (2 bytes) and CR16CPlus bus width (4 bytes). */
+
+ .text : { __TEXT_START = .; *(.text) __TEXT_END = .; } > rom
+ .rdata : { __RDATA_START = .; *(.rdata_4) *(.rdata_2) *(.rdata_1) __RDATA_END = .; } > near_rom
+ .ctor ALIGN(4) : { __CTOR_LIST = .; *(.ctors) __CTOR_END = .; } > near_rom
+ .dtor ALIGN(4) : { __DTOR_LIST = .; *(.dtors) __DTOR_END = .; } > near_rom
+ .data : { __DATA_START = .; *(.data_4) *(.data_2) *(.data_1) *(.data) __DATA_END = .; } > ram AT > rom
+ .bss (NOLOAD) : { __BSS_START = .; *(.bss_4) *(.bss_2) *(.bss_1) *(.bss) *(COMMON) __BSS_END = .; } > ram
+ .nrdata : { __NRDATA_START = .; *(.nrdat_4) *(.nrdat_2) *(.nrdat_1) __NRDATA_END = .; } > near_rom
+ .ndata : { __NDATA_START = .; *(.ndata_4) *(.ndata_2) *(.ndata_1) __NDATA_END = .; } > near_ram AT > rom
+ .nbss (NOLOAD) : { __NBSS_START = .; *(.nbss_4) *(.nbss_2) *(.nbss_1) *(.ncommon) __NBSS_END = .; } > near_ram
+ .heap : { . = ALIGN(4); __HEAP_START = .; . += 0x2000; __HEAP_MAX = .; } > near_ram
+ .stack : { . = ALIGN(4); . += 0x6000; __STACK_START = .; } > ram
+ .istack : { . = ALIGN(2); . += 0x100; __ISTACK_START = .; } > ram
+}
+
+__DATA_IMAGE_START = LOADADDR(.data);
+__NDATA_IMAGE_START = LOADADDR(.ndata);
+
+EOF
diff --git a/ld/scripttempl/mips.sc b/ld/scripttempl/mips.sc
index d60aeed..972351f 100644
--- a/ld/scripttempl/mips.sc
+++ b/ld/scripttempl/mips.sc
@@ -29,9 +29,6 @@ SECTIONS
*(.init)
${RELOCATING+ eprol = .};
*(.text)
- ${RELOCATING+PROVIDE (__runtime_reloc_start = .);}
- *(.rel.sdata)
- ${RELOCATING+PROVIDE (__runtime_reloc_stop = .);}
*(.fini)
${RELOCATING+ etext = .};
${RELOCATING+ _etext = .};
diff --git a/ld/scripttempl/pe.sc b/ld/scripttempl/pe.sc
index da09eb4..60d4ed1 100644
--- a/ld/scripttempl/pe.sc
+++ b/ld/scripttempl/pe.sc
@@ -58,9 +58,9 @@ SECTIONS
*(.glue_7t)
*(.glue_7)
${CONSTRUCTING+ ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
- LONG (-1); *(SORT(.ctors.*)); *(.ctors); *(.ctor); LONG (0); }
+ LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*)); LONG (0); }
${CONSTRUCTING+ ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
- LONG (-1); *(SORT(.dtors.*)); *(.dtors); *(.dtor); LONG (0); }
+ LONG (-1); *(.dtors); *(.dtor); *(SORT(.dtors.*)); LONG (0); }
${RELOCATING+ *(.fini)}
/* ??? Why is .gcc_exc here? */
${RELOCATING+ *(.gcc_exc)}
@@ -159,13 +159,91 @@ SECTIONS
.stab ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
{
- [ .stab ]
+ *(.stab)
}
.stabstr ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
{
- [ .stabstr ]
+ *(.stabstr)
}
+ /* DWARF debug sections.
+ Symbols in the DWARF debugging sections are relative to the beginning
+ of the section. Unlike other targets that fake this by putting the
+ section VMA at 0, the PE format will not allow it. */
+
+ /* DWARF 1.1 and DWARF 2. */
+ .debug_aranges ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_aranges)
+ }
+
+ .debug_pubnames ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_pubnames)
+ }
+
+ /* DWARF 2. */
+ .debug_info ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_info) *(.gnu.linkonce.wi.*)
+ }
+
+ .debug_abbrev ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_abbrev)
+ }
+
+ .debug_line ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_line)
+ }
+
+ .debug_frame ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_frame)
+ }
+
+ .debug_str ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_str)
+ }
+
+ .debug_loc ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_loc)
+ }
+
+ .debug_macinfo ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_macinfo)
+ }
+
+ /* SGI/MIPS DWARF 2 extensions. */
+ .debug_weaknames ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_weaknames)
+ }
+
+ .debug_funcnames ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_funcnames)
+ }
+
+ .debug_typenames ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_typenames)
+ }
+
+ .debug_varnames ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_varnames)
+ }
+
+ /* DWARF 3. */
+ .debug_ranges ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_ranges)
+ }
}
EOF
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 807c08b..5a89dca 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,161 @@
+2004-04-24 Chris Demetriou <cgd@broadcom.com>
+
+ * ld-elf/merge.d: XFAIL on all MIPS targets.
+
+2004-04-24 Alan Modra <amodra@bigpond.net.au>
+
+ * ld-powerpc/tlsexe32.d: Update.
+ * ld-powerpc/tlsso32.d: Update.
+
+2004-04-23 Chris Demetriou <cgd@broadcom.com>
+
+ * ld-mips-elf/reloc-3-r.d: Remove, as part of MIPS -membedded-pic
+ removal.
+ * ld-mips-elf/reloc-3-srec.d: Likewise.
+ * ld-mips-elf/reloc-3.ld: Likewise.
+ * ld-mips-elf/reloc-3a.s: Likewise.
+ * ld-mips-elf/reloc-3b.s: Likewise.
+ * ld-mips-elf/mips-elf.exp: Don't run now-removed tests.
+
+2004-04-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * ld-sh/tlsbin-1.d: Update
+ * ld-sh/tlspic-1.d: Update.
+
+2004-04-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-i386/tlspic.dd: Updated.
+
+2004-04-21 Chris Demetriou <cgd@broadcom.com>
+
+ * ld-empic/run.c: Removed as part of MIPS --embedded-relocs removal.
+ * ld-empic/empic.exp: Likewise.
+ * ld-empic/relax.t: Likewise.
+ * ld-empic/relax1.c: Likewise.
+ * ld-empic/relax2.c: Likewise.
+ * ld-empic/relax3.c: Likewise.
+ * ld-empic/relax4.c: Likewise.
+ * ld-empic/runtest1.c: Likewise.
+ * ld-empic/runtest2.c: Likewise.
+ * ld-empic/runtesti.s: Likewise.
+ * ld-mips-elf/empic1-ln.d: Likewise.
+ * ld-mips-elf/empic1-lp.d: Likewise.
+ * ld-mips-elf/empic1-mn.d: Likewise.
+ * ld-mips-elf/empic1-mp.d: Likewise.
+ * ld-mips-elf/empic1-ref.s: Likewise.
+ * ld-mips-elf/empic1-sn.d: Likewise.
+ * ld-mips-elf/empic1-sp.d: Likewise.
+ * ld-mips-elf/empic1-space.s: Likewise.
+ * ld-mips-elf/empic1-tgt.s: Likewise.
+ * ld-mips-elf/empic2-fwd-0.d: Likewise.
+ * ld-mips-elf/empic2-fwd-1.d: Likewise.
+ * ld-mips-elf/empic2-fwd-tgt.s: Likewise.
+ * ld-mips-elf/empic2-ref.s: Likewise.
+ * ld-mips-elf/empic2-rev-0.d: Likewise.
+ * ld-mips-elf/empic2-rev-1.d: Likewise.
+ * ld-mips-elf/empic2-rev-tgt.s: Likewise.
+ * ld-mips-elf/empic2-space.s: Likewise.
+ * ld-mips-elf/emrelocs-eb.d: Likewise.
+ * ld-mips-elf/emrelocs-el.d: Likewise.
+ * ld-mips-elf/emrelocs.ld: Likewise.
+ * ld-mips-elf/emrelocs1.s: Likewise.
+ * ld-mips-elf/emrelocs2.s: Likewise.
+ * ld-mips-elf/mips-elf.exp: Don't run now-removed tests.
+
+2004-04-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-elfweak/elfweak.exp: Add an undefined weak size change
+ test.
+
+ * ld-elfweak/size.dat: New file.
+ * ld-elfweak/size_bar.c: Likewise.
+ * ld-elfweak/size_foo.c: Likewise.
+ * ld-elfweak/size_main.c: Likewise.
+
+2004-04-14 Brian Ford <ford@vss.fsi.com>
+ DJ Delorie <dj@redhat.com>
+
+ * ld-pe/pe.exp: New, tests for i?86 PE.
+ * ld-pe/secrel1.s: New, test R_SECREL32 reloc.
+ * ld-pe/secrel2.s: Likewise.
+ * ld-pe/secrel.d: Likewise.
+
+2004-04-19 Jakub Jelinek <jakub@redhat.com>
+
+ * ld-elfvsb/elfvsb.exp: XFAIL some tests on sparc64.
+ * ld-shared/shared.exp: Likewise.
+
+2004-04-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-scripts/assert.s: Add a newline.
+ * ld-scripts/data.s: Likewise.
+
+2004-04-08 Alan Modra <amodra@bigpond.net.au>
+
+ PR 47.
+ * ld-cdtest/cdtest.exp: Remove -fgnu-linker.
+
+2004-04-08 Alan Modra <amodra@bigpond.net.au>
+
+ * ld-scripts/align.exp: Don't run on aix.
+ * ld-scripts/assert.s: Remove comment.
+ * ld-scripts/data.s: Likewise.
+ * ld-scripts/data.t: Set start address to allow for aout headers.
+ Make first LONG pc-relative.
+ * ld-scripts/data.d: Update.
+ * ld-scripts/defined2.d: Allow other random syms.
+ * ld-scripts/defined3.d: Likewise.
+ * ld-scripts/provide-1.s: Pad section.
+ * ld-scripts/provide-1.t: Set .data address and align.
+ * ld-scripts/provide-1.d: Update.
+ * ld-scripts/provide-2.s: Pad section.
+ * ld-scripts/provide-2.d: Allow random trailing syms.
+ * ld-scripts/provide-3.s: Pad section.
+ * ld-scripts/provide-3.d: Fix typos.
+ * ld-scripts/provide.exp: Don't run on aix.
+ * ld-scripts/size-1.s: Simplify test.
+ * ld-scripts/size-1.t: Rewrite.
+ * ld-scripts/size-1.d: Update.
+ * ld-scripts/size-2.s: Simplify.
+ * ld-scripts/size-2.t: Set start address. Set exe flag on image.
+ * ld-scripts/size-2.d: Update.
+ * ld-scripts/size.exp: Don't run on aix. Run size-2 on all elf
+ targets except mips.
+
+2004-03-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * ld-frv/fdpic*.d: Adjust to compensate for page size change.
+
+2004-03-26 Alan Modra <amodra@bigpond.net.au>
+
+ * ld-powerpc/tlsexe.r: Update for changed sym type.
+ * ld-powerpc/tlsexetoc.r: Likewise.
+
+2004-03-22 Hans-Peter Nilsson <hp@axis.com>
+
+ * ld-cris/dsofnf.s, ld-cris/dsofnf2.s, ld-cris/gotplt1.d,
+ ld-cris/gotplt2.d, ld-cris/gotplt3.d: New tests.
+
+2004-03-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-elfvers/vers.exp: Add new tests for versioned weak
+ definition.
+
+ * ld-elfvers/vers28a.c: New file.
+ * ld-elfvers/vers28a.dsym: Likewise.
+ * ld-elfvers/vers28a.ver: Likewise.
+ * ld-elfvers/vers28b.c: Likewise.
+ * ld-elfvers/vers28b.dsym: Likewise.
+ * ld-elfvers/vers28b.map: Likewise.
+ * ld-elfvers/vers28b.ver: Likewise.
+ * ld-elfvers/vers28c.c: Likewise.
+ * ld-elfvers/vers28c.dsym: Likewise.
+ * ld-elfvers/vers28c.ver: Likewise.
+
+2004-03-19 Alan Modra <amodra@bigpond.net.au>
+
+ * ld-scripts/provide-2.d: Ignore random symbols.
+
2004-03-16 Alan Modra <amodra@bigpond.net.au>
* ld-powerpc/tls.d: Update.
@@ -12,14 +170,43 @@
2004-03-05 Nathan Sidwell <nathan@codesourcery.com>
+ * ld-scripts/size-1.d: Add bigendian regexps.
+ * ld-scripts/size-2.d: Set --wide for readelf.
+
* ld-scripts/size.exp: New.
* ld-scripts/size-[12].{d,s,t}: New.
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * ld-frv/fr450-link[abc].s, fr450-link.d: New test.
+ * ld-frv/frv.exp: New harness.
+
+2004-02-24 Alexandre Oliva <aoliva@redhat.com>
+
+ * ld-frv/fdpic-pie-2.d: Adjust for decay of FUNCDESC relocs that
+ bind locally.
+ * ld-frv/fdpic-pie-8.d: Likewise.
+ * ld-frv/fdpic-shared-4.d: Likewise.
+ * ld-frv/fdpic-pie-6-fail.d: Renamed from...
+ * ld-frv/fdpic-pie-6.d: New test.
+ * ld-frv/fdpic-shared-6-fail.d: Renamed from...
+ * ld-frv/fdpic-shared-6.d: New test.
+ * ld-frv/fdpic6.ldv: New.
+ * ld-frv/fdpic-static-6.d: Adjust test name.
+ * ld-frv/fdpic-pie-8-fail.d: Removed.
+ * ld-frv/fdpic.exp: Run new tests.
+
2004-02-23 Nathan Sidwell <nathan@codesourcery.com>
* ld-scripts/provide.exp: New.
* ld-scripts/provide-{1,2,3}.{s,t,d}.exp: New.
+2004-02-23 Alan Modra <amodra@bigpond.net.au>
+
+ * ld-scripts/data.t: Set ".other" address so location doesn't
+ depend on target alignment.
+ * ld-scripts/data.d: Update.
+
2004-02-20 Nathan Sidwell <nathan@codesourcery.com>
* ld-scripts/align.{s,t,exp}: New.
diff --git a/ld/testsuite/ld-cdtest/cdtest.exp b/ld/testsuite/ld-cdtest/cdtest.exp
index 1c51f0d..d6a646a 100644
--- a/ld/testsuite/ld-cdtest/cdtest.exp
+++ b/ld/testsuite/ld-cdtest/cdtest.exp
@@ -35,9 +35,9 @@ if { [which $CXX] == 0 } {
return
}
-if { ![ld_compile "$CXX $CXXFLAGS -fgnu-linker -fno-exceptions" $srcdir/$subdir/cdtest-foo.cc tmpdir/cdtest-foo.o]
- || ![ld_compile "$CXX $CXXFLAGS -fgnu-linker -fno-exceptions" $srcdir/$subdir/cdtest-bar.cc tmpdir/cdtest-bar.o]
- || ![ld_compile "$CXX $CXXFLAGS -fgnu-linker -fno-exceptions" $srcdir/$subdir/cdtest-main.cc tmpdir/cdtest-main.o] } {
+if { ![ld_compile "$CXX $CXXFLAGS -fno-exceptions" $srcdir/$subdir/cdtest-foo.cc tmpdir/cdtest-foo.o]
+ || ![ld_compile "$CXX $CXXFLAGS -fno-exceptions" $srcdir/$subdir/cdtest-bar.cc tmpdir/cdtest-bar.o]
+ || ![ld_compile "$CXX $CXXFLAGS -fno-exceptions" $srcdir/$subdir/cdtest-main.cc tmpdir/cdtest-main.o] } {
unresolved $test1
unresolved $test2
return
diff --git a/ld/testsuite/ld-elf/merge.d b/ld/testsuite/ld-elf/merge.d
index 4038cc8..192e8a2 100644
--- a/ld/testsuite/ld-elf/merge.d
+++ b/ld/testsuite/ld-elf/merge.d
@@ -3,7 +3,7 @@
#objdump: -s
#xfail: "arc-*-*" "avr-*-*" "cris-*-*" "dlx-*-*" "fr30-*-*" "frv-*-*"
#xfail: "hppa*-*-*" "h8300-*-*" "i960-*-*" "ip2k-*-*" "m32r-*-*" "mcore-*-*"
-#xfail: "mn10*-*-*" "mips64*-*-linux*" "openrisc-*-*" "pj-*-*" "sparc*-*-*"
+#xfail: "mn10*-*-*" "mips*-*-*" "openrisc-*-*" "pj-*-*" "sparc*-*-*"
#xfail: "xtensa-*-*"
.*: file format .*elf.*
diff --git a/ld/testsuite/ld-elfvers/vers.exp b/ld/testsuite/ld-elfvers/vers.exp
index 47be40e..a9b3778 100644
--- a/ld/testsuite/ld-elfvers/vers.exp
+++ b/ld/testsuite/ld-elfvers/vers.exp
@@ -938,3 +938,9 @@ build_vers_lib_pic "vers27d2" vers27d2.c vers27d2 "" "" vers27b.ver vers27b.dsym
build_executable "vers27d3" vers27d3.c vers27d3 "vers27b.o vers27d2.so vers27d1.so" "" vers27b.ver vers27b.dsym ""
build_vers_lib_pic "vers27d4" vers27d2.c vers27d4 "vers27a.so" "" vers27d4.ver vers27d4.dsym ""
build_executable "vers27d5" vers27d3.c vers27d5 "vers27d4.so vers27b.o vers27a.so" "" vers27b.ver vers27b.dsym ""
+
+# Test weak versioned definition vs. strong definition in different
+# files.
+build_vers_lib_pic "vers28a" vers28a.c vers28a "" "" vers28a.ver vers28a.dsym ""
+build_vers_lib_pic "vers28b" vers28b.c vers28b "" vers28b.map vers28b.ver vers28b.dsym ""
+build_vers_lib_pic "vers28c" vers28c.c vers28c "vers28b.so vers28a.so" "" vers28c.ver vers28c.dsym ""
diff --git a/ld/testsuite/ld-elfvsb/elfvsb.exp b/ld/testsuite/ld-elfvsb/elfvsb.exp
index f1f3f1f..cd7c15f 100644
--- a/ld/testsuite/ld-elfvsb/elfvsb.exp
+++ b/ld/testsuite/ld-elfvsb/elfvsb.exp
@@ -1,5 +1,5 @@
# Expect script for ld-visibility tests
-# Copyright 2000, 2001, 2003 Free Software Foundation, Inc.
+# Copyright 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -261,6 +261,9 @@ proc visibility_run {visibility} {
&& ![ string match $visibility "hidden_undef_def" ]
&& ![ string match $visibility "protected_undef" ] } {
setup_xfail "s390x-*-linux*"
+ if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainnp.o] } {
+ setup_xfail "sparc*-*-linux*"
+ }
}
setup_xfail "x86_64-*-linux*"
if { ![istarget hppa*64*-*-linux*] } {
@@ -289,6 +292,9 @@ proc visibility_run {visibility} {
|| [ string match $visibility "protected_weak" ]
|| [ string match $visibility "normal" ] } {
setup_xfail "powerpc-*-linux*"
+ if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainnp.o] } {
+ setup_xfail "sparc*-*-linux*"
+ }
}
if { ![ string match $visibility "hidden_undef" ]
&& ![ string match $visibility "protected_undef" ] } {
@@ -358,6 +364,9 @@ proc visibility_run {visibility} {
&& ![ string match $visibility "hidden_undef_def" ]
&& ![ string match $visibility "protected_undef" ] } {
setup_xfail "s390x-*-linux*"
+ if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainp.o] } {
+ setup_xfail "sparc*-*-linux*"
+ }
}
setup_xfail "x86_64-*-linux*"
if { ![istarget hppa*64*-*-linux*] } {
diff --git a/ld/testsuite/ld-elfweak/elfweak.exp b/ld/testsuite/ld-elfweak/elfweak.exp
index 8fc6832..78b6358 100644
--- a/ld/testsuite/ld-elfweak/elfweak.exp
+++ b/ld/testsuite/ld-elfweak/elfweak.exp
@@ -287,7 +287,8 @@ proc build_lib {test libname objs dynsymexp} {
return
}
- if {![objdump_dynsymstuff $objdump $tmpdir/$libname.so $srcdir/$subdir/$dynsymexp]} {
+ if {![string match "" $dynsymexp] \
+ && ![objdump_dynsymstuff $objdump $tmpdir/$libname.so $srcdir/$subdir/$dynsymexp]} {
fail $test
return
}
@@ -465,3 +466,30 @@ build_exec "ELF weak data first DSO" foo "main1.o libbar1a.so libfoo1a.so" "-Wl,
build_exec "ELF weak data last DSO" foo "libfoo1a.so main1.o libbar1a.so" "-Wl,-rpath,." weakdata weakdata.dsym ""
build_exec "ELF weak data first DSO common" foo "main1.o libbar1a.so libfoo1b.so" "-Wl,-rpath,." weakdata weakdata.dsym ""
build_exec "ELF weak data last DSO common" foo "libfoo1b.so main1.o libbar1a.so" "-Wl,-rpath,." weakdata weakdata.dsym ""
+
+if ![ld_compile "$CC $CFLAGS $picflag" $srcdir/$subdir/size_foo.c $tmpdir/size_foo.o] {
+ unresolved "ELF weak (size)"
+ return
+}
+
+if ![ld_compile "$CC $CFLAGS $picflag" $srcdir/$subdir/size_bar.c $tmpdir/size_bar.o] {
+ unresolved "ELF weak (size)"
+ return
+}
+
+build_lib "ELF DSO small bar (size)" libsize_bar "size_bar.o" ""
+build_lib "ELF DSO foo with small bar (size)" libsize_foo "size_foo.o libsize_bar.so" ""
+
+if ![ld_compile "$CC $CFLAGS $picflag -DSIZE_BIG" $srcdir/$subdir/size_bar.c $tmpdir/size_bar.o] {
+ unresolved "ELF weak (size)"
+ return
+}
+
+build_lib "ELF DSO big bar (size)" libsize_bar "size_bar.o" ""
+
+if ![ld_compile "$CC $CFLAGS" $srcdir/$subdir/size_main.c $tmpdir/size_main.o] {
+ unresolved "ELF weak (size)"
+ return
+}
+
+build_exec "ELF weak size" size_main "size_main.o libsize_foo.so libsize_bar.so" "-Wl,-rpath,." size "" ""
diff --git a/ld/testsuite/ld-elfweak/size.dat b/ld/testsuite/ld-elfweak/size.dat
new file mode 100644
index 0000000..01e79c3
--- /dev/null
+++ b/ld/testsuite/ld-elfweak/size.dat
@@ -0,0 +1,3 @@
+1
+2
+3
diff --git a/ld/testsuite/ld-elfweak/size_bar.c b/ld/testsuite/ld-elfweak/size_bar.c
new file mode 100644
index 0000000..7f32890
--- /dev/null
+++ b/ld/testsuite/ld-elfweak/size_bar.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+
+void
+bar ()
+{
+#ifdef SIZE_BIG
+ printf ("1\n");
+ printf ("2\n");
+ printf ("3\n");
+#endif
+}
diff --git a/ld/testsuite/ld-elfweak/size_foo.c b/ld/testsuite/ld-elfweak/size_foo.c
new file mode 100644
index 0000000..2276f62
--- /dev/null
+++ b/ld/testsuite/ld-elfweak/size_foo.c
@@ -0,0 +1,8 @@
+#pragma weak bar
+
+extern void bar ();
+
+foo ()
+{
+ bar ();
+}
diff --git a/ld/testsuite/ld-elfweak/size_main.c b/ld/testsuite/ld-elfweak/size_main.c
new file mode 100644
index 0000000..2cee0a9
--- /dev/null
+++ b/ld/testsuite/ld-elfweak/size_main.c
@@ -0,0 +1,8 @@
+extern void foo ();
+
+int
+main ()
+{
+ foo ();
+ return 0;
+}
diff --git a/ld/testsuite/ld-empic/empic.exp b/ld/testsuite/ld-empic/empic.exp
deleted file mode 100644
index f72b1f3..0000000
--- a/ld/testsuite/ld-empic/empic.exp
+++ /dev/null
@@ -1,263 +0,0 @@
-# Expect script for ld-empic tests
-# Copyright 1994, 1995, 1996 Free Software Foundation, Inc.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# Written by Ian Lance Taylor (ian@cygnus.com)
-#
-
-# Test the handling of MIPS embedded PIC code. This test essentially
-# tests the compiler and assembler as well as the linker, since MIPS
-# embedded PIC is a GNU enhancement to standard MIPS tools.
-
-# Embedded PIC is only supported for MIPS ECOFF targets.
-if ![istarget mips*-*-ecoff*] {
- return
-}
-
-set testname relax
-
-if { [which $CC] == 0 } {
- untested $testname
- return
-}
-
-# Test that relaxation works correctly. This testsuite was composed
-# (by experimentation) to force the linker to relax twice--that is,
-# the first relaxation pass will force another call to be out of
-# range, requiring a second relaxation pass.
-if { ![ld_compile "$CC $CFLAGS -membedded-pic" $srcdir/$subdir/relax1.c tmpdir/relax1.o]
- || ![ld_compile "$CC $CFLAGS -membedded-pic" $srcdir/$subdir/relax2.c tmpdir/relax2.o]
- || ![ld_compile "$CC $CFLAGS -membedded-pic" $srcdir/$subdir/relax3.c tmpdir/relax3.o]
- || ![ld_compile "$CC $CFLAGS -membedded-pic" $srcdir/$subdir/relax4.c tmpdir/relax4.o] } {
- unresolved $testname
- return
-}
-
-if ![ld_simple_link $ld tmpdir/relax "--relax -T $srcdir/$subdir/relax.t tmpdir/relax1.o tmpdir/relax2.o tmpdir/relax3.o tmpdir/relax4.o"] {
- fail $testname
-} else {
- # Check that the relaxation produced the correct result. Check
- # each bal instruction. Some will go directly to the start of a
- # function, which is OK. Some will form part of the five
- # instruction expanded call sequence, in which case we compute the
- # real destination and make sure it is the start of a function.
- # Some bal instructions are used to locate the start of the
- # function in order to do position independent addressing into the
- # text section, in which case we just check that it correctly
- # computes the start of the function.
-
- # Get the symbol table.
- if ![ld_nm $nm "" tmpdir/relax] {
- unresolved $testname
- return
- }
-
- # Get a disassembly.
- send_log "$objdump -d tmpdir/relax >tmpdir/relax.dis\n"
- verbose "$objdump -d tmpdir/relax >tmpdir/relax.dis"
- catch "exec $objdump -d tmpdir/relax >tmpdir/relax.dis" exec_output
- if ![string match "" $exec_output] {
- send_log "$exec_output\n"
- verbose $exec_output
- unresolved $testname
- return
- }
-
- set balcnt 0
- set file [open tmpdir/relax.dis r]
- while { [gets $file line] != -1 } {
- verbose "$line" 2
-
- if ![string match "*bal*" $line] {
- continue
- }
-
- verbose "$line"
-
- incr balcnt
-
- if ![regexp "^(\[0-9a-fA-F\]+) (<\[a-z+0-9A-Z.\]+>)? bal (\[0-9a-fA-F\]+)" $line whole addr label dest] {
- perror "unrecognized format for $line"
- unresolved $testname
- return
- }
-
- if "0x$addr + 8 != 0x$dest" {
- # This is a straight function call. All function calls in
- # this example are to either foo or bar.
- if "0x$dest != $nm_output(foo) && 0x$dest != $nm_output(bar)" {
- send_log "fail 1\n"
- send_log "$line\n"
- fail $testname
- return
- }
- } else {
- # Pick up the next line. If it is sll, this is a switch
- # prologue, and there is not much we can do to test it.
- # Otherwise, it should be lui, and the next instruction
- # should be an addiu, followed by an addu to $31.
- if { [gets $file l] == -1 } {
- send_log "fail 2\n"
- send_log "$line\n"
- fail $testname
- return
- }
- verbose $l
-
- if [string match "*sll*" $l] {
- continue
- }
- if ![regexp "lui (\[\$a-z0-9\]+),(\[0-9a-fA-Fx\]+)" $l whole reg upper] {
- send_log "fail 3\n"
- send_log "$line\n"
- send_log "$l\n"
- fail $testname
- return
- }
-
- if { [gets $file l] == -1 } {
- send_log "fail 4\n"
- send_log "$line\n"
- fail $testname
- return
- }
- verbose "$l"
- if ![regexp "addiu \\$reg,\\$reg,(\[-0-9\]+)" $l whole lower] {
- send_log "fail 5\n"
- send_log "$line\n"
- send_log "$l\n"
- send_log "addiu \\$reg,\\$reg,(\[-0-9\]+)\n"
- fail $testname
- return
- }
-
- if { [gets $file l] == -1 } {
- send_log "fail 6\n"
- send_log "$line\n"
- fail $testname
- return
- }
- verbose "$l"
- if ![regexp "addu \\$reg,\\$reg,\\\$ra" $l] {
- send_log "fail 7\n"
- send_log "$line\n"
- send_log "$l\n"
- fail $testname
- return
- }
-
- # The next line will be jalr in the case of an expanded
- # call. Otherwise, the code is getting the start of the
- # function, and the next line can be anything.
-
- if { [gets $file l] == -1 } {
- send_log "fail 8\n"
- send_log "$line\n"
- fail $testname
- return
- }
- verbose "$l"
- if [string match "*jalr*" $l] {
- set dest [expr 0x$addr + 8 + ($upper << 16) + $lower]
- if { $dest != $nm_output(foo) && $dest != $nm_output(bar) } {
- send_log "fail 9\n"
- send_log "$line\n"
- fail $testname
- return
- }
- } else {
- set dest [expr ($upper << 16) + $lower]
- if ![regexp "<(\[.a-z\]+)\\+(\[0-9a-fA-F\]+)>" $label whole base offset] {
- send_log "fail 10\n"
- send_log "$line\n"
- fail $testname
- return
- }
- set offset 0x$offset
- if { $base == ".foo" } {
- set offset [expr $offset - ($nm_output(foo) - 0x30)]
- }
- if { $offset + 8 != - $dest } {
- send_log "fail 11\n"
- send_log "$line\n"
- fail $testname
- return
- }
- }
- }
- }
-
- close $file
-
- if {$balcnt < 10} {
- send_log "fail 12\n"
- fail $testname
- } else {
- verbose "$balcnt bal instructions"
- pass $testname
- }
-}
-
-# We now test actually running embedded MIPS PIC code. This can only
-# be done on a MIPS host with the same endianness as our target.
-if [istarget mipsel-*-*] {
- if ![ishost mips*-*-ultrix*] {
- return
- }
-} else {
- if ![ishost mips*-*-irix*] {
- return
- }
-}
-
-set testname "run embedded PIC code"
-
-# Compile the program which will run the test. This code must be
-# compiled for the host, not the target.
-send_log "$CC_FOR_HOST $CFLAGS_FOR_HOST -o tmpdir/run $srcdir/$subdir/run.c\n"
-verbose "$CC_FOR_HOST $CFLAGS_FOR_HOST -o tmpdir/run $srcdir/$subdir/run.c"
-catch "exec $CC_FOR_HOST $CFLAGS_FOR_HOST -o tmpdir/run $srcdir/$subdir/run.c" exec_output
-if ![string match "" $exec_output] {
- send_log "$exec_output\n"
- verbose "$exec_output"
- unresolved $testname
- return
-}
-
-# Compile and link the test.
-if { ![ld_compile "$CC $CFLAGS -membedded-pic" $srcdir/$subdir/runtesti.s tmpdir/runtesti.o]
- || ![ld_compile "$CC $CFLAGS -membedded-pic" $srcdir/$subdir/runtest1.c tmpdir/runtest1.o]
- || ![ld_compile "$CC $CFLAGS -membedded-pic" $srcdir/$subdir/runtest2.c tmpdir/runtest2.o] } {
- unresolved $testname
- return
-}
-if ![ld_simple_link $ld tmpdir/runtest "--embedded-relocs tmpdir/runtesti.o tmpdir/runtest1.o tmpdir/runtest2.o"] {
- fail $testname
-} else {
- # Now run the test.
- send_log "tmpdir/run tmpdir/runtest\n"
- verbose "tmpdir/run tmpdir/runtest"
- catch "exec tmpdir/run tmpdir/runtest" exec_output
- if [string match "*ran and returned 0*" $exec_output] {
- send_log "$exec_output\n"
- verbose "$exec_output"
- pass $testname
- } else {
- send_log "$exec_output\n"
- verbose "$exec_output"
- fail $testname
- }
-}
diff --git a/ld/testsuite/ld-empic/relax.t b/ld/testsuite/ld-empic/relax.t
deleted file mode 100644
index 8c18b69..0000000
--- a/ld/testsuite/ld-empic/relax.t
+++ /dev/null
@@ -1,49 +0,0 @@
-OUTPUT_FORMAT("ecoff-bigmips")
-SECTIONS
-{
- .foo 0x30 : {
- tmpdir/relax3.o(.text)
- tmpdir/relax1.o(.text)
- }
- .text 0x20000 : {
- _ftext = . ;
- *(.init)
- eprol = .;
- tmpdir/relax4.o(.text)
- *(.text)
- *(.fini)
- etext = .;
- _etext = .;
- }
- .rdata . : {
- *(.rdata)
- }
- _fdata = .;
- .data . : {
- *(.data)
- CONSTRUCTORS
- }
- _gp = . + 0x8000;
- .lit8 . : {
- *(.lit8)
- }
- .lit4 . : {
- *(.lit4)
- }
- .sdata . : {
- *(.sdata)
- }
- edata = .;
- _edata = .;
- _fbss = .;
- .sbss . : {
- *(.sbss)
- *(.scommon)
- }
- .bss . : {
- *(.bss)
- *(COMMON)
- }
- end = .;
- _end = .;
-}
diff --git a/ld/testsuite/ld-empic/relax1.c b/ld/testsuite/ld-empic/relax1.c
deleted file mode 100644
index 20ec39e..0000000
--- a/ld/testsuite/ld-empic/relax1.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* First source file in relaxation test. */
-
-extern int bar ();
-static int foo2 ();
-
-int foo (int i)
-{
- switch (i)
- {
- case 0: bar (0); break;
- case 1: bar (1); break;
- case 2: bar (2); break;
- case 3: bar (3); break;
- case 4: bar (foo2); break;
- case 5: bar (bar); break;
- }
- while (1)
- if (i)
- return bar ();
-}
-
-static int foo2 () { }
diff --git a/ld/testsuite/ld-empic/relax2.c b/ld/testsuite/ld-empic/relax2.c
deleted file mode 100644
index 58854a0..0000000
--- a/ld/testsuite/ld-empic/relax2.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Second source file in relaxation test. */
-
-int bar2 ()
-{
- int i;
-
- for (i = 0; i < 100; i++)
- foo ();
- return foo () + foo () + foo () + foo ();
-}
-
-int bar (int i)
-{
- while (1)
- if (i)
- return foo ();
- else
- return foo ();
-}
diff --git a/ld/testsuite/ld-empic/relax3.c b/ld/testsuite/ld-empic/relax3.c
deleted file mode 100644
index 1aaa532..0000000
--- a/ld/testsuite/ld-empic/relax3.c
+++ /dev/null
@@ -1,3 +0,0 @@
-/* Third source file in relaxation test. */
-
-int quux () { return 0; }
diff --git a/ld/testsuite/ld-empic/relax4.c b/ld/testsuite/ld-empic/relax4.c
deleted file mode 100644
index 21cfb05..0000000
--- a/ld/testsuite/ld-empic/relax4.c
+++ /dev/null
@@ -1,3 +0,0 @@
-/* Fourth source file in relaxation test. */
-
-int xyzzy () { return 0; }
diff --git a/ld/testsuite/ld-empic/run.c b/ld/testsuite/ld-empic/run.c
deleted file mode 100644
index 9a0377e..0000000
--- a/ld/testsuite/ld-empic/run.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/* Load and run a MIPS position independent ECOFF file.
- Written by Ian Lance Taylor <ian@cygnus.com>
- Public domain. */
-
-/* This program will load an ECOFF file into memory and execute it.
- The file must have been compiled using the GNU -membedded-pic
- switch to produce position independent code. This will only work
- if this program is run on a MIPS system with the same endianness as
- the ECOFF file. The ECOFF file must be complete. System calls may
- not work correctly.
-
- There are further restrictions on the file (they could be removed
- by doing some additional programming). The file must be aligned
- such that it does not require any gaps introduced in the data
- segment; the GNU linker produces such files by default. However,
- the file must not assume that the text or data segment is aligned
- on a page boundary. The start address must be at the start of the
- text segment.
-
- The ECOFF file is run by calling it as though it were a function.
- The address of the data segment is passed as the only argument.
- The file is expected to return an integer value, which will be
- printed. */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-/* Structures used in ECOFF files. We assume that a short is two
- bytes and an int is four bytes. This is not much of an assumption,
- since we already assume that we are running on a MIPS host with the
- same endianness as the file we are examining. */
-
-struct ecoff_filehdr {
- unsigned short f_magic; /* magic number */
- unsigned short f_nscns; /* number of sections */
- unsigned int f_timdat; /* time & date stamp */
- unsigned int f_symptr; /* file pointer to symtab */
- unsigned int f_nsyms; /* number of symtab entries */
- unsigned short f_opthdr; /* sizeof(optional hdr) */
- unsigned short f_flags; /* flags */
-};
-
-struct ecoff_aouthdr
-{
- unsigned short magic; /* type of file */
- unsigned short vstamp; /* version stamp */
- unsigned int tsize; /* text size in bytes, padded to FW bdry*/
- unsigned int dsize; /* initialized data " " */
- unsigned int bsize; /* uninitialized data " " */
- unsigned int entry; /* entry pt. */
- unsigned int text_start; /* base of text used for this file */
- unsigned int data_start; /* base of data used for this file */
- unsigned int bss_start; /* base of bss used for this file */
- unsigned int gprmask; /* ?? */
- unsigned int cprmask[4]; /* ?? */
- unsigned int gp_value; /* value for gp register */
-};
-
-#define ECOFF_SCNHDR_SIZE (40)
-
-static void
-die (s)
- char *s;
-{
- perror (s);
- exit (1);
-}
-
-int
-main (argc, argv)
- int argc;
- char **argv;
-{
- FILE *f;
- struct stat s;
- char *z;
- struct ecoff_filehdr *fh;
- struct ecoff_aouthdr *ah;
- unsigned int toff;
- char *t, *d;
- int (*pfn) ();
- int ret;
-
- if (argc != 2)
- {
- fprintf (stderr, "Usage: %s file\n", argv[0]);
- exit (1);
- }
-
- f = fopen (argv[1], "r");
- if (f == NULL)
- die (argv[1]);
-
- if (stat (argv[1], &s) < 0)
- die ("stat");
-
- z = (char *) malloc (s.st_size);
- if (z == NULL)
- die ("malloc");
-
- if (fread (z, 1, s.st_size, f) != s.st_size)
- die ("fread");
-
- /* We need to figure out the start of the text segment, which is the
- location we are going to call, and the start of the data segment,
- which we are going to pass as an argument. We also need the size
- and start address of the bss segment. This information is all in
- the ECOFF a.out header. */
-
- fh = (struct ecoff_filehdr *) z;
- if (fh->f_opthdr != sizeof (struct ecoff_aouthdr))
- {
- fprintf (stderr, "%s: unexpected opthdr size: is %u, want %u\n",
- argv[1], (unsigned int) fh->f_opthdr,
- (unsigned int) sizeof (struct ecoff_aouthdr));
- exit (1);
- }
-
- ah = (struct ecoff_aouthdr *) (z + sizeof (struct ecoff_filehdr));
- if (ah->magic != 0413)
- {
- fprintf (stderr, "%s: bad aouthdr magic number 0%o (want 0413)\n",
- argv[1], (unsigned int) ah->magic);
- exit (1);
- }
-
- /* We should clear the bss segment at this point. This is the
- ah->bsize bytes starting at ah->bss_start, To do this correctly,
- we would have to make sure our memory block is large enough. It
- so happens that our test case does not have any additional pages
- for the bss segment--it is contained within the data segment.
- So, we don't bother. */
- if (ah->bsize != 0)
- {
- fprintf (stderr,
- "%s: bss segment is %u bytes; non-zero sizes not supported\n",
- argv[1], ah->bsize);
- exit (1);
- }
-
- /* The text section starts just after all the headers, rounded to a
- 16 byte boundary. */
- toff = (sizeof (struct ecoff_filehdr) + sizeof (struct ecoff_aouthdr)
- + fh->f_nscns * ECOFF_SCNHDR_SIZE);
- toff += 15;
- toff &=~ 15;
- t = z + toff;
-
- /* The tsize field gives us the start of the data segment. */
- d = z + ah->tsize;
-
- /* Call the code as a function. */
- pfn = (int (*) ()) t;
- ret = (*pfn) (d);
-
- printf ("%s ran and returned %d\n", argv[1], ret);
-
- exit (0);
-}
diff --git a/ld/testsuite/ld-empic/runtest1.c b/ld/testsuite/ld-empic/runtest1.c
deleted file mode 100644
index f9ab6eb..0000000
--- a/ld/testsuite/ld-empic/runtest1.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/* First C source file for actual execution test. */
-
-/* The main point of this test is to make sure that the code and data
- are truly position independent. We statically initialize several
- global variables, and make sure that they are correctly adjusted at
- runtime. */
-
-int i = 1;
-int j = 0;
-extern int k;
-int l;
-char small_buf[] = "aaaa";
-char *small_pointer = small_buf;
-char big_buf[] = "aaaaaaaaaaaaaaaa";
-char *big_pointer = big_buf;
-
-extern int bar ();
-int (*pbar) () = bar;
-
-static int
-foo2 (arg)
- int arg;
-{
- l = arg;
- return i + j;
-}
-
-int (*pfoo2) () = foo2;
-
-int
-chkstr (z, c)
- char *z;
- int c;
-{
- /* Switch statements need extra effort to be position independent,
- so we run one here, even though most of the cases will never be
- taken. */
- switch (c)
- {
- case 1:
- case 2:
- case 3:
- return i - 1;
- case 4:
- break;
- case 5:
- case 6:
- case 7:
- case 8:
- case 9:
- return i * j;
- case 10:
- case 11:
- case 12:
- case 13:
- case 14:
- case 15:
- return j;
- case 16:
- break;
- default:
- return 0;
- }
-
- while (c-- != 0)
- if (*z++ != 'a')
- return 0;
-
- return *z == '\0';
-}
-
-/* This function is called by the assembler startup routine. It tries
- to test that everything was correctly initialized. It returns 0 on
- success, something else on failure. */
-
-int
-foo ()
-{
- if (i != 1)
- return 1;
- if (j != 0)
- return 2;
- if (! chkstr (small_buf, 4))
- return 3;
- if (! chkstr (small_pointer, 4))
- return 4;
- if (! chkstr (big_buf, 16))
- return 5;
- if (! chkstr (big_pointer, 16))
- return 6;
-
- if (l != 0)
- return 7;
- if (foo2 (1) != 1)
- return 8;
- if (l != 1)
- return 9;
- if ((*pfoo2) (2) != 1)
- return 10;
- if (l != 2)
- return 11;
-
- if (bar (1) != 0)
- return 12;
- if (bar (-1) != 1)
- return 13;
- if ((*pbar) (0xa5a5a5a5) != -1)
- return 14;
- if (k != 0xa5a5a5a5)
- return 15;
- if ((*pbar) (0) != 0xa5a5a5a5)
- return 16;
- if (k != 0)
- return 17;
-
- return 0;
-}
diff --git a/ld/testsuite/ld-empic/runtest2.c b/ld/testsuite/ld-empic/runtest2.c
deleted file mode 100644
index 000525f..0000000
--- a/ld/testsuite/ld-empic/runtest2.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Second C source file for actual execution test. */
-
-int k;
-extern int i;
-extern int j;
-extern char small_buf[];
-extern char *small_pointer;
-
-extern int chkstr ();
-
-int
-bar (n)
- int n;
-{
- int r;
-
- if (i != 1
- || j != 0
- || ! chkstr (small_buf, 4)
- || ! chkstr (small_pointer, 4))
- return k + 1;
-
- r = k;
- k = n;
- return r;
-}
diff --git a/ld/testsuite/ld-empic/runtesti.s b/ld/testsuite/ld-empic/runtesti.s
deleted file mode 100644
index efa1953..0000000
--- a/ld/testsuite/ld-empic/runtesti.s
+++ /dev/null
@@ -1,94 +0,0 @@
-# Assembler initialization code for actual execution test.
-
-# This code becomes the start of the execution test program. It is
-# responsible for initializing the static data, invoking the C code,
-# and returning the result. It is called as though it were a C
-# function with an argument of the address of the data segment.
-
-# We need to know the value of _ftext and _fdata at link time, but we
-# have no way to actually get that at runtime. This is because when
-# this code is compiled with -membedded-pic, the la instruction will
-# be turned into an addiu $gp instruction. We work around this by
-# storing the information in words in the .data section. We then load
-# the values of these words *before* doing the runtime relocation.
- .sdata
-text_start:
- .word _ftext
-data_start:
- .word _fdata
-
- .globl start
- .text
-start:
- # Grab some space on the stack, just as though we were a real
- # function.
- addiu $sp,$sp,-8
- sw $31,0($sp)
-
- # Save the $gp register, and set it up for our data section.
- sw $gp,4($sp)
-
- addu $gp,$4,0x8000 # macro
-
- # The start of the data segment is in $4.
-
- # Get the address of start into $5 in a position independent
- # fashion.
- .set noreorder
- $LF1 = . + 8
- bal $LF1
- la $5,start-$LF1 # macro
- .set reorder
- addu $5,$5,$31
-
- # Now get the address of _ftext into $6.
- la $6,_ftext-start # macro
- addu $6,$6,$5
-
- # Get the value of _ftext used to link into $7.
- lw $7,text_start # macro
-
- # Get the value of _fdata used to link into $8.
- lw $8,data_start # macro
-
- # Get the address of __runtime_reloc_start into $9.
- la $9,__runtime_reloc_start-start # macro
- addu $9,$9,$5
-
- # Get the address of __runtime_reloc_stop into $10.
- la $10,__runtime_reloc_stop-start # macro
- addu $10,$10,$5
-
- # The words between $9 and $10 are the runtime initialization
- # instructions. Step through and relocate them. First set
- # $11 and $12 to the values to add to text and data sections,
- # respectively.
- subu $11,$6,$7
- subu $12,$4,$8
-
-1:
- bge $9,$10,3f # macro
- lw $13,0($9)
- and $14,$13,0xfffffffe # macro
- move $15,$11
- beq $13,$14,2f
- move $15,$12
-2:
- addu $14,$14,$4
- lw $24,0($14)
- addu $24,$24,$15
- sw $24,0($14)
- addiu $9,$9,4
- b 1b
-3:
-
- # Now the statically initialized data has been relocated
- # correctly, and we can call the C code which does the actual
- # testing.
- bal foo
-
- # We return the value returned by the C code.
- lw $31,0($sp)
- lw $gp,4($sp)
- addu $sp,$sp,8
- j $31
diff --git a/ld/testsuite/ld-frv/fdpic-pie-1.d b/ld/testsuite/ld-frv/fdpic-pie-1.d
index da356ae..15d36ae 100644
--- a/ld/testsuite/ld-frv/fdpic-pie-1.d
+++ b/ld/testsuite/ld-frv/fdpic-pie-1.d
@@ -32,27 +32,27 @@ Disassembly of section \.text:
418: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-00010430 <D1>:
- 10430: 00 00 00 04 add\.p gr0,gr4,gr0
- 10430: R_FRV_32 \.data
-
-00010434 <\.D0>:
- 10434: 00 00 00 00 add\.p gr0,gr0,gr0
- 10434: R_FRV_32 \.got
- 10438: 00 00 00 04 add\.p gr0,gr4,gr0
- 10438: R_FRV_32 \.text
+00004430 <D1>:
+ 4430: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4430: R_FRV_32 \.data
+
+00004434 <\.D0>:
+ 4434: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4434: R_FRV_32 \.got
+ 4438: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4438: R_FRV_32 \.text
Disassembly of section \.got:
-000104b8 <_GLOBAL_OFFSET_TABLE_-0x8>:
- 104b8: 00 00 00 04 add\.p gr0,gr4,gr0
- 104b8: R_FRV_FUNCDESC_VALUE \.text
- 104bc: 00 00 00 02 add\.p gr0,fp,gr0
+000044b8 <_GLOBAL_OFFSET_TABLE_-0x8>:
+ 44b8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 44b8: R_FRV_FUNCDESC_VALUE \.text
+ 44bc: 00 00 00 02 add\.p gr0,fp,gr0
-000104c0 <_GLOBAL_OFFSET_TABLE_>:
+000044c0 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 104cc: 00 00 00 04 add\.p gr0,gr4,gr0
- 104cc: R_FRV_32 \.text
- 104d0: 00 00 00 00 add\.p gr0,gr0,gr0
- 104d0: R_FRV_32 \.got
- 104d4: 00 00 00 04 add\.p gr0,gr4,gr0
- 104d4: R_FRV_32 \.data
+ 44cc: 00 00 00 04 add\.p gr0,gr4,gr0
+ 44cc: R_FRV_32 \.text
+ 44d0: 00 00 00 00 add\.p gr0,gr0,gr0
+ 44d0: R_FRV_32 \.got
+ 44d4: 00 00 00 04 add\.p gr0,gr4,gr0
+ 44d4: R_FRV_32 \.data
diff --git a/ld/testsuite/ld-frv/fdpic-pie-2.d b/ld/testsuite/ld-frv/fdpic-pie-2.d
index fb7691a..fb5e1e6 100644
--- a/ld/testsuite/ld-frv/fdpic-pie-2.d
+++ b/ld/testsuite/ld-frv/fdpic-pie-2.d
@@ -32,39 +32,41 @@ Disassembly of section \.text:
618: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-00010630 <D2>:
- 10630: 00 00 00 04 add\.p gr0,gr4,gr0
- 10630: R_FRV_32 \.data
+00004630 <D2>:
+ 4630: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4630: R_FRV_32 \.data
-00010634 <GD0>:
- 10634: 00 00 00 00 add\.p gr0,gr0,gr0
- 10634: R_FRV_FUNCDESC GFb
- 10638: 00 00 00 04 add\.p gr0,gr4,gr0
- 10638: R_FRV_32 \.text
+00004634 <GD0>:
+ 4634: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4634: R_FRV_FUNCDESC \.text
+ 4638: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4638: R_FRV_32 \.text
Disassembly of section \.got:
-000106b8 <_GLOBAL_OFFSET_TABLE_-0x18>:
- 106b8: 00 00 00 04 add\.p gr0,gr4,gr0
- 106b8: R_FRV_FUNCDESC_VALUE \.text
- 106bc: 00 00 00 02 add\.p gr0,fp,gr0
- 106c0: 00 00 00 04 add\.p gr0,gr4,gr0
- 106c0: R_FRV_FUNCDESC_VALUE \.text
- 106c4: 00 00 00 02 add\.p gr0,fp,gr0
- 106c8: 00 00 00 04 add\.p gr0,gr4,gr0
- 106c8: R_FRV_FUNCDESC_VALUE \.text
- 106cc: 00 00 00 02 add\.p gr0,fp,gr0
+000046b8 <_GLOBAL_OFFSET_TABLE_-0x18>:
+ 46b8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46b8: R_FRV_FUNCDESC_VALUE \.text
+ 46bc: 00 00 00 02 add\.p gr0,fp,gr0
+ 46c0: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46c0: R_FRV_FUNCDESC_VALUE \.text
+ 46c4: 00 00 00 02 add\.p gr0,fp,gr0
+ 46c8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46c8: R_FRV_FUNCDESC_VALUE \.text
+ 46cc: 00 00 00 02 add\.p gr0,fp,gr0
-000106d0 <_GLOBAL_OFFSET_TABLE_>:
+000046d0 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 106dc: R_FRV_FUNCDESC GF4
- 106e0: 00 00 00 04 add\.p gr0,gr4,gr0
- 106e0: R_FRV_32 \.text
- \.\.\.
- 106e4: R_FRV_FUNCDESC GF6
- 106e8: R_FRV_FUNCDESC GF5
- 106ec: 00 00 00 04 add\.p gr0,gr4,gr0
- 106ec: R_FRV_32 \.data
- 106f0: 00 00 00 04 add\.p gr0,gr4,gr0
- 106f0: R_FRV_32 \.text
- 106f4: 00 00 00 04 add\.p gr0,gr4,gr0
- 106f4: R_FRV_32 \.text
+ 46dc: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46dc: R_FRV_FUNCDESC \.text
+ 46e0: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46e0: R_FRV_32 \.text
+ 46e4: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46e4: R_FRV_FUNCDESC \.text
+ 46e8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46e8: R_FRV_FUNCDESC \.text
+ 46ec: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46ec: R_FRV_32 \.data
+ 46f0: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46f0: R_FRV_32 \.text
+ 46f4: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46f4: R_FRV_32 \.text
diff --git a/ld/testsuite/ld-frv/fdpic-pie-6.d b/ld/testsuite/ld-frv/fdpic-pie-6.d
index eaca671..c9263f7 100644
--- a/ld/testsuite/ld-frv/fdpic-pie-6.d
+++ b/ld/testsuite/ld-frv/fdpic-pie-6.d
@@ -1,6 +1,74 @@
-#name: FRV uClinux PIC relocs to undefined symbols, pie linking
+#name: FRV uClinux PIC relocs to weak undefined symbols, pie linking
#source: fdpic6.s
#objdump: -DR -j .text -j .data -j .got -j .plt
#as: -mfdpic
-#ld: -pie
-#error: different segments
+#ld: -pie --defsym WD1=D6
+
+.*: file format elf.*frv.*
+
+Disassembly of section \.plt:
+
+000005a8 <\.plt>:
+ 5a8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 5ac: c0 1a 00 06 bra 5c4 <F6-0x10>
+ 5b0: 00 00 00 00 add\.p gr0,gr0,gr0
+ 5b4: c0 1a 00 04 bra 5c4 <F6-0x10>
+ 5b8: 00 00 00 10 add\.p gr0,gr16,gr0
+ 5bc: c0 1a 00 02 bra 5c4 <F6-0x10>
+ 5c0: 00 00 00 18 add\.p gr0,gr24,gr0
+ 5c4: 88 08 f1 40 ldd @\(gr15,gr0\),gr4
+ 5c8: 80 30 40 00 jmpl @\(gr4,gr0\)
+ 5cc: 9c cc ff f0 lddi @\(gr15,-16\),gr14
+ 5d0: 80 30 e0 00 jmpl @\(gr14,gr0\)
+Disassembly of section \.text:
+
+000005d4 <F6>:
+ 5d4: fe 3f ff fe call 5cc <F6-0x8>
+ 5d8: 80 40 f0 0c addi gr15,12,gr0
+ 5dc: 80 fc 00 24 setlos 0x24,gr0
+ 5e0: 80 f4 00 20 setlo 0x20,gr0
+ 5e4: 80 f8 00 00 sethi hi\(0x0\),gr0
+ 5e8: 80 40 f0 10 addi gr15,16,gr0
+ 5ec: 80 fc 00 18 setlos 0x18,gr0
+ 5f0: 80 f4 00 1c setlo 0x1c,gr0
+ 5f4: 80 f8 00 00 sethi hi\(0x0\),gr0
+ 5f8: 80 40 ff f8 addi gr15,-8,gr0
+ 5fc: 80 fc ff e8 setlos 0xffffffe8,gr0
+ 600: 80 f4 ff e0 setlo 0xffe0,gr0
+ 604: 80 f8 ff ff sethi 0xffff,gr0
+ 608: 80 f4 ff 44 setlo 0xff44,gr0
+ 60c: 80 f8 ff ff sethi 0xffff,gr0
+ 610: 80 f4 00 14 setlo 0x14,gr0
+ 614: 80 f8 00 00 sethi hi\(0x0\),gr0
+Disassembly of section \.data:
+
+0000462c <D6>:
+ \.\.\.
+ 462c: R_FRV_32 WD0
+ 4630: R_FRV_FUNCDESC WFb
+ 4634: R_FRV_32 WFb
+Disassembly of section \.got:
+
+000046c8 <_GLOBAL_OFFSET_TABLE_-0x20>:
+ 46c8: 00 00 05 c4 subxcc\.p gr0,gr4,gr0,icc1
+ 46c8: R_FRV_FUNCDESC_VALUE WF9
+ 46cc: 00 00 00 02 add\.p gr0,fp,gr0
+ 46d0: 00 00 05 bc subx\.p gr0,gr60,gr0,icc1
+ 46d0: R_FRV_FUNCDESC_VALUE WF8
+ 46d4: 00 00 00 02 add\.p gr0,fp,gr0
+ 46d8: 00 00 05 b4 subx\.p gr0,gr52,gr0,icc1
+ 46d8: R_FRV_FUNCDESC_VALUE WF0
+ 46dc: 00 00 00 02 add\.p gr0,fp,gr0
+ 46e0: 00 00 05 ac subx\.p gr0,gr44,gr0,icc1
+ 46e0: R_FRV_FUNCDESC_VALUE WF7
+ 46e4: 00 00 00 02 add\.p gr0,fp,gr0
+
+000046e8 <_GLOBAL_OFFSET_TABLE_>:
+ \.\.\.
+ 46f4: R_FRV_32 WF1
+ 46f8: R_FRV_FUNCDESC WF4
+ 46fc: R_FRV_32 WD2
+ 4700: R_FRV_FUNCDESC WF5
+ 4704: R_FRV_FUNCDESC WF6
+ 4708: R_FRV_32 WF3
+ 470c: R_FRV_32 WF2
diff --git a/ld/testsuite/ld-frv/fdpic-pie-7.d b/ld/testsuite/ld-frv/fdpic-pie-7.d
index a3f0478..67a6abf 100644
--- a/ld/testsuite/ld-frv/fdpic-pie-7.d
+++ b/ld/testsuite/ld-frv/fdpic-pie-7.d
@@ -32,27 +32,27 @@ Disassembly of section \.text:
418: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-00010430 <D7>:
- 10430: 00 00 00 08 add\.p gr0,gr8,gr0
- 10430: R_FRV_32 \.data
-
-00010434 <\.D0>:
- 10434: 00 00 00 00 add\.p gr0,gr0,gr0
- 10434: R_FRV_32 \.got
- 10438: 00 00 00 08 add\.p gr0,gr8,gr0
- 10438: R_FRV_32 \.text
+00004430 <D7>:
+ 4430: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4430: R_FRV_32 \.data
+
+00004434 <\.D0>:
+ 4434: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4434: R_FRV_32 \.got
+ 4438: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4438: R_FRV_32 \.text
Disassembly of section \.got:
-000104b8 <_GLOBAL_OFFSET_TABLE_-0x8>:
- 104b8: 00 00 00 08 add\.p gr0,gr8,gr0
- 104b8: R_FRV_FUNCDESC_VALUE \.text
- 104bc: 00 00 00 02 add\.p gr0,fp,gr0
+000044b8 <_GLOBAL_OFFSET_TABLE_-0x8>:
+ 44b8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 44b8: R_FRV_FUNCDESC_VALUE \.text
+ 44bc: 00 00 00 02 add\.p gr0,fp,gr0
-000104c0 <_GLOBAL_OFFSET_TABLE_>:
+000044c0 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 104cc: 00 00 00 08 add\.p gr0,gr8,gr0
- 104cc: R_FRV_32 \.text
- 104d0: 00 00 00 00 add\.p gr0,gr0,gr0
- 104d0: R_FRV_32 \.got
- 104d4: 00 00 00 08 add\.p gr0,gr8,gr0
- 104d4: R_FRV_32 \.data
+ 44cc: 00 00 00 08 add\.p gr0,gr8,gr0
+ 44cc: R_FRV_32 \.text
+ 44d0: 00 00 00 00 add\.p gr0,gr0,gr0
+ 44d0: R_FRV_32 \.got
+ 44d4: 00 00 00 08 add\.p gr0,gr8,gr0
+ 44d4: R_FRV_32 \.data
diff --git a/ld/testsuite/ld-frv/fdpic-pie-8-fail.d b/ld/testsuite/ld-frv/fdpic-pie-8-fail.d
deleted file mode 100644
index f797b6a..0000000
--- a/ld/testsuite/ld-frv/fdpic-pie-8-fail.d
+++ /dev/null
@@ -1,6 +0,0 @@
-#name: FRV uClinux PIC relocs to global symbols with addends, failing pie linking
-#source: fdpic8.s
-#objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
-#ld: -pie
-#error: nonzero addend
diff --git a/ld/testsuite/ld-frv/fdpic-pie-8.d b/ld/testsuite/ld-frv/fdpic-pie-8.d
index 882f816..20b0ea0 100644
--- a/ld/testsuite/ld-frv/fdpic-pie-8.d
+++ b/ld/testsuite/ld-frv/fdpic-pie-8.d
@@ -2,83 +2,71 @@
#source: fdpic8.s
#objdump: -DR -j .text -j .data -j .got -j .plt
#as: -mfdpic
-#ld: -pie --version-script fdpic8min.ldv
+#ld: -pie
.*: file format elf.*frv.*
Disassembly of section \.text:
-00000498 <F8>:
- 498: 80 3c 00 02 call 4a0 <GF1\+0x4>
+000005d0 <F8>:
+ 5d0: 80 3c 00 02 call 5d8 <GF0\+0x4>
-0000049c <GF1>:
- 49c: 80 40 f0 10 addi gr15,16,gr0
- 4a0: 80 fc 00 14 setlos 0x14,gr0
- 4a4: 80 f4 00 24 setlo 0x24,gr0
- 4a8: 80 f8 00 00 sethi hi\(0x0\),gr0
- 4ac: 80 40 f0 0c addi gr15,12,gr0
- 4b0: 80 fc 00 1c setlos 0x1c,gr0
- 4b4: 80 f4 00 18 setlo 0x18,gr0
- 4b8: 80 f8 00 00 sethi hi\(0x0\),gr0
- 4bc: 80 40 ff f8 addi gr15,-8,gr0
- 4c0: 80 fc ff f0 setlos 0xfffffff0,gr0
- 4c4: 80 f4 ff c8 setlo 0xffc8,gr0
- 4c8: 80 f8 ff ff sethi 0xffff,gr0
- 4cc: 80 40 ff 48 addi gr15,-184,gr0
- 4d0: 80 fc ff 48 setlos 0xffffff48,gr0
- 4d4: 80 f4 ff 48 setlo 0xff48,gr0
- 4d8: 80 f8 ff ff sethi 0xffff,gr0
- 4dc: 80 f4 00 20 setlo 0x20,gr0
- 4e0: 80 f8 00 00 sethi hi\(0x0\),gr0
+000005d4 <GF0>:
+ 5d4: 80 40 f0 10 addi gr15,16,gr0
+ 5d8: 80 fc 00 14 setlos 0x14,gr0
+ 5dc: 80 f4 00 24 setlo 0x24,gr0
+ 5e0: 80 f8 00 00 sethi hi\(0x0\),gr0
+ 5e4: 80 40 f0 0c addi gr15,12,gr0
+ 5e8: 80 fc 00 1c setlos 0x1c,gr0
+ 5ec: 80 f4 00 18 setlo 0x18,gr0
+ 5f0: 80 f8 00 00 sethi hi\(0x0\),gr0
+ 5f4: 80 40 ff f8 addi gr15,-8,gr0
+ 5f8: 80 fc ff f0 setlos 0xfffffff0,gr0
+ 5fc: 80 f4 ff e8 setlo 0xffe8,gr0
+ 600: 80 f8 ff ff sethi 0xffff,gr0
+ 604: 80 40 ff 68 addi gr15,-152,gr0
+ 608: 80 fc ff 68 setlos 0xffffff68,gr0
+ 60c: 80 f4 ff 68 setlo 0xff68,gr0
+ 610: 80 f8 ff ff sethi 0xffff,gr0
+ 614: 80 f4 00 20 setlo 0x20,gr0
+ 618: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-000104f8 <D8>:
- 104f8: 00 00 00 08 add\.p gr0,gr8,gr0
- 104f8: R_FRV_32 \.data
+00004630 <D8>:
+ 4630: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4630: R_FRV_32 \.data
-000104fc <GD0>:
- 104fc: 00 00 00 10 add\.p gr0,gr16,gr0
- 104fc: R_FRV_32 \.got
- 10500: 00 00 00 08 add\.p gr0,gr8,gr0
- 10500: R_FRV_32 \.text
+00004634 <GD0>:
+ 4634: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4634: R_FRV_FUNCDESC \.text
+ 4638: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4638: R_FRV_32 \.text
Disassembly of section \.got:
-00010580 <_GLOBAL_OFFSET_TABLE_-0x38>:
- 10580: 00 00 00 08 add\.p gr0,gr8,gr0
- 10580: R_FRV_FUNCDESC_VALUE \.text
- 10584: 00 00 00 02 add\.p gr0,fp,gr0
- 10588: 00 00 00 08 add\.p gr0,gr8,gr0
- 10588: R_FRV_FUNCDESC_VALUE \.text
- 1058c: 00 00 00 02 add\.p gr0,fp,gr0
- 10590: 00 00 00 08 add\.p gr0,gr8,gr0
- 10590: R_FRV_FUNCDESC_VALUE \.text
- 10594: 00 00 00 02 add\.p gr0,fp,gr0
- 10598: 00 00 00 08 add\.p gr0,gr8,gr0
- 10598: R_FRV_FUNCDESC_VALUE \.text
- 1059c: 00 00 00 02 add\.p gr0,fp,gr0
- 105a0: 00 00 00 08 add\.p gr0,gr8,gr0
- 105a0: R_FRV_FUNCDESC_VALUE \.text
- 105a4: 00 00 00 02 add\.p gr0,fp,gr0
- 105a8: 00 00 00 08 add\.p gr0,gr8,gr0
- 105a8: R_FRV_FUNCDESC_VALUE \.text
- 105ac: 00 00 00 02 add\.p gr0,fp,gr0
- 105b0: 00 00 00 08 add\.p gr0,gr8,gr0
- 105b0: R_FRV_FUNCDESC_VALUE \.text
- 105b4: 00 00 00 02 add\.p gr0,fp,gr0
+000046b8 <_GLOBAL_OFFSET_TABLE_-0x18>:
+ 46b8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 46b8: R_FRV_FUNCDESC_VALUE \.text
+ 46bc: 00 00 00 02 add\.p gr0,fp,gr0
+ 46c0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 46c0: R_FRV_FUNCDESC_VALUE \.text
+ 46c4: 00 00 00 02 add\.p gr0,fp,gr0
+ 46c8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 46c8: R_FRV_FUNCDESC_VALUE \.text
+ 46cc: 00 00 00 02 add\.p gr0,fp,gr0
-000105b8 <_GLOBAL_OFFSET_TABLE_>:
+000046d0 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 105c4: 00 00 00 08 add\.p gr0,gr8,gr0
- 105c4: R_FRV_32 \.got
- 105c8: 00 00 00 08 add\.p gr0,gr8,gr0
- 105c8: R_FRV_32 \.text
- 105cc: 00 00 00 08 add\.p gr0,gr8,gr0
- 105cc: R_FRV_32 \.text
- 105d0: 00 00 00 20 add\.p gr0,gr32,gr0
- 105d0: R_FRV_32 \.got
- 105d4: 00 00 00 18 add\.p gr0,gr24,gr0
- 105d4: R_FRV_32 \.got
- 105d8: 00 00 00 08 add\.p gr0,gr8,gr0
- 105d8: R_FRV_32 \.data
- 105dc: 00 00 00 08 add\.p gr0,gr8,gr0
- 105dc: R_FRV_32 \.text
+ 46dc: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46dc: R_FRV_FUNCDESC \.text
+ 46e0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 46e0: R_FRV_32 \.text
+ 46e4: 00 00 00 08 add\.p gr0,gr8,gr0
+ 46e4: R_FRV_32 \.text
+ 46e8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46e8: R_FRV_FUNCDESC \.text
+ 46ec: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46ec: R_FRV_FUNCDESC \.text
+ 46f0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 46f0: R_FRV_32 \.data
+ 46f4: 00 00 00 08 add\.p gr0,gr8,gr0
+ 46f4: R_FRV_32 \.text
diff --git a/ld/testsuite/ld-frv/fdpic-shared-1.d b/ld/testsuite/ld-frv/fdpic-shared-1.d
index aeb3bc4..f0c5ce8 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-1.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-1.d
@@ -32,27 +32,27 @@ Disassembly of section \.text:
424: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-0001042c <D1>:
- 1042c: 00 00 00 04 add\.p gr0,gr4,gr0
- 1042c: R_FRV_32 \.data
-
-00010430 <\.D0>:
- 10430: 00 00 00 00 add\.p gr0,gr0,gr0
- 10430: R_FRV_32 \.got
- 10434: 00 00 00 04 add\.p gr0,gr4,gr0
- 10434: R_FRV_32 \.text
+0000442c <D1>:
+ 442c: 00 00 00 04 add\.p gr0,gr4,gr0
+ 442c: R_FRV_32 \.data
+
+00004430 <\.D0>:
+ 4430: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4430: R_FRV_32 \.got
+ 4434: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4434: R_FRV_32 \.text
Disassembly of section \.got:
-000104b0 <_GLOBAL_OFFSET_TABLE_-0x8>:
- 104b0: 00 00 00 04 add\.p gr0,gr4,gr0
- 104b0: R_FRV_FUNCDESC_VALUE \.text
- 104b4: 00 00 00 00 add\.p gr0,gr0,gr0
+000044b0 <_GLOBAL_OFFSET_TABLE_-0x8>:
+ 44b0: 00 00 00 04 add\.p gr0,gr4,gr0
+ 44b0: R_FRV_FUNCDESC_VALUE \.text
+ 44b4: 00 00 00 00 add\.p gr0,gr0,gr0
-000104b8 <_GLOBAL_OFFSET_TABLE_>:
+000044b8 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 104c4: 00 00 00 04 add\.p gr0,gr4,gr0
- 104c4: R_FRV_32 \.text
- 104c8: 00 00 00 00 add\.p gr0,gr0,gr0
- 104c8: R_FRV_32 \.got
- 104cc: 00 00 00 04 add\.p gr0,gr4,gr0
- 104cc: R_FRV_32 \.data
+ 44c4: 00 00 00 04 add\.p gr0,gr4,gr0
+ 44c4: R_FRV_32 \.text
+ 44c8: 00 00 00 00 add\.p gr0,gr0,gr0
+ 44c8: R_FRV_32 \.got
+ 44cc: 00 00 00 04 add\.p gr0,gr4,gr0
+ 44cc: R_FRV_32 \.data
diff --git a/ld/testsuite/ld-frv/fdpic-shared-2.d b/ld/testsuite/ld-frv/fdpic-shared-2.d
index b506788..04b7f98 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-2.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-2.d
@@ -46,36 +46,36 @@ Disassembly of section \.text:
63c: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-00010644 <D2>:
- 10644: 00 00 00 00 add\.p gr0,gr0,gr0
- 10644: R_FRV_32 GD0
+00004644 <D2>:
+ 4644: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4644: R_FRV_32 GD0
-00010648 <GD0>:
+00004648 <GD0>:
\.\.\.
- 10648: R_FRV_FUNCDESC GFb
- 1064c: R_FRV_32 GFb
+ 4648: R_FRV_FUNCDESC GFb
+ 464c: R_FRV_32 GFb
Disassembly of section \.got:
-000106e0 <_GLOBAL_OFFSET_TABLE_-0x20>:
- 106e0: 00 00 05 dc subxcc\.p gr0,gr28,gr0,icc1
- 106e0: R_FRV_FUNCDESC_VALUE GF9
- 106e4: 00 00 00 00 add\.p gr0,gr0,gr0
- 106e8: 00 00 05 d4 subxcc\.p gr0,gr20,gr0,icc1
- 106e8: R_FRV_FUNCDESC_VALUE GF8
- 106ec: 00 00 00 00 add\.p gr0,gr0,gr0
- 106f0: 00 00 05 e4 subxcc\.p gr0,gr36,gr0,icc1
- 106f0: R_FRV_FUNCDESC_VALUE GF7
- 106f4: 00 00 00 00 add\.p gr0,gr0,gr0
- 106f8: 00 00 05 cc subxcc\.p gr0,gr12,gr0,icc1
- 106f8: R_FRV_FUNCDESC_VALUE GF0
- 106fc: 00 00 00 00 add\.p gr0,gr0,gr0
+000046e0 <_GLOBAL_OFFSET_TABLE_-0x20>:
+ 46e0: 00 00 05 dc subxcc\.p gr0,gr28,gr0,icc1
+ 46e0: R_FRV_FUNCDESC_VALUE GF9
+ 46e4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46e8: 00 00 05 d4 subxcc\.p gr0,gr20,gr0,icc1
+ 46e8: R_FRV_FUNCDESC_VALUE GF8
+ 46ec: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46f0: 00 00 05 e4 subxcc\.p gr0,gr36,gr0,icc1
+ 46f0: R_FRV_FUNCDESC_VALUE GF7
+ 46f4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46f8: 00 00 05 cc subxcc\.p gr0,gr12,gr0,icc1
+ 46f8: R_FRV_FUNCDESC_VALUE GF0
+ 46fc: 00 00 00 00 add\.p gr0,gr0,gr0
-00010700 <_GLOBAL_OFFSET_TABLE_>:
+00004700 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 1070c: R_FRV_FUNCDESC GF4
- 10710: R_FRV_32 GF1
- 10714: R_FRV_FUNCDESC GF6
- 10718: R_FRV_FUNCDESC GF5
- 1071c: R_FRV_32 GD4
- 10720: R_FRV_32 GF3
- 10724: R_FRV_32 GF2
+ 470c: R_FRV_FUNCDESC GF4
+ 4710: R_FRV_32 GF1
+ 4714: R_FRV_FUNCDESC GF6
+ 4718: R_FRV_FUNCDESC GF5
+ 471c: R_FRV_32 GD4
+ 4720: R_FRV_32 GF3
+ 4724: R_FRV_32 GF2
diff --git a/ld/testsuite/ld-frv/fdpic-shared-3.d b/ld/testsuite/ld-frv/fdpic-shared-3.d
index 625975b..3c7d03a 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-3.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-3.d
@@ -32,53 +32,53 @@ Disassembly of section \.text:
474: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-0001047c <D3>:
- 1047c: 00 00 00 04 add\.p gr0,gr4,gr0
- 1047c: R_FRV_32 \.data
+0000447c <D3>:
+ 447c: 00 00 00 04 add\.p gr0,gr4,gr0
+ 447c: R_FRV_32 \.data
-00010480 <HD0>:
- 10480: 00 00 00 08 add\.p gr0,gr8,gr0
- 10480: R_FRV_32 \.got
- 10484: 00 00 00 04 add\.p gr0,gr4,gr0
- 10484: R_FRV_32 \.text
+00004480 <HD0>:
+ 4480: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4480: R_FRV_32 \.got
+ 4484: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4484: R_FRV_32 \.text
Disassembly of section \.got:
-00010500 <_GLOBAL_OFFSET_TABLE_-0x38>:
- 10500: 00 00 00 04 add\.p gr0,gr4,gr0
- 10500: R_FRV_FUNCDESC_VALUE \.text
- 10504: 00 00 00 00 add\.p gr0,gr0,gr0
- 10508: 00 00 00 04 add\.p gr0,gr4,gr0
- 10508: R_FRV_FUNCDESC_VALUE \.text
- 1050c: 00 00 00 00 add\.p gr0,gr0,gr0
- 10510: 00 00 00 04 add\.p gr0,gr4,gr0
- 10510: R_FRV_FUNCDESC_VALUE \.text
- 10514: 00 00 00 00 add\.p gr0,gr0,gr0
- 10518: 00 00 00 04 add\.p gr0,gr4,gr0
- 10518: R_FRV_FUNCDESC_VALUE \.text
- 1051c: 00 00 00 00 add\.p gr0,gr0,gr0
- 10520: 00 00 00 04 add\.p gr0,gr4,gr0
- 10520: R_FRV_FUNCDESC_VALUE \.text
- 10524: 00 00 00 00 add\.p gr0,gr0,gr0
- 10528: 00 00 00 04 add\.p gr0,gr4,gr0
- 10528: R_FRV_FUNCDESC_VALUE \.text
- 1052c: 00 00 00 00 add\.p gr0,gr0,gr0
- 10530: 00 00 00 04 add\.p gr0,gr4,gr0
- 10530: R_FRV_FUNCDESC_VALUE \.text
- 10534: 00 00 00 00 add\.p gr0,gr0,gr0
+00004500 <_GLOBAL_OFFSET_TABLE_-0x38>:
+ 4500: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4500: R_FRV_FUNCDESC_VALUE \.text
+ 4504: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4508: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4508: R_FRV_FUNCDESC_VALUE \.text
+ 450c: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4510: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4510: R_FRV_FUNCDESC_VALUE \.text
+ 4514: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4518: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4518: R_FRV_FUNCDESC_VALUE \.text
+ 451c: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4520: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4520: R_FRV_FUNCDESC_VALUE \.text
+ 4524: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4528: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4528: R_FRV_FUNCDESC_VALUE \.text
+ 452c: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4530: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4530: R_FRV_FUNCDESC_VALUE \.text
+ 4534: 00 00 00 00 add\.p gr0,gr0,gr0
-00010538 <_GLOBAL_OFFSET_TABLE_>:
+00004538 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 10544: 00 00 00 04 add\.p gr0,gr4,gr0
- 10544: R_FRV_32 \.text
- 10548: 00 00 00 00 add\.p gr0,gr0,gr0
- 10548: R_FRV_32 \.got
- 1054c: 00 00 00 28 add\.p gr0,gr40,gr0
- 1054c: R_FRV_32 \.got
- 10550: 00 00 00 04 add\.p gr0,gr4,gr0
- 10550: R_FRV_32 \.text
- 10554: 00 00 00 04 add\.p gr0,gr4,gr0
- 10554: R_FRV_32 \.text
- 10558: 00 00 00 18 add\.p gr0,gr24,gr0
- 10558: R_FRV_32 \.got
- 1055c: 00 00 00 04 add\.p gr0,gr4,gr0
- 1055c: R_FRV_32 \.data
+ 4544: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4544: R_FRV_32 \.text
+ 4548: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4548: R_FRV_32 \.got
+ 454c: 00 00 00 28 add\.p gr0,gr40,gr0
+ 454c: R_FRV_32 \.got
+ 4550: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4550: R_FRV_32 \.text
+ 4554: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4554: R_FRV_32 \.text
+ 4558: 00 00 00 18 add\.p gr0,gr24,gr0
+ 4558: R_FRV_32 \.got
+ 455c: 00 00 00 04 add\.p gr0,gr4,gr0
+ 455c: R_FRV_32 \.data
diff --git a/ld/testsuite/ld-frv/fdpic-shared-4.d b/ld/testsuite/ld-frv/fdpic-shared-4.d
index a441832..8c1098f 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-4.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-4.d
@@ -32,40 +32,41 @@ Disassembly of section \.text:
64c: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-00010654 <D4>:
- 10654: 00 00 00 04 add\.p gr0,gr4,gr0
- 10654: R_FRV_32 \.data
+00004654 <D4>:
+ 4654: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4654: R_FRV_32 \.data
-00010658 <PD0>:
- 10658: 00 00 00 00 add\.p gr0,gr0,gr0
- 10658: R_FRV_FUNCDESC PFb
- 1065c: 00 00 00 04 add\.p gr0,gr4,gr0
- 1065c: R_FRV_32 \.text
+00004658 <PD0>:
+ 4658: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4658: R_FRV_FUNCDESC \.text
+ 465c: 00 00 00 04 add\.p gr0,gr4,gr0
+ 465c: R_FRV_32 \.text
Disassembly of section \.got:
-000106d8 <_GLOBAL_OFFSET_TABLE_-0x18>:
- 106d8: 00 00 00 04 add\.p gr0,gr4,gr0
- 106d8: R_FRV_FUNCDESC_VALUE \.text
- 106dc: 00 00 00 00 add\.p gr0,gr0,gr0
- 106e0: 00 00 00 04 add\.p gr0,gr4,gr0
- 106e0: R_FRV_FUNCDESC_VALUE \.text
- 106e4: 00 00 00 00 add\.p gr0,gr0,gr0
- 106e8: 00 00 00 04 add\.p gr0,gr4,gr0
- 106e8: R_FRV_FUNCDESC_VALUE \.text
- 106ec: 00 00 00 00 add\.p gr0,gr0,gr0
+000046d8 <_GLOBAL_OFFSET_TABLE_-0x18>:
+ 46d8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46d8: R_FRV_FUNCDESC_VALUE \.text
+ 46dc: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46e0: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46e0: R_FRV_FUNCDESC_VALUE \.text
+ 46e4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46e8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46e8: R_FRV_FUNCDESC_VALUE \.text
+ 46ec: 00 00 00 00 add\.p gr0,gr0,gr0
-000106f0 <_GLOBAL_OFFSET_TABLE_>:
+000046f0 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 106fc: R_FRV_FUNCDESC PF4
- 10700: 00 00 00 04 add\.p gr0,gr4,gr0
- 10700: R_FRV_32 \.text
- 10704: 00 00 00 04 add\.p gr0,gr4,gr0
- 10704: R_FRV_32 \.data
- 10708: 00 00 00 00 add\.p gr0,gr0,gr0
- 10708: R_FRV_FUNCDESC PF6
- 1070c: 00 00 00 04 add\.p gr0,gr4,gr0
- 1070c: R_FRV_32 \.text
- 10710: 00 00 00 04 add\.p gr0,gr4,gr0
- 10710: R_FRV_32 \.text
- 10714: 00 00 00 00 add\.p gr0,gr0,gr0
- 10714: R_FRV_FUNCDESC PF5
+ 46fc: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46fc: R_FRV_FUNCDESC \.text
+ 4700: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4700: R_FRV_32 \.text
+ 4704: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4704: R_FRV_32 \.data
+ 4708: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4708: R_FRV_FUNCDESC \.text
+ 470c: 00 00 00 04 add\.p gr0,gr4,gr0
+ 470c: R_FRV_32 \.text
+ 4710: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4710: R_FRV_32 \.text
+ 4714: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4714: R_FRV_FUNCDESC \.text
diff --git a/ld/testsuite/ld-frv/fdpic-shared-5.d b/ld/testsuite/ld-frv/fdpic-shared-5.d
index d0767f6..9fcc933 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-5.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-5.d
@@ -40,44 +40,44 @@ Disassembly of section \.text:
5fc: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-00010604 <D5>:
- 10604: 00 00 00 00 add\.p gr0,gr0,gr0
- 10604: R_FRV_32 UD0
- 10608: 00 00 00 00 add\.p gr0,gr0,gr0
- 10608: R_FRV_FUNCDESC UFb
- 1060c: 00 00 00 00 add\.p gr0,gr0,gr0
- 1060c: R_FRV_32 UFb
+00004604 <D5>:
+ 4604: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4604: R_FRV_32 UD0
+ 4608: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4608: R_FRV_FUNCDESC UFb
+ 460c: 00 00 00 00 add\.p gr0,gr0,gr0
+ 460c: R_FRV_32 UFb
Disassembly of section \.got:
-000106a0 <_GLOBAL_OFFSET_TABLE_-0x20>:
- 106a0: 00 00 05 b4 subx\.p gr0,gr52,gr0,icc1
- 106a0: R_FRV_FUNCDESC_VALUE UF9
- 106a4: 00 00 00 00 add\.p gr0,gr0,gr0
- 106a8: 00 00 05 9c subx\.p gr0,gr28,gr0,icc1
- 106a8: R_FRV_FUNCDESC_VALUE UF8
- 106ac: 00 00 00 00 add\.p gr0,gr0,gr0
- 106b0: 00 00 05 ac subx\.p gr0,gr44,gr0,icc1
- 106b0: R_FRV_FUNCDESC_VALUE UF0
- 106b4: 00 00 00 00 add\.p gr0,gr0,gr0
- 106b8: 00 00 05 a4 subx\.p gr0,gr36,gr0,icc1
- 106b8: R_FRV_FUNCDESC_VALUE UF7
- 106bc: 00 00 00 00 add\.p gr0,gr0,gr0
+000046a0 <_GLOBAL_OFFSET_TABLE_-0x20>:
+ 46a0: 00 00 05 b4 subx\.p gr0,gr52,gr0,icc1
+ 46a0: R_FRV_FUNCDESC_VALUE UF9
+ 46a4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46a8: 00 00 05 9c subx\.p gr0,gr28,gr0,icc1
+ 46a8: R_FRV_FUNCDESC_VALUE UF8
+ 46ac: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46b0: 00 00 05 ac subx\.p gr0,gr44,gr0,icc1
+ 46b0: R_FRV_FUNCDESC_VALUE UF0
+ 46b4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46b8: 00 00 05 a4 subx\.p gr0,gr36,gr0,icc1
+ 46b8: R_FRV_FUNCDESC_VALUE UF7
+ 46bc: 00 00 00 00 add\.p gr0,gr0,gr0
-000106c0 <_GLOBAL_OFFSET_TABLE_>:
- 106c0: 00 00 00 00 add\.p gr0,gr0,gr0
- 106c4: 00 00 00 00 add\.p gr0,gr0,gr0
- 106c8: 00 00 00 00 add\.p gr0,gr0,gr0
- 106cc: 00 00 00 00 add\.p gr0,gr0,gr0
- 106cc: R_FRV_32 UF1
- 106d0: 00 00 00 00 add\.p gr0,gr0,gr0
- 106d0: R_FRV_FUNCDESC UF4
- 106d4: 00 00 00 00 add\.p gr0,gr0,gr0
- 106d4: R_FRV_32 UD1
- 106d8: 00 00 00 00 add\.p gr0,gr0,gr0
- 106d8: R_FRV_FUNCDESC UF6
- 106dc: 00 00 00 00 add\.p gr0,gr0,gr0
- 106dc: R_FRV_FUNCDESC UF5
- 106e0: 00 00 00 00 add\.p gr0,gr0,gr0
- 106e0: R_FRV_32 UF3
- 106e4: 00 00 00 00 add\.p gr0,gr0,gr0
- 106e4: R_FRV_32 UF2
+000046c0 <_GLOBAL_OFFSET_TABLE_>:
+ 46c0: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46c4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46c8: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46cc: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46cc: R_FRV_32 UF1
+ 46d0: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46d0: R_FRV_FUNCDESC UF4
+ 46d4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46d4: R_FRV_32 UD1
+ 46d8: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46d8: R_FRV_FUNCDESC UF6
+ 46dc: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46dc: R_FRV_FUNCDESC UF5
+ 46e0: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46e0: R_FRV_32 UF3
+ 46e4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46e4: R_FRV_32 UF2
diff --git a/ld/testsuite/ld-frv/fdpic-shared-6.d b/ld/testsuite/ld-frv/fdpic-shared-6.d
index 492fe1c..8b5168c 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-6.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-6.d
@@ -1,6 +1,74 @@
-#name: FRV uClinux PIC relocs to undefined symbols, shared linking
+#name: FRV uClinux PIC relocs to weak undefined symbols, shared linking
#source: fdpic6.s
#objdump: -DR -j .text -j .data -j .got -j .plt
#as: -mfdpic
-#ld: -shared
-#error: different segments
+#ld: -shared --defsym WD1=D6 --version-script fdpic6.ldv
+
+.*: file format elf.*frv.*
+
+Disassembly of section \.plt:
+
+0000041c <\.plt>:
+ 41c: 00 00 00 08 add\.p gr0,gr8,gr0
+ 420: c0 1a 00 06 bra 438 <F6-0x10>
+ 424: 00 00 00 00 add\.p gr0,gr0,gr0
+ 428: c0 1a 00 04 bra 438 <F6-0x10>
+ 42c: 00 00 00 10 add\.p gr0,gr16,gr0
+ 430: c0 1a 00 02 bra 438 <F6-0x10>
+ 434: 00 00 00 18 add\.p gr0,gr24,gr0
+ 438: 88 08 f1 40 ldd @\(gr15,gr0\),gr4
+ 43c: 80 30 40 00 jmpl @\(gr4,gr0\)
+ 440: 9c cc ff f0 lddi @\(gr15,-16\),gr14
+ 444: 80 30 e0 00 jmpl @\(gr14,gr0\)
+Disassembly of section \.text:
+
+00000448 <F6>:
+ 448: fe 3f ff fe call 440 <F6-0x8>
+ 44c: 80 40 f0 0c addi gr15,12,gr0
+ 450: 80 fc 00 24 setlos 0x24,gr0
+ 454: 80 f4 00 20 setlo 0x20,gr0
+ 458: 80 f8 00 00 sethi hi\(0x0\),gr0
+ 45c: 80 40 f0 10 addi gr15,16,gr0
+ 460: 80 fc 00 18 setlos 0x18,gr0
+ 464: 80 f4 00 1c setlo 0x1c,gr0
+ 468: 80 f8 00 00 sethi hi\(0x0\),gr0
+ 46c: 80 40 ff f8 addi gr15,-8,gr0
+ 470: 80 fc ff e8 setlos 0xffffffe8,gr0
+ 474: 80 f4 ff e0 setlo 0xffe0,gr0
+ 478: 80 f8 ff ff sethi 0xffff,gr0
+ 47c: 80 f4 ff 40 setlo 0xff40,gr0
+ 480: 80 f8 ff ff sethi 0xffff,gr0
+ 484: 80 f4 00 14 setlo 0x14,gr0
+ 488: 80 f8 00 00 sethi hi\(0x0\),gr0
+Disassembly of section \.data:
+
+00004490 <D6>:
+ \.\.\.
+ 4490: R_FRV_32 WD0
+ 4494: R_FRV_FUNCDESC WFb
+ 4498: R_FRV_32 WFb
+Disassembly of section \.got:
+
+00004530 <_GLOBAL_OFFSET_TABLE_-0x20>:
+ 4530: 00 00 04 38 \*unknown\*
+ 4530: R_FRV_FUNCDESC_VALUE WF9
+ 4534: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4538: 00 00 04 30 \*unknown\*
+ 4538: R_FRV_FUNCDESC_VALUE WF8
+ 453c: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4540: 00 00 04 28 \*unknown\*
+ 4540: R_FRV_FUNCDESC_VALUE WF0
+ 4544: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4548: 00 00 04 20 \*unknown\*
+ 4548: R_FRV_FUNCDESC_VALUE WF7
+ 454c: 00 00 00 00 add\.p gr0,gr0,gr0
+
+00004550 <_GLOBAL_OFFSET_TABLE_>:
+ \.\.\.
+ 455c: R_FRV_32 WF1
+ 4560: R_FRV_FUNCDESC WF4
+ 4564: R_FRV_32 WD2
+ 4568: R_FRV_FUNCDESC WF5
+ 456c: R_FRV_FUNCDESC WF6
+ 4570: R_FRV_32 WF3
+ 4574: R_FRV_32 WF2
diff --git a/ld/testsuite/ld-frv/fdpic-shared-7.d b/ld/testsuite/ld-frv/fdpic-shared-7.d
index 2b95623..80c26d3 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-7.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-7.d
@@ -32,27 +32,27 @@ Disassembly of section \.text:
424: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-0001042c <D7>:
- 1042c: 00 00 00 08 add\.p gr0,gr8,gr0
- 1042c: R_FRV_32 \.data
-
-00010430 <\.D0>:
- 10430: 00 00 00 00 add\.p gr0,gr0,gr0
- 10430: R_FRV_32 \.got
- 10434: 00 00 00 08 add\.p gr0,gr8,gr0
- 10434: R_FRV_32 \.text
+0000442c <D7>:
+ 442c: 00 00 00 08 add\.p gr0,gr8,gr0
+ 442c: R_FRV_32 \.data
+
+00004430 <\.D0>:
+ 4430: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4430: R_FRV_32 \.got
+ 4434: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4434: R_FRV_32 \.text
Disassembly of section \.got:
-000104b0 <_GLOBAL_OFFSET_TABLE_-0x8>:
- 104b0: 00 00 00 08 add\.p gr0,gr8,gr0
- 104b0: R_FRV_FUNCDESC_VALUE \.text
- 104b4: 00 00 00 00 add\.p gr0,gr0,gr0
+000044b0 <_GLOBAL_OFFSET_TABLE_-0x8>:
+ 44b0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 44b0: R_FRV_FUNCDESC_VALUE \.text
+ 44b4: 00 00 00 00 add\.p gr0,gr0,gr0
-000104b8 <_GLOBAL_OFFSET_TABLE_>:
+000044b8 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 104c4: 00 00 00 08 add\.p gr0,gr8,gr0
- 104c4: R_FRV_32 \.text
- 104c8: 00 00 00 00 add\.p gr0,gr0,gr0
- 104c8: R_FRV_32 \.got
- 104cc: 00 00 00 08 add\.p gr0,gr8,gr0
- 104cc: R_FRV_32 \.data
+ 44c4: 00 00 00 08 add\.p gr0,gr8,gr0
+ 44c4: R_FRV_32 \.text
+ 44c8: 00 00 00 00 add\.p gr0,gr0,gr0
+ 44c8: R_FRV_32 \.got
+ 44cc: 00 00 00 08 add\.p gr0,gr8,gr0
+ 44cc: R_FRV_32 \.data
diff --git a/ld/testsuite/ld-frv/fdpic-shared-8.d b/ld/testsuite/ld-frv/fdpic-shared-8.d
index fdeea73..26a5925 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-8.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-8.d
@@ -32,53 +32,53 @@ Disassembly of section \.text:
51c: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-00010524 <D8>:
- 10524: 00 00 00 04 add\.p gr0,gr4,gr0
- 10524: R_FRV_32 GD0
+00004524 <D8>:
+ 4524: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4524: R_FRV_32 GD0
-00010528 <GD0>:
- 10528: 00 00 00 10 add\.p gr0,gr16,gr0
- 10528: R_FRV_32 \.got
- 1052c: 00 00 00 08 add\.p gr0,gr8,gr0
- 1052c: R_FRV_32 \.text
+00004528 <GD0>:
+ 4528: 00 00 00 10 add\.p gr0,gr16,gr0
+ 4528: R_FRV_32 \.got
+ 452c: 00 00 00 08 add\.p gr0,gr8,gr0
+ 452c: R_FRV_32 \.text
Disassembly of section \.got:
-000105a8 <_GLOBAL_OFFSET_TABLE_-0x38>:
- 105a8: 00 00 00 08 add\.p gr0,gr8,gr0
- 105a8: R_FRV_FUNCDESC_VALUE \.text
- 105ac: 00 00 00 00 add\.p gr0,gr0,gr0
- 105b0: 00 00 00 08 add\.p gr0,gr8,gr0
- 105b0: R_FRV_FUNCDESC_VALUE \.text
- 105b4: 00 00 00 00 add\.p gr0,gr0,gr0
- 105b8: 00 00 00 08 add\.p gr0,gr8,gr0
- 105b8: R_FRV_FUNCDESC_VALUE \.text
- 105bc: 00 00 00 00 add\.p gr0,gr0,gr0
- 105c0: 00 00 00 08 add\.p gr0,gr8,gr0
- 105c0: R_FRV_FUNCDESC_VALUE \.text
- 105c4: 00 00 00 00 add\.p gr0,gr0,gr0
- 105c8: 00 00 00 08 add\.p gr0,gr8,gr0
- 105c8: R_FRV_FUNCDESC_VALUE \.text
- 105cc: 00 00 00 00 add\.p gr0,gr0,gr0
- 105d0: 00 00 00 08 add\.p gr0,gr8,gr0
- 105d0: R_FRV_FUNCDESC_VALUE \.text
- 105d4: 00 00 00 00 add\.p gr0,gr0,gr0
- 105d8: 00 00 00 08 add\.p gr0,gr8,gr0
- 105d8: R_FRV_FUNCDESC_VALUE \.text
- 105dc: 00 00 00 00 add\.p gr0,gr0,gr0
+000045a8 <_GLOBAL_OFFSET_TABLE_-0x38>:
+ 45a8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 45a8: R_FRV_FUNCDESC_VALUE \.text
+ 45ac: 00 00 00 00 add\.p gr0,gr0,gr0
+ 45b0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 45b0: R_FRV_FUNCDESC_VALUE \.text
+ 45b4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 45b8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 45b8: R_FRV_FUNCDESC_VALUE \.text
+ 45bc: 00 00 00 00 add\.p gr0,gr0,gr0
+ 45c0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 45c0: R_FRV_FUNCDESC_VALUE \.text
+ 45c4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 45c8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 45c8: R_FRV_FUNCDESC_VALUE \.text
+ 45cc: 00 00 00 00 add\.p gr0,gr0,gr0
+ 45d0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 45d0: R_FRV_FUNCDESC_VALUE \.text
+ 45d4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 45d8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 45d8: R_FRV_FUNCDESC_VALUE \.text
+ 45dc: 00 00 00 00 add\.p gr0,gr0,gr0
-000105e0 <_GLOBAL_OFFSET_TABLE_>:
+000045e0 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 105ec: 00 00 00 08 add\.p gr0,gr8,gr0
- 105ec: R_FRV_32 \.got
- 105f0: 00 00 00 04 add\.p gr0,gr4,gr0
- 105f0: R_FRV_32 GF1
- 105f4: 00 00 00 04 add\.p gr0,gr4,gr0
- 105f4: R_FRV_32 GF2
- 105f8: 00 00 00 20 add\.p gr0,gr32,gr0
- 105f8: R_FRV_32 \.got
- 105fc: 00 00 00 18 add\.p gr0,gr24,gr0
- 105fc: R_FRV_32 \.got
- 10600: 00 00 00 04 add\.p gr0,gr4,gr0
- 10600: R_FRV_32 GD4
- 10604: 00 00 00 04 add\.p gr0,gr4,gr0
- 10604: R_FRV_32 GF3
+ 45ec: 00 00 00 08 add\.p gr0,gr8,gr0
+ 45ec: R_FRV_32 \.got
+ 45f0: 00 00 00 04 add\.p gr0,gr4,gr0
+ 45f0: R_FRV_32 GF1
+ 45f4: 00 00 00 04 add\.p gr0,gr4,gr0
+ 45f4: R_FRV_32 GF2
+ 45f8: 00 00 00 20 add\.p gr0,gr32,gr0
+ 45f8: R_FRV_32 \.got
+ 45fc: 00 00 00 18 add\.p gr0,gr24,gr0
+ 45fc: R_FRV_32 \.got
+ 4600: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4600: R_FRV_32 GD4
+ 4604: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4604: R_FRV_32 GF3
diff --git a/ld/testsuite/ld-frv/fdpic-shared-local-2.d b/ld/testsuite/ld-frv/fdpic-shared-local-2.d
index 6f7b205..a857a2f 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-local-2.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-local-2.d
@@ -32,53 +32,53 @@ Disassembly of section \.text:
348: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-00010350 <D2>:
- 10350: 00 00 00 04 add\.p gr0,gr4,gr0
- 10350: R_FRV_32 \.data
+00004350 <D2>:
+ 4350: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4350: R_FRV_32 \.data
-00010354 <GD0>:
- 10354: 00 00 00 18 add\.p gr0,gr24,gr0
- 10354: R_FRV_32 \.got
- 10358: 00 00 00 04 add\.p gr0,gr4,gr0
- 10358: R_FRV_32 \.text
+00004354 <GD0>:
+ 4354: 00 00 00 18 add\.p gr0,gr24,gr0
+ 4354: R_FRV_32 \.got
+ 4358: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4358: R_FRV_32 \.text
Disassembly of section \.got:
-000103d8 <_GLOBAL_OFFSET_TABLE_-0x38>:
- 103d8: 00 00 00 04 add\.p gr0,gr4,gr0
- 103d8: R_FRV_FUNCDESC_VALUE \.text
- 103dc: 00 00 00 00 add\.p gr0,gr0,gr0
- 103e0: 00 00 00 04 add\.p gr0,gr4,gr0
- 103e0: R_FRV_FUNCDESC_VALUE \.text
- 103e4: 00 00 00 00 add\.p gr0,gr0,gr0
- 103e8: 00 00 00 04 add\.p gr0,gr4,gr0
- 103e8: R_FRV_FUNCDESC_VALUE \.text
- 103ec: 00 00 00 00 add\.p gr0,gr0,gr0
- 103f0: 00 00 00 04 add\.p gr0,gr4,gr0
- 103f0: R_FRV_FUNCDESC_VALUE \.text
- 103f4: 00 00 00 00 add\.p gr0,gr0,gr0
- 103f8: 00 00 00 04 add\.p gr0,gr4,gr0
- 103f8: R_FRV_FUNCDESC_VALUE \.text
- 103fc: 00 00 00 00 add\.p gr0,gr0,gr0
- 10400: 00 00 00 04 add\.p gr0,gr4,gr0
- 10400: R_FRV_FUNCDESC_VALUE \.text
- 10404: 00 00 00 00 add\.p gr0,gr0,gr0
- 10408: 00 00 00 04 add\.p gr0,gr4,gr0
- 10408: R_FRV_FUNCDESC_VALUE \.text
- 1040c: 00 00 00 00 add\.p gr0,gr0,gr0
+000043d8 <_GLOBAL_OFFSET_TABLE_-0x38>:
+ 43d8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 43d8: R_FRV_FUNCDESC_VALUE \.text
+ 43dc: 00 00 00 00 add\.p gr0,gr0,gr0
+ 43e0: 00 00 00 04 add\.p gr0,gr4,gr0
+ 43e0: R_FRV_FUNCDESC_VALUE \.text
+ 43e4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 43e8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 43e8: R_FRV_FUNCDESC_VALUE \.text
+ 43ec: 00 00 00 00 add\.p gr0,gr0,gr0
+ 43f0: 00 00 00 04 add\.p gr0,gr4,gr0
+ 43f0: R_FRV_FUNCDESC_VALUE \.text
+ 43f4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 43f8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 43f8: R_FRV_FUNCDESC_VALUE \.text
+ 43fc: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4400: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4400: R_FRV_FUNCDESC_VALUE \.text
+ 4404: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4408: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4408: R_FRV_FUNCDESC_VALUE \.text
+ 440c: 00 00 00 00 add\.p gr0,gr0,gr0
-00010410 <_GLOBAL_OFFSET_TABLE_>:
+00004410 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 1041c: 00 00 00 10 add\.p gr0,gr16,gr0
- 1041c: R_FRV_32 \.got
- 10420: 00 00 00 04 add\.p gr0,gr4,gr0
- 10420: R_FRV_32 \.text
- 10424: 00 00 00 28 add\.p gr0,gr40,gr0
- 10424: R_FRV_32 \.got
- 10428: 00 00 00 20 add\.p gr0,gr32,gr0
- 10428: R_FRV_32 \.got
- 1042c: 00 00 00 04 add\.p gr0,gr4,gr0
- 1042c: R_FRV_32 \.data
- 10430: 00 00 00 04 add\.p gr0,gr4,gr0
- 10430: R_FRV_32 \.text
- 10434: 00 00 00 04 add\.p gr0,gr4,gr0
- 10434: R_FRV_32 \.text
+ 441c: 00 00 00 10 add\.p gr0,gr16,gr0
+ 441c: R_FRV_32 \.got
+ 4420: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4420: R_FRV_32 \.text
+ 4424: 00 00 00 28 add\.p gr0,gr40,gr0
+ 4424: R_FRV_32 \.got
+ 4428: 00 00 00 20 add\.p gr0,gr32,gr0
+ 4428: R_FRV_32 \.got
+ 442c: 00 00 00 04 add\.p gr0,gr4,gr0
+ 442c: R_FRV_32 \.data
+ 4430: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4430: R_FRV_32 \.text
+ 4434: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4434: R_FRV_32 \.text
diff --git a/ld/testsuite/ld-frv/fdpic-shared-local-8.d b/ld/testsuite/ld-frv/fdpic-shared-local-8.d
index 7b12051..8b179e3 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-local-8.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-local-8.d
@@ -32,53 +32,53 @@ Disassembly of section \.text:
348: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-00010350 <D8>:
- 10350: 00 00 00 08 add\.p gr0,gr8,gr0
- 10350: R_FRV_32 \.data
+00004350 <D8>:
+ 4350: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4350: R_FRV_32 \.data
-00010354 <GD0>:
- 10354: 00 00 00 10 add\.p gr0,gr16,gr0
- 10354: R_FRV_32 \.got
- 10358: 00 00 00 08 add\.p gr0,gr8,gr0
- 10358: R_FRV_32 \.text
+00004354 <GD0>:
+ 4354: 00 00 00 10 add\.p gr0,gr16,gr0
+ 4354: R_FRV_32 \.got
+ 4358: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4358: R_FRV_32 \.text
Disassembly of section \.got:
-000103d8 <_GLOBAL_OFFSET_TABLE_-0x38>:
- 103d8: 00 00 00 08 add\.p gr0,gr8,gr0
- 103d8: R_FRV_FUNCDESC_VALUE \.text
- 103dc: 00 00 00 00 add\.p gr0,gr0,gr0
- 103e0: 00 00 00 08 add\.p gr0,gr8,gr0
- 103e0: R_FRV_FUNCDESC_VALUE \.text
- 103e4: 00 00 00 00 add\.p gr0,gr0,gr0
- 103e8: 00 00 00 08 add\.p gr0,gr8,gr0
- 103e8: R_FRV_FUNCDESC_VALUE \.text
- 103ec: 00 00 00 00 add\.p gr0,gr0,gr0
- 103f0: 00 00 00 08 add\.p gr0,gr8,gr0
- 103f0: R_FRV_FUNCDESC_VALUE \.text
- 103f4: 00 00 00 00 add\.p gr0,gr0,gr0
- 103f8: 00 00 00 08 add\.p gr0,gr8,gr0
- 103f8: R_FRV_FUNCDESC_VALUE \.text
- 103fc: 00 00 00 00 add\.p gr0,gr0,gr0
- 10400: 00 00 00 08 add\.p gr0,gr8,gr0
- 10400: R_FRV_FUNCDESC_VALUE \.text
- 10404: 00 00 00 00 add\.p gr0,gr0,gr0
- 10408: 00 00 00 08 add\.p gr0,gr8,gr0
- 10408: R_FRV_FUNCDESC_VALUE \.text
- 1040c: 00 00 00 00 add\.p gr0,gr0,gr0
+000043d8 <_GLOBAL_OFFSET_TABLE_-0x38>:
+ 43d8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 43d8: R_FRV_FUNCDESC_VALUE \.text
+ 43dc: 00 00 00 00 add\.p gr0,gr0,gr0
+ 43e0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 43e0: R_FRV_FUNCDESC_VALUE \.text
+ 43e4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 43e8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 43e8: R_FRV_FUNCDESC_VALUE \.text
+ 43ec: 00 00 00 00 add\.p gr0,gr0,gr0
+ 43f0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 43f0: R_FRV_FUNCDESC_VALUE \.text
+ 43f4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 43f8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 43f8: R_FRV_FUNCDESC_VALUE \.text
+ 43fc: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4400: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4400: R_FRV_FUNCDESC_VALUE \.text
+ 4404: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4408: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4408: R_FRV_FUNCDESC_VALUE \.text
+ 440c: 00 00 00 00 add\.p gr0,gr0,gr0
-00010410 <_GLOBAL_OFFSET_TABLE_>:
+00004410 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 1041c: 00 00 00 08 add\.p gr0,gr8,gr0
- 1041c: R_FRV_32 \.got
- 10420: 00 00 00 08 add\.p gr0,gr8,gr0
- 10420: R_FRV_32 \.text
- 10424: 00 00 00 08 add\.p gr0,gr8,gr0
- 10424: R_FRV_32 \.text
- 10428: 00 00 00 20 add\.p gr0,gr32,gr0
- 10428: R_FRV_32 \.got
- 1042c: 00 00 00 18 add\.p gr0,gr24,gr0
- 1042c: R_FRV_32 \.got
- 10430: 00 00 00 08 add\.p gr0,gr8,gr0
- 10430: R_FRV_32 \.data
- 10434: 00 00 00 08 add\.p gr0,gr8,gr0
- 10434: R_FRV_32 \.text
+ 441c: 00 00 00 08 add\.p gr0,gr8,gr0
+ 441c: R_FRV_32 \.got
+ 4420: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4420: R_FRV_32 \.text
+ 4424: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4424: R_FRV_32 \.text
+ 4428: 00 00 00 20 add\.p gr0,gr32,gr0
+ 4428: R_FRV_32 \.got
+ 442c: 00 00 00 18 add\.p gr0,gr24,gr0
+ 442c: R_FRV_32 \.got
+ 4430: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4430: R_FRV_32 \.data
+ 4434: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4434: R_FRV_32 \.text
diff --git a/ld/testsuite/ld-frv/fdpic-static-1.d b/ld/testsuite/ld-frv/fdpic-static-1.d
index 246e24e..dd3a498 100644
--- a/ld/testsuite/ld-frv/fdpic-static-1.d
+++ b/ld/testsuite/ld-frv/fdpic-static-1.d
@@ -33,31 +33,31 @@ Disassembly of section \.text:
Disassembly of section \.rofixup:
000100e0 <__ROFIXUP_LIST__>:
- 100e0: 00 02 01 24 sub\.p gr32,gr36,gr0
- 100e4: 00 02 01 28 sub\.p gr32,gr40,gr0
- 100e8: 00 02 01 10 sub\.p gr32,gr16,gr0
- 100ec: 00 02 01 14 sub\.p gr32,gr20,gr0
- 100f0: 00 02 01 2c sub\.p gr32,gr44,gr0
- 100f4: 00 02 01 04 sub\.p gr32,gr4,gr0
- 100f8: 00 02 01 08 sub\.p gr32,gr8,gr0
- 100fc: 00 02 01 0c sub\.p gr32,gr12,gr0
- 10100: 00 02 01 18 sub\.p gr32,gr24,gr0
+ 100e0: 00 01 41 24 sub\.p gr20,gr36,gr0
+ 100e4: 00 01 41 28 sub\.p gr20,gr40,gr0
+ 100e8: 00 01 41 10 sub\.p gr20,gr16,gr0
+ 100ec: 00 01 41 14 sub\.p gr20,gr20,gr0
+ 100f0: 00 01 41 2c sub\.p gr20,gr44,gr0
+ 100f4: 00 01 41 04 sub\.p gr20,gr4,gr0
+ 100f8: 00 01 41 08 sub\.p gr20,gr8,gr0
+ 100fc: 00 01 41 0c sub\.p gr20,gr12,gr0
+ 10100: 00 01 41 18 sub\.p gr20,gr24,gr0
Disassembly of section \.data:
-00020104 <D1>:
- 20104: 00 02 01 08 sub\.p gr32,gr8,gr0
+00014104 <D1>:
+ 14104: 00 01 41 08 sub\.p gr20,gr8,gr0
-00020108 <\.D0>:
- 20108: 00 02 01 10 sub\.p gr32,gr16,gr0
- 2010c: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+00014108 <\.D0>:
+ 14108: 00 01 41 10 sub\.p gr20,gr16,gr0
+ 1410c: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
Disassembly of section \.got:
-00020110 <_GLOBAL_OFFSET_TABLE_-0x8>:
- 20110: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 20114: 00 02 01 18 sub\.p gr32,gr24,gr0
+00014110 <_GLOBAL_OFFSET_TABLE_-0x8>:
+ 14110: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 14114: 00 01 41 18 sub\.p gr20,gr24,gr0
-00020118 <_GLOBAL_OFFSET_TABLE_>:
+00014118 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 20124: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 20128: 00 02 01 10 sub\.p gr32,gr16,gr0
- 2012c: 00 02 01 08 sub\.p gr32,gr8,gr0
+ 14124: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 14128: 00 01 41 10 sub\.p gr20,gr16,gr0
+ 1412c: 00 01 41 08 sub\.p gr20,gr8,gr0
diff --git a/ld/testsuite/ld-frv/fdpic-static-2.d b/ld/testsuite/ld-frv/fdpic-static-2.d
index 1c6b371..26003b3 100644
--- a/ld/testsuite/ld-frv/fdpic-static-2.d
+++ b/ld/testsuite/ld-frv/fdpic-static-2.d
@@ -33,63 +33,63 @@ Disassembly of section \.text:
Disassembly of section \.rofixup:
000100e0 <__ROFIXUP_LIST__>:
- 100e0: 00 02 01 98 subx\.p gr32,gr24,gr0,icc0
- 100e4: 00 02 01 ac subx\.p gr32,gr44,gr0,icc0
- 100e8: 00 02 01 a8 subx\.p gr32,gr40,gr0,icc0
- 100ec: 00 02 01 94 subx\.p gr32,gr20,gr0,icc0
- 100f0: 00 02 01 60 subcc\.p gr32,gr32,gr0,icc0
- 100f4: 00 02 01 64 subcc\.p gr32,gr36,gr0,icc0
- 100f8: 00 02 01 a0 subx\.p gr32,gr32,gr0,icc0
- 100fc: 00 02 01 70 subcc\.p gr32,gr48,gr0,icc0
- 10100: 00 02 01 74 subcc\.p gr32,gr52,gr0,icc0
- 10104: 00 02 01 9c subx\.p gr32,gr28,gr0,icc0
- 10108: 00 02 01 78 subcc\.p gr32,gr56,gr0,icc0
- 1010c: 00 02 01 7c subcc\.p gr32,gr60,gr0,icc0
- 10110: 00 02 01 80 subx\.p gr32,gr0,gr0,icc0
- 10114: 00 02 01 84 subx\.p gr32,gr4,gr0,icc0
- 10118: 00 02 01 58 subcc\.p gr32,gr24,gr0,icc0
- 1011c: 00 02 01 5c subcc\.p gr32,gr28,gr0,icc0
- 10120: 00 02 01 50 subcc\.p gr32,gr16,gr0,icc0
- 10124: 00 02 01 54 subcc\.p gr32,gr20,gr0,icc0
- 10128: 00 02 01 a4 subx\.p gr32,gr36,gr0,icc0
- 1012c: 00 02 01 44 subcc\.p gr32,gr4,gr0,icc0
- 10130: 00 02 01 68 subcc\.p gr32,gr40,gr0,icc0
- 10134: 00 02 01 6c subcc\.p gr32,gr44,gr0,icc0
- 10138: 00 02 01 48 subcc\.p gr32,gr8,gr0,icc0
- 1013c: 00 02 01 4c subcc\.p gr32,gr12,gr0,icc0
- 10140: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
+ 100e0: 00 01 41 98 subx\.p gr20,gr24,gr0,icc0
+ 100e4: 00 01 41 ac subx\.p gr20,gr44,gr0,icc0
+ 100e8: 00 01 41 a8 subx\.p gr20,gr40,gr0,icc0
+ 100ec: 00 01 41 94 subx\.p gr20,gr20,gr0,icc0
+ 100f0: 00 01 41 60 subcc\.p gr20,gr32,gr0,icc0
+ 100f4: 00 01 41 64 subcc\.p gr20,gr36,gr0,icc0
+ 100f8: 00 01 41 a0 subx\.p gr20,gr32,gr0,icc0
+ 100fc: 00 01 41 70 subcc\.p gr20,gr48,gr0,icc0
+ 10100: 00 01 41 74 subcc\.p gr20,gr52,gr0,icc0
+ 10104: 00 01 41 9c subx\.p gr20,gr28,gr0,icc0
+ 10108: 00 01 41 78 subcc\.p gr20,gr56,gr0,icc0
+ 1010c: 00 01 41 7c subcc\.p gr20,gr60,gr0,icc0
+ 10110: 00 01 41 80 subx\.p gr20,gr0,gr0,icc0
+ 10114: 00 01 41 84 subx\.p gr20,gr4,gr0,icc0
+ 10118: 00 01 41 58 subcc\.p gr20,gr24,gr0,icc0
+ 1011c: 00 01 41 5c subcc\.p gr20,gr28,gr0,icc0
+ 10120: 00 01 41 50 subcc\.p gr20,gr16,gr0,icc0
+ 10124: 00 01 41 54 subcc\.p gr20,gr20,gr0,icc0
+ 10128: 00 01 41 a4 subx\.p gr20,gr36,gr0,icc0
+ 1012c: 00 01 41 44 subcc\.p gr20,gr4,gr0,icc0
+ 10130: 00 01 41 68 subcc\.p gr20,gr40,gr0,icc0
+ 10134: 00 01 41 6c subcc\.p gr20,gr44,gr0,icc0
+ 10138: 00 01 41 48 subcc\.p gr20,gr8,gr0,icc0
+ 1013c: 00 01 41 4c subcc\.p gr20,gr12,gr0,icc0
+ 10140: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
Disassembly of section \.data:
-00020144 <D2>:
- 20144: 00 02 01 48 subcc\.p gr32,gr8,gr0,icc0
+00014144 <D2>:
+ 14144: 00 01 41 48 subcc\.p gr20,gr8,gr0,icc0
-00020148 <GD0>:
- 20148: 00 02 01 68 subcc\.p gr32,gr40,gr0,icc0
- 2014c: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+00014148 <GD0>:
+ 14148: 00 01 41 68 subcc\.p gr20,gr40,gr0,icc0
+ 1414c: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
Disassembly of section \.got:
-00020150 <_GLOBAL_OFFSET_TABLE_-0x38>:
- 20150: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 20154: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20158: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 2015c: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20160: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 20164: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20168: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 2016c: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20170: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 20174: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20178: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 2017c: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20180: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 20184: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
+00014150 <_GLOBAL_OFFSET_TABLE_-0x38>:
+ 14150: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 14154: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14158: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 1415c: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14160: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 14164: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14168: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 1416c: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14170: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 14174: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14178: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 1417c: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14180: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 14184: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
-00020188 <_GLOBAL_OFFSET_TABLE_>:
+00014188 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 20194: 00 02 01 60 subcc\.p gr32,gr32,gr0,icc0
- 20198: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 2019c: 00 02 01 78 subcc\.p gr32,gr56,gr0,icc0
- 201a0: 00 02 01 70 subcc\.p gr32,gr48,gr0,icc0
- 201a4: 00 02 01 48 subcc\.p gr32,gr8,gr0,icc0
- 201a8: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 201ac: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 14194: 00 01 41 60 subcc\.p gr20,gr32,gr0,icc0
+ 14198: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 1419c: 00 01 41 78 subcc\.p gr20,gr56,gr0,icc0
+ 141a0: 00 01 41 70 subcc\.p gr20,gr48,gr0,icc0
+ 141a4: 00 01 41 48 subcc\.p gr20,gr8,gr0,icc0
+ 141a8: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 141ac: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
diff --git a/ld/testsuite/ld-frv/fdpic-static-6.d b/ld/testsuite/ld-frv/fdpic-static-6.d
index 5b59947..54a225b 100644
--- a/ld/testsuite/ld-frv/fdpic-static-6.d
+++ b/ld/testsuite/ld-frv/fdpic-static-6.d
@@ -1,4 +1,4 @@
-#name: FRV uClinux PIC relocs to undefined symbols, static linking
+#name: FRV uClinux PIC relocs to weak undefined symbols, static linking
#source: fdpic6.s
#objdump: -D
#as: -mfdpic
diff --git a/ld/testsuite/ld-frv/fdpic-static-7.d b/ld/testsuite/ld-frv/fdpic-static-7.d
index b8eba61..0363a67 100644
--- a/ld/testsuite/ld-frv/fdpic-static-7.d
+++ b/ld/testsuite/ld-frv/fdpic-static-7.d
@@ -33,31 +33,31 @@ Disassembly of section \.text:
Disassembly of section \.rofixup:
000100e0 <__ROFIXUP_LIST__>:
- 100e0: 00 02 01 24 sub\.p gr32,gr36,gr0
- 100e4: 00 02 01 28 sub\.p gr32,gr40,gr0
- 100e8: 00 02 01 10 sub\.p gr32,gr16,gr0
- 100ec: 00 02 01 14 sub\.p gr32,gr20,gr0
- 100f0: 00 02 01 2c sub\.p gr32,gr44,gr0
- 100f4: 00 02 01 04 sub\.p gr32,gr4,gr0
- 100f8: 00 02 01 08 sub\.p gr32,gr8,gr0
- 100fc: 00 02 01 0c sub\.p gr32,gr12,gr0
- 10100: 00 02 01 18 sub\.p gr32,gr24,gr0
+ 100e0: 00 01 41 24 sub\.p gr20,gr36,gr0
+ 100e4: 00 01 41 28 sub\.p gr20,gr40,gr0
+ 100e8: 00 01 41 10 sub\.p gr20,gr16,gr0
+ 100ec: 00 01 41 14 sub\.p gr20,gr20,gr0
+ 100f0: 00 01 41 2c sub\.p gr20,gr44,gr0
+ 100f4: 00 01 41 04 sub\.p gr20,gr4,gr0
+ 100f8: 00 01 41 08 sub\.p gr20,gr8,gr0
+ 100fc: 00 01 41 0c sub\.p gr20,gr12,gr0
+ 10100: 00 01 41 18 sub\.p gr20,gr24,gr0
Disassembly of section \.data:
-00020104 <D7>:
- 20104: 00 02 01 0c sub\.p gr32,gr12,gr0
+00014104 <D7>:
+ 14104: 00 01 41 0c sub\.p gr20,gr12,gr0
-00020108 <\.D0>:
- 20108: 00 02 01 10 sub\.p gr32,gr16,gr0
- 2010c: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+00014108 <\.D0>:
+ 14108: 00 01 41 10 sub\.p gr20,gr16,gr0
+ 1410c: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
Disassembly of section \.got:
-00020110 <_GLOBAL_OFFSET_TABLE_-0x8>:
- 20110: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 20114: 00 02 01 18 sub\.p gr32,gr24,gr0
+00014110 <_GLOBAL_OFFSET_TABLE_-0x8>:
+ 14110: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 14114: 00 01 41 18 sub\.p gr20,gr24,gr0
-00020118 <_GLOBAL_OFFSET_TABLE_>:
+00014118 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 20124: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 20128: 00 02 01 10 sub\.p gr32,gr16,gr0
- 2012c: 00 02 01 0c sub\.p gr32,gr12,gr0
+ 14124: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 14128: 00 01 41 10 sub\.p gr20,gr16,gr0
+ 1412c: 00 01 41 0c sub\.p gr20,gr12,gr0
diff --git a/ld/testsuite/ld-frv/fdpic-static-8.d b/ld/testsuite/ld-frv/fdpic-static-8.d
index cbebb17..804c56e 100644
--- a/ld/testsuite/ld-frv/fdpic-static-8.d
+++ b/ld/testsuite/ld-frv/fdpic-static-8.d
@@ -33,63 +33,63 @@ Disassembly of section \.text:
Disassembly of section \.rofixup:
000100e0 <__ROFIXUP_LIST__>:
- 100e0: 00 02 01 98 subx\.p gr32,gr24,gr0,icc0
- 100e4: 00 02 01 9c subx\.p gr32,gr28,gr0,icc0
- 100e8: 00 02 01 ac subx\.p gr32,gr44,gr0,icc0
- 100ec: 00 02 01 94 subx\.p gr32,gr20,gr0,icc0
- 100f0: 00 02 01 58 subcc\.p gr32,gr24,gr0,icc0
- 100f4: 00 02 01 5c subcc\.p gr32,gr28,gr0,icc0
- 100f8: 00 02 01 a4 subx\.p gr32,gr36,gr0,icc0
- 100fc: 00 02 01 68 subcc\.p gr32,gr40,gr0,icc0
- 10100: 00 02 01 6c subcc\.p gr32,gr44,gr0,icc0
- 10104: 00 02 01 a0 subx\.p gr32,gr32,gr0,icc0
- 10108: 00 02 01 70 subcc\.p gr32,gr48,gr0,icc0
- 1010c: 00 02 01 74 subcc\.p gr32,gr52,gr0,icc0
- 10110: 00 02 01 80 subx\.p gr32,gr0,gr0,icc0
- 10114: 00 02 01 84 subx\.p gr32,gr4,gr0,icc0
- 10118: 00 02 01 78 subcc\.p gr32,gr56,gr0,icc0
- 1011c: 00 02 01 7c subcc\.p gr32,gr60,gr0,icc0
- 10120: 00 02 01 50 subcc\.p gr32,gr16,gr0,icc0
- 10124: 00 02 01 54 subcc\.p gr32,gr20,gr0,icc0
- 10128: 00 02 01 a8 subx\.p gr32,gr40,gr0,icc0
- 1012c: 00 02 01 44 subcc\.p gr32,gr4,gr0,icc0
- 10130: 00 02 01 60 subcc\.p gr32,gr32,gr0,icc0
- 10134: 00 02 01 64 subcc\.p gr32,gr36,gr0,icc0
- 10138: 00 02 01 48 subcc\.p gr32,gr8,gr0,icc0
- 1013c: 00 02 01 4c subcc\.p gr32,gr12,gr0,icc0
- 10140: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
+ 100e0: 00 01 41 98 subx\.p gr20,gr24,gr0,icc0
+ 100e4: 00 01 41 9c subx\.p gr20,gr28,gr0,icc0
+ 100e8: 00 01 41 ac subx\.p gr20,gr44,gr0,icc0
+ 100ec: 00 01 41 94 subx\.p gr20,gr20,gr0,icc0
+ 100f0: 00 01 41 58 subcc\.p gr20,gr24,gr0,icc0
+ 100f4: 00 01 41 5c subcc\.p gr20,gr28,gr0,icc0
+ 100f8: 00 01 41 a4 subx\.p gr20,gr36,gr0,icc0
+ 100fc: 00 01 41 68 subcc\.p gr20,gr40,gr0,icc0
+ 10100: 00 01 41 6c subcc\.p gr20,gr44,gr0,icc0
+ 10104: 00 01 41 a0 subx\.p gr20,gr32,gr0,icc0
+ 10108: 00 01 41 70 subcc\.p gr20,gr48,gr0,icc0
+ 1010c: 00 01 41 74 subcc\.p gr20,gr52,gr0,icc0
+ 10110: 00 01 41 80 subx\.p gr20,gr0,gr0,icc0
+ 10114: 00 01 41 84 subx\.p gr20,gr4,gr0,icc0
+ 10118: 00 01 41 78 subcc\.p gr20,gr56,gr0,icc0
+ 1011c: 00 01 41 7c subcc\.p gr20,gr60,gr0,icc0
+ 10120: 00 01 41 50 subcc\.p gr20,gr16,gr0,icc0
+ 10124: 00 01 41 54 subcc\.p gr20,gr20,gr0,icc0
+ 10128: 00 01 41 a8 subx\.p gr20,gr40,gr0,icc0
+ 1012c: 00 01 41 44 subcc\.p gr20,gr4,gr0,icc0
+ 10130: 00 01 41 60 subcc\.p gr20,gr32,gr0,icc0
+ 10134: 00 01 41 64 subcc\.p gr20,gr36,gr0,icc0
+ 10138: 00 01 41 48 subcc\.p gr20,gr8,gr0,icc0
+ 1013c: 00 01 41 4c subcc\.p gr20,gr12,gr0,icc0
+ 10140: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
Disassembly of section \.data:
-00020144 <D8>:
- 20144: 00 02 01 4c subcc\.p gr32,gr12,gr0,icc0
+00014144 <D8>:
+ 14144: 00 01 41 4c subcc\.p gr20,gr12,gr0,icc0
-00020148 <GD0>:
- 20148: 00 02 01 60 subcc\.p gr32,gr32,gr0,icc0
- 2014c: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+00014148 <GD0>:
+ 14148: 00 01 41 60 subcc\.p gr20,gr32,gr0,icc0
+ 1414c: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
Disassembly of section \.got:
-00020150 <_GLOBAL_OFFSET_TABLE_-0x38>:
- 20150: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 20154: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20158: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 2015c: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20160: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 20164: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20168: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 2016c: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20170: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 20174: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20178: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 2017c: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20180: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 20184: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
+00014150 <_GLOBAL_OFFSET_TABLE_-0x38>:
+ 14150: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 14154: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14158: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 1415c: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14160: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 14164: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14168: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 1416c: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14170: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 14174: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14178: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 1417c: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14180: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 14184: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
-00020188 <_GLOBAL_OFFSET_TABLE_>:
+00014188 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 20194: 00 02 01 58 subcc\.p gr32,gr24,gr0,icc0
- 20198: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 2019c: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 201a0: 00 02 01 70 subcc\.p gr32,gr48,gr0,icc0
- 201a4: 00 02 01 68 subcc\.p gr32,gr40,gr0,icc0
- 201a8: 00 02 01 4c subcc\.p gr32,gr12,gr0,icc0
- 201ac: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 14194: 00 01 41 58 subcc\.p gr20,gr24,gr0,icc0
+ 14198: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 1419c: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 141a0: 00 01 41 70 subcc\.p gr20,gr48,gr0,icc0
+ 141a4: 00 01 41 68 subcc\.p gr20,gr40,gr0,icc0
+ 141a8: 00 01 41 4c subcc\.p gr20,gr12,gr0,icc0
+ 141ac: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
diff --git a/ld/testsuite/ld-frv/fdpic.exp b/ld/testsuite/ld-frv/fdpic.exp
index dc06d4e..1367cb0 100644
--- a/ld/testsuite/ld-frv/fdpic.exp
+++ b/ld/testsuite/ld-frv/fdpic.exp
@@ -42,7 +42,9 @@ run_dump_test "fdpic-pie-5"
run_dump_test "fdpic-shared-5"
run_dump_test "fdpic-static-6"
+run_dump_test "fdpic-pie-6-fail"
run_dump_test "fdpic-pie-6"
+run_dump_test "fdpic-shared-6-fail"
run_dump_test "fdpic-shared-6"
run_dump_test "fdpic-static-7"
@@ -50,7 +52,6 @@ run_dump_test "fdpic-pie-7"
run_dump_test "fdpic-shared-7"
run_dump_test "fdpic-static-8"
-run_dump_test "fdpic-pie-8-fail"
run_dump_test "fdpic-pie-8"
run_dump_test "fdpic-shared-8-fail"
run_dump_test "fdpic-shared-8"
diff --git a/ld/testsuite/ld-frv/fr450-link.d b/ld/testsuite/ld-frv/fr450-link.d
new file mode 100644
index 0000000..7aab6f0
--- /dev/null
+++ b/ld/testsuite/ld-frv/fr450-link.d
@@ -0,0 +1,11 @@
+#source: fr450-linka.s -mcpu=fr400
+#source: fr450-linkb.s -mcpu=fr405
+#source: fr450-linkc.s -mcpu=fr450
+#source: fr450-linkb.s -mcpu=fr405
+#source: fr450-linka.s -mcpu=fr400
+#ld: -r
+#objdump: -p
+
+.*: file format elf32-frv
+private flags = 0x8000000: -mcpu=fr450
+
diff --git a/ld/testsuite/ld-frv/fr450-linka.s b/ld/testsuite/ld-frv/fr450-linka.s
new file mode 100644
index 0000000..4e7fe2f
--- /dev/null
+++ b/ld/testsuite/ld-frv/fr450-linka.s
@@ -0,0 +1 @@
+ nop
diff --git a/ld/testsuite/ld-frv/fr450-linkb.s b/ld/testsuite/ld-frv/fr450-linkb.s
new file mode 100644
index 0000000..4e7fe2f
--- /dev/null
+++ b/ld/testsuite/ld-frv/fr450-linkb.s
@@ -0,0 +1 @@
+ nop
diff --git a/ld/testsuite/ld-frv/fr450-linkc.s b/ld/testsuite/ld-frv/fr450-linkc.s
new file mode 100644
index 0000000..4e7fe2f
--- /dev/null
+++ b/ld/testsuite/ld-frv/fr450-linkc.s
@@ -0,0 +1 @@
+ nop
diff --git a/ld/testsuite/ld-frv/frv-elf.exp b/ld/testsuite/ld-frv/frv-elf.exp
new file mode 100644
index 0000000..1d63e03
--- /dev/null
+++ b/ld/testsuite/ld-frv/frv-elf.exp
@@ -0,0 +1,3 @@
+if [istarget frv*-*-*] {
+ run_dump_test "fr450-link"
+}
diff --git a/ld/testsuite/ld-i386/tlspic.dd b/ld/testsuite/ld-i386/tlspic.dd
index 60bcfaa..7f1690c 100644
--- a/ld/testsuite/ld-i386/tlspic.dd
+++ b/ld/testsuite/ld-i386/tlspic.dd
@@ -24,7 +24,7 @@ Disassembly of section .text:
# GD
[0-9a-f]+: 8d 04 1d 5c 00 00 00 lea 0x5c\(,%ebx,1\),%eax
# ->R_386_TLS_DTPMOD32 sg1
- [0-9a-f]+: e8 cf ff ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
+ [0-9a-f]+: e8 cf ff ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt>
# ->R_386_JUMP_SLOT ___tls_get_addr
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -57,7 +57,7 @@ Disassembly of section .text:
# GD against local variable
[0-9a-f]+: 8d 04 1d 10 00 00 00 lea 0x10\(,%ebx,1\),%eax
# ->R_386_TLS_DTPMOD32 [0x00000000 0x20000000]
- [0-9a-f]+: e8 8f ff ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
+ [0-9a-f]+: e8 8f ff ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt>
# ->R_386_JUMP_SLOT ___tls_get_addr
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -90,7 +90,7 @@ Disassembly of section .text:
# GD against hidden and local variable
[0-9a-f]+: 8d 04 1d 7c 00 00 00 lea 0x7c\(,%ebx,1\),%eax
# ->R_386_TLS_DTPMOD32 [0x00000000 0x40000000]
- [0-9a-f]+: e8 4f ff ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
+ [0-9a-f]+: e8 4f ff ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt>
# ->R_386_JUMP_SLOT ___tls_get_addr
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -123,7 +123,7 @@ Disassembly of section .text:
# GD against hidden but not local variable
[0-9a-f]+: 8d 04 1d 34 00 00 00 lea 0x34\(,%ebx,1\),%eax
# ->R_386_TLS_DTPMOD32 [0x00000000 0x60000000]
- [0-9a-f]+: e8 0f ff ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
+ [0-9a-f]+: e8 0f ff ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt>
# ->R_386_JUMP_SLOT ___tls_get_addr
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -156,7 +156,7 @@ Disassembly of section .text:
# LD
[0-9a-f]+: 8d 83 2c 00 00 00[ ]+lea 0x2c\(%ebx\),%eax
# ->R_386_TLS_DTPMOD32 [0x00000000 0x00000000]
- [0-9a-f]+: e8 d0 fe ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
+ [0-9a-f]+: e8 d0 fe ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt>
# ->R_386_JUMP_SLOT ___tls_get_addr
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -173,7 +173,7 @@ Disassembly of section .text:
# LD against hidden and local variables
[0-9a-f]+: 8d 83 2c 00 00 00[ ]+lea 0x2c\(%ebx\),%eax
# ->R_386_TLS_DTPMOD32 [0x00000000 0x00000000]
- [0-9a-f]+: e8 b1 fe ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
+ [0-9a-f]+: e8 b1 fe ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt>
# ->R_386_JUMP_SLOT ___tls_get_addr
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -190,7 +190,7 @@ Disassembly of section .text:
# LD against hidden but not local variables
[0-9a-f]+: 8d 83 2c 00 00 00[ ]+lea 0x2c\(%ebx\),%eax
# ->R_386_TLS_DTPMOD32 [0x00000000 0x00000000]
- [0-9a-f]+: e8 92 fe ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
+ [0-9a-f]+: e8 92 fe ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt>
# ->R_386_JUMP_SLOT ___tls_get_addr
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
diff --git a/ld/testsuite/ld-mips-elf/empic1-ln.d b/ld/testsuite/ld-mips-elf/empic1-ln.d
deleted file mode 100644
index eb78478..0000000
--- a/ld/testsuite/ld-mips-elf/empic1-ln.d
+++ /dev/null
@@ -1,27 +0,0 @@
-#name: MIPS 32-bit ELF embedded-pic relocs #1-ln (large negative)
-#as: -membedded-pic -mips3
-#source: empic1-tgt.s
-#source: empic1-space.s
-#source: empic1-space.s
-#source: empic1-ref.s
-#objdump: --prefix-addresses -tdr --show-raw-insn -mmips:4000
-#ld: -Ttext 0x400000 -e 0x400000
-
-.*: file format elf.*mips.*
-
-SYMBOL TABLE:
-#...
-0+410020 g F .text [0-9a-f]+ foo
-#...
-0+400000 g F .text [0-9a-f]+ bar
-#...
-
-Disassembly of section \.text:
- ...
- ...
- ...
-0+410020 <[^>]*> 00000000 nop
-0+410024 <[^>]*> 3c02ffff lui v0,0xffff
-0+410028 <[^>]*> 6442ffe0 daddiu v0,v0,-32
- ...
-#pass
diff --git a/ld/testsuite/ld-mips-elf/empic1-lp.d b/ld/testsuite/ld-mips-elf/empic1-lp.d
deleted file mode 100644
index bd11e52..0000000
--- a/ld/testsuite/ld-mips-elf/empic1-lp.d
+++ /dev/null
@@ -1,26 +0,0 @@
-#name: MIPS 32-bit ELF embedded-pic relocs #1-lp (large positive)
-#as: -membedded-pic -mips3
-#source: empic1-ref.s
-#source: empic1-space.s
-#source: empic1-space.s
-#source: empic1-tgt.s
-#objdump: --prefix-addresses -tdr --show-raw-insn -mmips:4000
-#ld: -Ttext 0x400000 -e 0x400000
-
-.*: file format elf.*mips.*
-
-SYMBOL TABLE:
-#...
-0+400000 g F .text [0-9a-f]+ foo
-#...
-0+410020 g F .text [0-9a-f]+ bar
-#...
-
-Disassembly of section \.text:
-0+400000 <[^>]*> 00000000 nop
-0+400004 <[^>]*> 3c020001 lui v0,0x1
-0+400008 <[^>]*> 64420020 daddiu v0,v0,32
- ...
- ...
- ...
-#pass
diff --git a/ld/testsuite/ld-mips-elf/empic1-mn.d b/ld/testsuite/ld-mips-elf/empic1-mn.d
deleted file mode 100644
index fa43abf..0000000
--- a/ld/testsuite/ld-mips-elf/empic1-mn.d
+++ /dev/null
@@ -1,25 +0,0 @@
-#name: MIPS 32-bit ELF embedded-pic relocs #1-mn (medium negative)
-#as: -membedded-pic -mips3
-#source: empic1-tgt.s
-#source: empic1-space.s
-#source: empic1-ref.s
-#objdump: --prefix-addresses -tdr --show-raw-insn -mmips:4000
-#ld: -Ttext 0x400000 -e 0x400000
-
-.*: file format elf.*mips.*
-
-SYMBOL TABLE:
-#...
-0+408020 g F .text [0-9a-f]+ foo
-#...
-0+400000 g F .text [0-9a-f]+ bar
-#...
-
-Disassembly of section \.text:
- ...
- ...
-0+408020 <[^>]*> 00000000 nop
-0+408024 <[^>]*> 3c02ffff lui v0,0xffff
-0+408028 <[^>]*> 64427fe0 daddiu v0,v0,32736
- ...
-#pass
diff --git a/ld/testsuite/ld-mips-elf/empic1-mp.d b/ld/testsuite/ld-mips-elf/empic1-mp.d
deleted file mode 100644
index 27d1574..0000000
--- a/ld/testsuite/ld-mips-elf/empic1-mp.d
+++ /dev/null
@@ -1,25 +0,0 @@
-#name: MIPS 32-bit ELF embedded-pic relocs #1-mp (medium positive)
-#as: -membedded-pic -mips3
-#source: empic1-ref.s
-#source: empic1-space.s
-#source: empic1-tgt.s
-#objdump: --prefix-addresses -tdr --show-raw-insn -mmips:4000
-#ld: -Ttext 0x400000 -e 0x400000
-
-.*: file format elf.*mips.*
-
-SYMBOL TABLE:
-#...
-0+400000 g F .text [0-9a-f]+ foo
-#...
-0+408020 g F .text [0-9a-f]+ bar
-#...
-
-Disassembly of section \.text:
-0+400000 <[^>]*> 00000000 nop
-0+400004 <[^>]*> 3c020001 lui v0,0x1
-0+400008 <[^>]*> 64428020 daddiu v0,v0,-32736
- ...
- ...
- ...
-#pass
diff --git a/ld/testsuite/ld-mips-elf/empic1-ref.s b/ld/testsuite/ld-mips-elf/empic1-ref.s
deleted file mode 100644
index dfa345e..0000000
--- a/ld/testsuite/ld-mips-elf/empic1-ref.s
+++ /dev/null
@@ -1,9 +0,0 @@
-
- .globl foo
- .ent foo
-foo:
- nop
- la $2, bar - foo
- .end foo
-
- .p2align 5
diff --git a/ld/testsuite/ld-mips-elf/empic1-sn.d b/ld/testsuite/ld-mips-elf/empic1-sn.d
deleted file mode 100644
index 6d041ed..0000000
--- a/ld/testsuite/ld-mips-elf/empic1-sn.d
+++ /dev/null
@@ -1,23 +0,0 @@
-#name: MIPS 32-bit ELF embedded-pic relocs #1-sn (small negative)
-#as: -membedded-pic -mips3
-#source: empic1-tgt.s
-#source: empic1-ref.s
-#objdump: --prefix-addresses -tdr --show-raw-insn -mmips:4000
-#ld: -Ttext 0x400000 -e 0x400000
-
-.*: file format elf.*mips.*
-
-SYMBOL TABLE:
-#...
-0+400020 g F .text [0-9a-f]+ foo
-#...
-0+400000 g F .text [0-9a-f]+ bar
-#...
-
-Disassembly of section \.text:
- ...
-0+400020 <[^>]*> 00000000 nop
-0+400024 <[^>]*> 3c020000 lui v0,0x0
-0+400028 <[^>]*> 6442ffe0 daddiu v0,v0,-32
- ...
-#pass
diff --git a/ld/testsuite/ld-mips-elf/empic1-sp.d b/ld/testsuite/ld-mips-elf/empic1-sp.d
deleted file mode 100644
index f91d625..0000000
--- a/ld/testsuite/ld-mips-elf/empic1-sp.d
+++ /dev/null
@@ -1,23 +0,0 @@
-#name: MIPS 32-bit ELF embedded-pic relocs #1-sp (small positive)
-#as: -membedded-pic -mips3
-#source: empic1-ref.s
-#source: empic1-tgt.s
-#objdump: --prefix-addresses -tdr --show-raw-insn -mmips:4000
-#ld: -Ttext 0x400000 -e 0x400000
-
-.*: file format elf.*mips.*
-
-SYMBOL TABLE:
-#...
-0+400000 g F .text [0-9a-f]+ foo
-#...
-0+400020 g F .text [0-9a-f]+ bar
-#...
-
-Disassembly of section \.text:
-0+400000 <[^>]*> 00000000 nop
-0+400004 <[^>]*> 3c020000 lui v0,0x0
-0+400008 <[^>]*> 64420020 daddiu v0,v0,32
- ...
- ...
-#pass
diff --git a/ld/testsuite/ld-mips-elf/empic1-space.s b/ld/testsuite/ld-mips-elf/empic1-space.s
deleted file mode 100644
index 9c30cfb..0000000
--- a/ld/testsuite/ld-mips-elf/empic1-space.s
+++ /dev/null
@@ -1,5 +0,0 @@
-
- .ent space
-space:
- .space (32 * 1024)
- .end space
diff --git a/ld/testsuite/ld-mips-elf/empic1-tgt.s b/ld/testsuite/ld-mips-elf/empic1-tgt.s
deleted file mode 100644
index 909488c..0000000
--- a/ld/testsuite/ld-mips-elf/empic1-tgt.s
+++ /dev/null
@@ -1,8 +0,0 @@
-
- .globl bar
- .ent bar
-bar:
- nop
- .end bar
-
- .p2align 5
diff --git a/ld/testsuite/ld-mips-elf/empic2-fwd-0.d b/ld/testsuite/ld-mips-elf/empic2-fwd-0.d
deleted file mode 100644
index e53f1fa..0000000
--- a/ld/testsuite/ld-mips-elf/empic2-fwd-0.d
+++ /dev/null
@@ -1,20 +0,0 @@
-#name: MIPS 32-bit ELF embedded-pic relocs #2-fwd-0 (0x7ffc forward edge case)
-#as: -membedded-pic -mips3
-#source: empic2-ref.s
-#source: empic2-fwd-tgt.s
-#objdump: --prefix-addresses -tdr --show-raw-insn -mmips:4000
-#ld: -Ttext 0x400000 -e 0x400000
-
-.*: file format elf.*mips.*
-
-#...
-0+400000 g F .text [0-9a-f]+ foo
-#...
-0+407ffc g F .text [0-9a-f]+ bar
-#...
-
-Disassembly of section \.text:
-0+400000 <[^>]*> 3c020000 lui v0,0x0
-0+400004 <[^>]*> 64427ffc daddiu v0,v0,32764
- ...
-#pass
diff --git a/ld/testsuite/ld-mips-elf/empic2-fwd-1.d b/ld/testsuite/ld-mips-elf/empic2-fwd-1.d
deleted file mode 100644
index e720852..0000000
--- a/ld/testsuite/ld-mips-elf/empic2-fwd-1.d
+++ /dev/null
@@ -1,21 +0,0 @@
-#name: MIPS 32-bit ELF embedded-pic relocs #2-fwd-1 (0xfffc forward edge case)
-#as: -membedded-pic -mips3
-#source: empic2-ref.s
-#source: empic2-space.s
-#source: empic2-fwd-tgt.s
-#objdump: --prefix-addresses -tdr --show-raw-insn -mmips:4000
-#ld: -Ttext 0x400000 -e 0x400000
-
-.*: file format elf.*mips.*
-
-#...
-0+400000 g F .text [0-9a-f]+ foo
-#...
-0+40fffc g F .text [0-9a-f]+ bar
-#...
-
-Disassembly of section \.text:
-0+400000 <[^>]*> 3c020001 lui v0,0x1
-0+400004 <[^>]*> 6442fffc daddiu v0,v0,-4
- ...
-#pass
diff --git a/ld/testsuite/ld-mips-elf/empic2-fwd-tgt.s b/ld/testsuite/ld-mips-elf/empic2-fwd-tgt.s
deleted file mode 100644
index 915cf45..0000000
--- a/ld/testsuite/ld-mips-elf/empic2-fwd-tgt.s
+++ /dev/null
@@ -1,7 +0,0 @@
-
- .space (32768 - 16 - 4) # 16..32764
-
- .globl bar
- .ent bar
-bar:
- .end bar
diff --git a/ld/testsuite/ld-mips-elf/empic2-ref.s b/ld/testsuite/ld-mips-elf/empic2-ref.s
deleted file mode 100644
index 7048887..0000000
--- a/ld/testsuite/ld-mips-elf/empic2-ref.s
+++ /dev/null
@@ -1,7 +0,0 @@
- .globl foo
- .ent foo
-foo:
- la $2,bar-foo
- .end foo
-
- .p2align 4
diff --git a/ld/testsuite/ld-mips-elf/empic2-rev-0.d b/ld/testsuite/ld-mips-elf/empic2-rev-0.d
deleted file mode 100644
index 9bd9acc..0000000
--- a/ld/testsuite/ld-mips-elf/empic2-rev-0.d
+++ /dev/null
@@ -1,22 +0,0 @@
-#name: MIPS 32-bit ELF embedded-pic relocs #2-rev-0 (0x0004 backward edge case)
-#as: -membedded-pic -mips3
-#source: empic2-rev-tgt.s
-#source: empic2-ref.s
-#objdump: --prefix-addresses -tdr --show-raw-insn -mmips:4000
-#ld: -Ttext 0x400000 -e 0x400000
-
-.*: file format elf.*mips.*
-
-#...
-0+408000 g F .text [0-9a-f]+ foo
-#...
-0+407ffc g F .text [0-9a-f]+ bar
-#...
-
-Disassembly of section \.text:
- ...
-0+407ffc <[^>]*> 00000000 nop
-0+408000 <[^>]*> 3c020000 lui v0,0x0
-0+408004 <[^>]*> 6442fffc daddiu v0,v0,-4
- ...
-#pass
diff --git a/ld/testsuite/ld-mips-elf/empic2-rev-1.d b/ld/testsuite/ld-mips-elf/empic2-rev-1.d
deleted file mode 100644
index 1a38ec2..0000000
--- a/ld/testsuite/ld-mips-elf/empic2-rev-1.d
+++ /dev/null
@@ -1,24 +0,0 @@
-#name: MIPS 32-bit ELF embedded-pic relocs #2-rev-1 (0x8004 backward edge case)
-#as: -membedded-pic -mips3
-#source: empic2-rev-tgt.s
-#source: empic2-space.s
-#source: empic2-ref.s
-#objdump: --prefix-addresses -tdr --show-raw-insn -mmips:4000
-#ld: -Ttext 0x400000 -e 0x400000
-
-.*: file format elf.*mips.*
-
-#...
-0+410000 g F .text [0-9a-f]+ foo
-#...
-0+407ffc g F .text [0-9a-f]+ bar
-#...
-
-Disassembly of section \.text:
- ...
-0+407ffc <[^>]*> 00000000 nop
- ...
-0+410000 <[^>]*> 3c02ffff lui v0,0xffff
-0+410004 <[^>]*> 64427ffc daddiu v0,v0,32764
- ...
-#pass
diff --git a/ld/testsuite/ld-mips-elf/empic2-rev-tgt.s b/ld/testsuite/ld-mips-elf/empic2-rev-tgt.s
deleted file mode 100644
index 8124cfe..0000000
--- a/ld/testsuite/ld-mips-elf/empic2-rev-tgt.s
+++ /dev/null
@@ -1,8 +0,0 @@
-
- .space (32768 - 4)
-
- .globl bar
- .ent bar
-bar:
- .space 4
- .end bar
diff --git a/ld/testsuite/ld-mips-elf/empic2-space.s b/ld/testsuite/ld-mips-elf/empic2-space.s
deleted file mode 100644
index 9c30cfb..0000000
--- a/ld/testsuite/ld-mips-elf/empic2-space.s
+++ /dev/null
@@ -1,5 +0,0 @@
-
- .ent space
-space:
- .space (32 * 1024)
- .end space
diff --git a/ld/testsuite/ld-mips-elf/emrelocs-eb.d b/ld/testsuite/ld-mips-elf/emrelocs-eb.d
deleted file mode 100644
index dd79bdd..0000000
--- a/ld/testsuite/ld-mips-elf/emrelocs-eb.d
+++ /dev/null
@@ -1,25 +0,0 @@
-#name: MIPS 32-bit ELF embedded relocs (big endian)
-#source: emrelocs1.s -EB
-#source: emrelocs2.s -EB
-#ld: -EB --embedded-relocs -T $srcdir/$subdir/emrelocs.ld
-#objdump: -s
-
-.*: file format elf.*mips.*
-
-Contents of section \.text:
- 100000 00000000 00000001 00000000 00000000 .*
- 100010 00000000 00000000 00000003 00000000 .*
-Contents of section \.data:
- 200000 00000000 00000002 00000000 00000000 .*
- 200010 00000000 00000000 00000004 00000000 .*
- 200020 00100004 00200004 00100018 00200018 .*
- 200030 00000000 00100004 00000000 00200004 .*
- 200040 00000000 00100018 00000000 00200018 .*
-Contents of section \.rel\.sdata:
- 300000 00000020 2e746578 74000000 00000024 .*
- 300010 2e646174 61000000 00000028 2e746578 .*
- 300020 74000000 0000002c 2e646174 61000000 .*
- 300030 00000031 2e746578 74000000 00000039 .*
- 300040 2e646174 61000000 00000041 2e746578 .*
- 300050 74000000 00000049 2e646174 61000000 .*
-#pass
diff --git a/ld/testsuite/ld-mips-elf/emrelocs-el.d b/ld/testsuite/ld-mips-elf/emrelocs-el.d
deleted file mode 100644
index ad1e495..0000000
--- a/ld/testsuite/ld-mips-elf/emrelocs-el.d
+++ /dev/null
@@ -1,25 +0,0 @@
-#name: MIPS 32-bit ELF embedded relocs (little endian)
-#source: emrelocs1.s -EL
-#source: emrelocs2.s -EL
-#ld: -EL --embedded-relocs -T $srcdir/$subdir/emrelocs.ld
-#objdump: -s
-
-.*: file format elf.*mips.*
-
-Contents of section \.text:
- 100000 00000000 01000000 00000000 00000000 .*
- 100010 00000000 00000000 03000000 00000000 .*
-Contents of section \.data:
- 200000 00000000 02000000 00000000 00000000 .*
- 200010 00000000 00000000 04000000 00000000 .*
- 200020 04001000 04002000 18001000 18002000 .*
- 200030 04001000 00000000 04002000 00000000 .*
- 200040 18001000 00000000 18002000 00000000 .*
-Contents of section \.rel\.sdata:
- 300000 20000000 2e746578 74000000 24000000 .*
- 300010 2e646174 61000000 28000000 2e746578 .*
- 300020 74000000 2c000000 2e646174 61000000 .*
- 300030 31000000 2e746578 74000000 39000000 .*
- 300040 2e646174 61000000 41000000 2e746578 .*
- 300050 74000000 49000000 2e646174 61000000 .*
-#pass
diff --git a/ld/testsuite/ld-mips-elf/emrelocs.ld b/ld/testsuite/ld-mips-elf/emrelocs.ld
deleted file mode 100644
index 557f139..0000000
--- a/ld/testsuite/ld-mips-elf/emrelocs.ld
+++ /dev/null
@@ -1,16 +0,0 @@
-ENTRY(ext_fun)
-SECTIONS
-{
- .text 0x00100000:
- {
- *(.text)
- }
- .data 0x00200000:
- {
- *(.sdata)
- }
- .rel.sdata 0x00300000:
- {
- *(.rel.sdata)
- }
-}
diff --git a/ld/testsuite/ld-mips-elf/emrelocs1.s b/ld/testsuite/ld-mips-elf/emrelocs1.s
deleted file mode 100644
index 3e679ae..0000000
--- a/ld/testsuite/ld-mips-elf/emrelocs1.s
+++ /dev/null
@@ -1,23 +0,0 @@
-# emrelocs1.s: some external symbols to be used in relocations.
-
- .text
- .p2align 4
-
- # Pad things so addresses which are used for relocations
- # are non-zero. Zero simply isn't as much fun.
- .word 0
-
- .globl ext_fun
- .ent ext_fun
-ext_fun: .word 1
- .end ext_fun
-
-
- .sdata
- .p2align 4
-
- # Padding here, for same reason.
- .word 0
-
- .globl ext_var
-ext_var: .word 2
diff --git a/ld/testsuite/ld-mips-elf/emrelocs2.s b/ld/testsuite/ld-mips-elf/emrelocs2.s
deleted file mode 100644
index 77570f1..0000000
--- a/ld/testsuite/ld-mips-elf/emrelocs2.s
+++ /dev/null
@@ -1,30 +0,0 @@
-# emrelocs2.s: local symbols and data which causes relocations.
-
- .text
- .p2align 4
-
- .word 0, 0
-
- .ent lcl_fun
-lcl_fun: .word 3
- .end lcl_fun
-
-
- .sdata
- .p2align 4
-
- .word 0, 0
-
-lcl_var: .word 4
-
- .p2align 4
-
- .word ext_fun
- .word ext_var
- .word lcl_fun
- .word lcl_var
-
- .dword ext_fun
- .dword ext_var
- .dword lcl_fun
- .dword lcl_var
diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp
index f2194a1..36fae9b 100644
--- a/ld/testsuite/ld-mips-elf/mips-elf.exp
+++ b/ld/testsuite/ld-mips-elf/mips-elf.exp
@@ -58,25 +58,6 @@ if { $linux_gnu } {
}
if { $embedded_elf } {
- # Check basic Embedded-PIC PC-relative HI/LO relocs.
- run_dump_test "empic1-ln"
- run_dump_test "empic1-lp"
- run_dump_test "empic1-mn"
- run_dump_test "empic1-mp"
- run_dump_test "empic1-sn"
- run_dump_test "empic1-sp"
-
- # Embedded-PIC PC-relative HI/LO reloc edge-case regression tests.
- # As of 2001-12-26, the linker botches the fwd-0 and rev-1 tests.
- run_dump_test "empic2-fwd-0"
- run_dump_test "empic2-fwd-1"
- run_dump_test "empic2-rev-0"
- run_dump_test "empic2-rev-1"
-
- # Check generation of embedded relocs section.
- run_dump_test "emrelocs-eb"
- run_dump_test "emrelocs-el"
-
run_dump_test "region1"
}
@@ -93,7 +74,3 @@ if $has_newabi {
}
}
run_dump_test "reloc-2"
-if $embedded_elf {
- run_dump_test "reloc-3-r"
- run_dump_test "reloc-3-srec"
-}
diff --git a/ld/testsuite/ld-mips-elf/reloc-3-r.d b/ld/testsuite/ld-mips-elf/reloc-3-r.d
deleted file mode 100644
index 9624e6e..0000000
--- a/ld/testsuite/ld-mips-elf/reloc-3-r.d
+++ /dev/null
@@ -1,83 +0,0 @@
-#source: reloc-3a.s -mabi=32 -membedded-pic
-#source: reloc-3b.s -mabi=32 -membedded-pic
-#ld: -r
-#objdump: -dr
-
-.*: file format .*
-
-Disassembly of section \.text:
-
-.* <.*>:
-#
-# Relocations against lda
-#
-.*: 3c04ffff lui a0,0xffff
- .*: R_MIPS_GNU_REL_HI16 \.text2
-.*: 24847ffc addiu a0,a0,32764
- .*: R_MIPS_GNU_REL_LO16 \.text2
-.*: 3c040000 lui a0,0x0
- .*: R_MIPS_GNU_REL_HI16 \.text2
-.*: 24848014 addiu a0,a0,-32748
- .*: R_MIPS_GNU_REL_LO16 \.text2
-.*: 3c040000 lui a0,0x0
- .*: R_MIPS_GNU_REL_HI16 \.text2
-.*: 2484001c addiu a0,a0,28
- .*: R_MIPS_GNU_REL_LO16 \.text2
-.*: 3c040001 lui a0,0x1
- .*: R_MIPS_GNU_REL_HI16 \.text2
-.*: 24848014 addiu a0,a0,-32748
- .*: R_MIPS_GNU_REL_LO16 \.text2
-.*: 3c040001 lui a0,0x1
- .*: R_MIPS_GNU_REL_HI16 \.text2
-.*: 2484803c addiu a0,a0,-32708
- .*: R_MIPS_GNU_REL_LO16 \.text2
- \.\.\.
-
-.* <.*>:
-#
-# Relocations against gd
-#
-.*: 3c04ffff lui a0,0xffff
- .*: R_MIPS_GNU_REL_HI16 gd
-.*: 24847ff4 addiu a0,a0,32756
- .*: R_MIPS_GNU_REL_LO16 gd
-.*: 3c040000 lui a0,0x0
- .*: R_MIPS_GNU_REL_HI16 gd
-.*: 2484800c addiu a0,a0,-32756
- .*: R_MIPS_GNU_REL_LO16 gd
-.*: 3c040000 lui a0,0x0
- .*: R_MIPS_GNU_REL_HI16 gd
-.*: 24840014 addiu a0,a0,20
- .*: R_MIPS_GNU_REL_LO16 gd
-.*: 3c040001 lui a0,0x1
- .*: R_MIPS_GNU_REL_HI16 gd
-.*: 2484800c addiu a0,a0,-32756
- .*: R_MIPS_GNU_REL_LO16 gd
-.*: 3c040001 lui a0,0x1
- .*: R_MIPS_GNU_REL_HI16 gd
-.*: 24848034 addiu a0,a0,-32716
- .*: R_MIPS_GNU_REL_LO16 gd
-#
-# Relocations against ldb
-#
-.*: 3c040000 lui a0,0x0
- .*: R_MIPS_GNU_REL_HI16 \.text2
-.*: 2484802c addiu a0,a0,-32724
- .*: R_MIPS_GNU_REL_LO16 \.text2
-.*: 3c040000 lui a0,0x0
- .*: R_MIPS_GNU_REL_HI16 \.text2
-.*: 24848044 addiu a0,a0,-32700
- .*: R_MIPS_GNU_REL_LO16 \.text2
-.*: 3c040000 lui a0,0x0
- .*: R_MIPS_GNU_REL_HI16 \.text2
-.*: 2484004c addiu a0,a0,76
- .*: R_MIPS_GNU_REL_LO16 \.text2
-.*: 3c040001 lui a0,0x1
- .*: R_MIPS_GNU_REL_HI16 \.text2
-.*: 24848044 addiu a0,a0,-32700
- .*: R_MIPS_GNU_REL_LO16 \.text2
-.*: 3c040001 lui a0,0x1
- .*: R_MIPS_GNU_REL_HI16 \.text2
-.*: 2484806c addiu a0,a0,-32660
- .*: R_MIPS_GNU_REL_LO16 \.text2
- \.\.\.
diff --git a/ld/testsuite/ld-mips-elf/reloc-3-srec.d b/ld/testsuite/ld-mips-elf/reloc-3-srec.d
deleted file mode 100644
index a4a7d24..0000000
--- a/ld/testsuite/ld-mips-elf/reloc-3-srec.d
+++ /dev/null
@@ -1,54 +0,0 @@
-#source: reloc-3a.s -mabi=32 -membedded-pic -EB
-#source: reloc-3b.s -mabi=32 -membedded-pic -EB
-#ld: --oformat=srec -Treloc-3.ld
-#objdump: -D -mmips:4000 --endian=big
-
-.*: file format .*
-
-Disassembly of section .*:
-
-.* <.*>:
-# .text2 - tstarta = 0x108000
-# .text2 - tstartb = 0x098010
-#
-# Relocations against lda
-#
-.*: 3c040010 lui a0,0x10
-.*: 2484fff8 addiu a0,a0,-8
-.*: 3c040010 lui a0,0x10
-.*: 24840008 addiu a0,a0,8
-.*: 3c040011 lui a0,0x11
-.*: 24848008 addiu a0,a0,-32760
-.*: 3c040011 lui a0,0x11
-.*: 2484fff8 addiu a0,a0,-8
-.*: 3c040011 lui a0,0x11
-.*: 24840018 addiu a0,a0,24
- \.\.\.
-#
-# Relocations against gd
-#
-.*: 3c04000f lui a0,0xf
-.*: 24840004 addiu a0,a0,4
-.*: 3c04000f lui a0,0xf
-.*: 24840014 addiu a0,a0,20
-.*: 3c040010 lui a0,0x10
-.*: 24848014 addiu a0,a0,-32748
-.*: 3c040010 lui a0,0x10
-.*: 24840004 addiu a0,a0,4
-.*: 3c040010 lui a0,0x10
-.*: 24840024 addiu a0,a0,36
-#
-# Relocations against ldb
-#
-.*: 3c04000f lui a0,0xf
-.*: 24840010 addiu a0,a0,16
-.*: 3c04000f lui a0,0xf
-.*: 24840020 addiu a0,a0,32
-.*: 3c040010 lui a0,0x10
-.*: 24848020 addiu a0,a0,-32736
-.*: 3c040010 lui a0,0x10
-.*: 24840010 addiu a0,a0,16
-.*: 3c040010 lui a0,0x10
-.*: 24840030 addiu a0,a0,48
- \.\.\.
-#pass
diff --git a/ld/testsuite/ld-mips-elf/reloc-3.ld b/ld/testsuite/ld-mips-elf/reloc-3.ld
deleted file mode 100644
index a918bf9..0000000
--- a/ld/testsuite/ld-mips-elf/reloc-3.ld
+++ /dev/null
@@ -1,8 +0,0 @@
-SECTIONS
-{
- . = 0x208000;
- .text : { *(.text) }
- . = 0x310000;
- .text2 : { *(.text2) }
- /DISCARD/ : { *(*) }
-}
diff --git a/ld/testsuite/ld-mips-elf/reloc-3a.s b/ld/testsuite/ld-mips-elf/reloc-3a.s
deleted file mode 100644
index f0cdabd..0000000
--- a/ld/testsuite/ld-mips-elf/reloc-3a.s
+++ /dev/null
@@ -1,38 +0,0 @@
- .globl _start
- .globl gd
- .ent tstarta
-tstarta:
-_start:
- la $4,lda-tstarta-0x8010
- # (.text2+8-0x8010) - tstarta [+ (tstarta+0x4)]
- # relocation: .text2 - 0x8004
- # final value: .text2 - tstarta - 0x8008
-
- la $4,lda-tstarta-0x8000
- # (.text2+8-0x8000) - tstarta [+ (tstarta+0xc)]
- # relocation: .text2 - 0x7fec
- # final value: .text2 - tstarta - 0x7ff8
-
- la $4,lda-tstarta
- # (.text2+8) - tstarta [+ (tstarta+0x14)]
- # relocation: .text2 + 0x1c
- # final value: .text2 - tstarta + 0x8
-
- la $4,lda-tstarta+0x7ff0
- # (.text2+8+0x7ff0) - tstarta [+ (tstarta+0x1c)]
- # relocation: .text2 + 0x8014
- # final value: .text2 - tstarta + 0x7ff8
-
- la $4,lda-tstarta+0x8010 # (.text2+8)-(tstarta+0x8010)+0x24
- # (.text2+8+0x8010) - tstarta [+ (tstarta+0x24)]
- # relocation: .text2 + 0x803c
- # final value: .text2 - tstarta + 0x8018
-
- .end tstarta
-
- .org 0xfff0
- .section .text2
- .word 1
-gd: .word 2
-lda: .word 3
- .word 4
diff --git a/ld/testsuite/ld-mips-elf/reloc-3b.s b/ld/testsuite/ld-mips-elf/reloc-3b.s
deleted file mode 100644
index 8d50334..0000000
--- a/ld/testsuite/ld-mips-elf/reloc-3b.s
+++ /dev/null
@@ -1,58 +0,0 @@
- .globl _start
- .globl gd
- .ent tstartb
-tstartb:
- la $4,gd-tstartb-0x8010
- # (gd-0x8010) - tstartb [+ (tstartb+0x4)]
- # relocation: gd - 0x800c
- # final value: gd - tstartb - 0x8010
-
- la $4,gd-tstartb-0x8000
- # (gd-0x8000) - tstartb [+ (tstartb+0xc)]
- # relocation: gd - 0x7ff4
- # final value: gd - tstartb - 0x8000
-
- la $4,gd-tstartb
- # (gd) - tstartb [+ (tstartb+0x14)]
- # relocation: gd + 0x14
- # final value: gd - tstartb
-
- la $4,gd-tstartb+0x7ff0
- # (gd+0x7ff0) - tstartb [+ (tstartb+0x1c)]
- # relocation: gd + 0x800c
- # final value: gd - tstartb + 0x7ff0
-
- la $4,gd-tstartb+0x8010
- # (gd+0x8010) - tstartb [+ (tstartb+0x24)]
- # relocation: gd + 0x8034
- # final value: gd - tstartb + 0x8010
-
- la $4,ldb-tstartb-0x8010
- # (.text2+0x10-0x8010) - tstartb [+ (tstartb+0x2c)]
- # relocation: .text2 - 0x7fd4
- # final value: .text2 - tstartb - 0x8000
-
- la $4,ldb-tstartb-0x8000
- # (.text2+0x10-0x8000) - tstartb [+ (tstartb+0x34)]
- # relocation: .text2 - 0x7fbc
- # final value: .text2 - tstartb - 0x7ff0
-
- la $4,ldb-tstartb
- # (.text2+0x10) - tstartb [+ (tstartb+0x3c)]
- # relocation: .text2 + 0x4c
- # final value: .text2 - tstartb + 0x10
-
- la $4,ldb-tstartb+0x7ff0
- # (.text2+0x10+0x7ff0) - tstartb [+ (tstartb+0x44)]
- # relocation: .text2 + 0x8044
- # final value: .text2 - tstartb + 0x8000
-
- la $4,ldb-tstartb+0x8010
- # (.text2+0x10+0x8010) - tstartb [+ (tstartb+0x4c)]
- # relocation: .text2 + 0x806c
- # final value: .text2 - tstartb + 0x8020
-
- .end tstartb
- .space 16
- .section .text2
-ldb: .word 5
diff --git a/ld/testsuite/ld-powerpc/tlsexe.r b/ld/testsuite/ld-powerpc/tlsexe.r
index 06ad8a3..e4a61d2 100644
--- a/ld/testsuite/ld-powerpc/tlsexe.r
+++ b/ld/testsuite/ld-powerpc/tlsexe.r
@@ -69,7 +69,7 @@ Symbol table '\.dynsym' contains 10 entries:
+0: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND
+1: 0+100104c0 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+2: 0+ +0 TLS +GLOBAL DEFAULT +UND gd
- +3: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr
+ +3: 0+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_addr
+4: 0+ +0 FUNC +GLOBAL DEFAULT +UND \.__tls_get_addr
+5: 0+ +0 TLS +GLOBAL DEFAULT +UND ld
+6: 0+50 +0 TLS +GLOBAL DEFAULT +11 ld2
@@ -109,7 +109,7 @@ Symbol table '\.symtab' contains 43 entries:
+27: 0+100104c0 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+28: 0+ +0 TLS +GLOBAL DEFAULT +UND gd
+29: 0+60 +0 TLS +GLOBAL DEFAULT +11 le0
- +30: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr
+ +30: 0+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_addr
+31: 0+ +0 FUNC +GLOBAL DEFAULT +UND \.__tls_get_addr
+32: 0+40 +0 TLS +GLOBAL DEFAULT +11 ld0
+33: 0+68 +0 TLS +GLOBAL DEFAULT +11 le1
diff --git a/ld/testsuite/ld-powerpc/tlsexe32.d b/ld/testsuite/ld-powerpc/tlsexe32.d
index 4aea8f0..c2cf43f 100644
--- a/ld/testsuite/ld-powerpc/tlsexe32.d
+++ b/ld/testsuite/ld-powerpc/tlsexe32.d
@@ -43,7 +43,3 @@ Disassembly of section \.got:
18103b8: 4e 80 00 21 blrl
18103bc: 01 81 03 18 \.long 0x1810318
\.\.\.
-Disassembly of section \.plt:
-
-018103d4 <\.plt>:
- \.\.\.
diff --git a/ld/testsuite/ld-powerpc/tlsexetoc.r b/ld/testsuite/ld-powerpc/tlsexetoc.r
index e3c4e8e..4daae33 100644
--- a/ld/testsuite/ld-powerpc/tlsexetoc.r
+++ b/ld/testsuite/ld-powerpc/tlsexetoc.r
@@ -68,7 +68,7 @@ Symbol table '\.dynsym' contains 9 entries:
+0: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND
+1: 0+10010448 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+2: 0+ +0 TLS +GLOBAL DEFAULT +UND gd
- +3: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr
+ +3: 0+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_addr
+4: 0+ +0 FUNC +GLOBAL DEFAULT +UND \.__tls_get_addr
+5: 0+ +0 TLS +GLOBAL DEFAULT +UND ld
+6: 0+100105f0 +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
@@ -108,7 +108,7 @@ Symbol table '\.symtab' contains 44 entries:
+28: 0+10010448 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+29: 0+ +0 TLS +GLOBAL DEFAULT +UND gd
+30: 0+60 +0 TLS +GLOBAL DEFAULT +11 le0
- +31: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr
+ +31: 0+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_addr
+32: 0+ +0 FUNC +GLOBAL DEFAULT +UND \.__tls_get_addr
+33: 0+40 +0 TLS +GLOBAL DEFAULT +11 ld0
+34: 0+68 +0 TLS +GLOBAL DEFAULT +11 le1
diff --git a/ld/testsuite/ld-powerpc/tlsso32.d b/ld/testsuite/ld-powerpc/tlsso32.d
index 3cf6a76..5e321a4 100644
--- a/ld/testsuite/ld-powerpc/tlsso32.d
+++ b/ld/testsuite/ld-powerpc/tlsso32.d
@@ -43,7 +43,3 @@ Disassembly of section \.got:
10664: 4e 80 00 21 blrl
10668: 00 01 05 c4 \.long 0x105c4
\.\.\.
-Disassembly of section \.plt:
-
-00010698 <\.plt>:
- \.\.\.
diff --git a/ld/testsuite/ld-scripts/align.exp b/ld/testsuite/ld-scripts/align.exp
index 3959e6d..f7664ca 100644
--- a/ld/testsuite/ld-scripts/align.exp
+++ b/ld/testsuite/ld-scripts/align.exp
@@ -17,6 +17,11 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+if [istarget "rs6000-*-aix*"] {
+ # Target maps .text and .data to other sections.
+ return
+}
+
set testname "ALIGN"
if ![ld_assemble $as $srcdir/$subdir/align.s tmpdir/align.o] {
diff --git a/ld/testsuite/ld-scripts/assert.s b/ld/testsuite/ld-scripts/assert.s
index 0517ffe..8b13789 100644
--- a/ld/testsuite/ld-scripts/assert.s
+++ b/ld/testsuite/ld-scripts/assert.s
@@ -1 +1 @@
-#nothing here
+
diff --git a/ld/testsuite/ld-scripts/data.d b/ld/testsuite/ld-scripts/data.d
index 6284686..10b3d08 100644
--- a/ld/testsuite/ld-scripts/data.d
+++ b/ld/testsuite/ld-scripts/data.d
@@ -5,5 +5,5 @@
.*: file format .*
Contents of section .text:
- 1000 (0410)?0000(1004)? (0810)?0000(1008)? +........ *
+ [0-9a-f]* (04)?000000(04)? (0020)?0000(2000)? .*
#pass
diff --git a/ld/testsuite/ld-scripts/data.s b/ld/testsuite/ld-scripts/data.s
index 0517ffe..8b13789 100644
--- a/ld/testsuite/ld-scripts/data.s
+++ b/ld/testsuite/ld-scripts/data.s
@@ -1 +1 @@
-#nothing here
+
diff --git a/ld/testsuite/ld-scripts/data.t b/ld/testsuite/ld-scripts/data.t
index 359a02f..f56d10f 100644
--- a/ld/testsuite/ld-scripts/data.t
+++ b/ld/testsuite/ld-scripts/data.t
@@ -1,10 +1,11 @@
SECTIONS
{
- .text 0x1000 :
+ . = 0x1000 + SIZEOF_HEADERS;
+ .text ALIGN (0x20) :
{
- LONG (label)
+ LONG (label - .)
label = .;
LONG (ADDR (.other))
}
- .other : {}
+ .other 0x2000 : {}
}
diff --git a/ld/testsuite/ld-scripts/defined2.d b/ld/testsuite/ld-scripts/defined2.d
index 6bb0682..6e6e068 100644
--- a/ld/testsuite/ld-scripts/defined2.d
+++ b/ld/testsuite/ld-scripts/defined2.d
@@ -10,8 +10,11 @@
#...
0+1 [AT] defined1
+#...
0+11 A defined2
+#...
0+100 A defined3
+#...
0+1ff A defined4
#...
0+3 T sym1
diff --git a/ld/testsuite/ld-scripts/defined3.d b/ld/testsuite/ld-scripts/defined3.d
index 1a7946d..0b3831c 100644
--- a/ld/testsuite/ld-scripts/defined3.d
+++ b/ld/testsuite/ld-scripts/defined3.d
@@ -11,15 +11,24 @@
#...
0+1 [AT] defined
+#...
0+200 A defined1
+#...
0+201 A defined2
+#...
0+100 A defined3
+#...
0+ [AT] defined4
+#...
0+2a A defined5
+#...
0+ [AT] defined6
+#...
0+1 [AT] defined7
+#...
0+1 [AT] defined8
#...
0+2a A sym1
+#...
[0-9a-f]+ T sym2
#pass
diff --git a/ld/testsuite/ld-scripts/provide-1.d b/ld/testsuite/ld-scripts/provide-1.d
index bec3982..ac8719a 100644
--- a/ld/testsuite/ld-scripts/provide-1.d
+++ b/ld/testsuite/ld-scripts/provide-1.d
@@ -5,4 +5,5 @@
.*: file format .*
Contents of section .data:
- 0000 (08)?000000(08)? (0c)?000000(0c)? 00000000 ............
+ [0-9a-f]* (1020)?0000(2010)? (2020)?0000(2020)? 00000000 .*
+#pass
diff --git a/ld/testsuite/ld-scripts/provide-1.s b/ld/testsuite/ld-scripts/provide-1.s
index 6395f3a..1e33540 100644
--- a/ld/testsuite/ld-scripts/provide-1.s
+++ b/ld/testsuite/ld-scripts/provide-1.s
@@ -1,3 +1,4 @@
.data
.globl foo
foo: .long 0
+ .p2align 4
diff --git a/ld/testsuite/ld-scripts/provide-1.t b/ld/testsuite/ld-scripts/provide-1.t
index dd30956..6b96b33 100644
--- a/ld/testsuite/ld-scripts/provide-1.t
+++ b/ld/testsuite/ld-scripts/provide-1.t
@@ -1,9 +1,10 @@
SECTIONS
{
- .data :
+ .data 0x2000 :
{
LONG (foo)
LONG (bar)
+ . = ALIGN (0x10);
*(.data)
}
PROVIDE (foo = .);
diff --git a/ld/testsuite/ld-scripts/provide-2.d b/ld/testsuite/ld-scripts/provide-2.d
index 3b59e32..f8bd0cf 100644
--- a/ld/testsuite/ld-scripts/provide-2.d
+++ b/ld/testsuite/ld-scripts/provide-2.d
@@ -1,6 +1,7 @@
#source: provide-2.s
#ld: -T provide-2.t
#nm: -B
+#...
0+3 A baz
0+0 D foo
-
+#pass
diff --git a/ld/testsuite/ld-scripts/provide-2.s b/ld/testsuite/ld-scripts/provide-2.s
index 6fa93e4..f9138db 100644
--- a/ld/testsuite/ld-scripts/provide-2.s
+++ b/ld/testsuite/ld-scripts/provide-2.s
@@ -4,3 +4,5 @@ foo: .long 0
.globl baz
.long baz
+
+ .p2align 4
diff --git a/ld/testsuite/ld-scripts/provide-3.d b/ld/testsuite/ld-scripts/provide-3.d
index 1ee38e3..c8b12da 100644
--- a/ld/testsuite/ld-scripts/provide-3.d
+++ b/ld/testsuite/ld-scripts/provide-3.d
@@ -1,3 +1,3 @@
-#source: provide-2.s
-#ld: -T provide-2.t
+#source: provide-3.s
+#ld: -T provide-3.t
#error: symbol defined in linker script and object file
diff --git a/ld/testsuite/ld-scripts/provide-3.s b/ld/testsuite/ld-scripts/provide-3.s
index 6395f3a..1e33540 100644
--- a/ld/testsuite/ld-scripts/provide-3.s
+++ b/ld/testsuite/ld-scripts/provide-3.s
@@ -1,3 +1,4 @@
.data
.globl foo
foo: .long 0
+ .p2align 4
diff --git a/ld/testsuite/ld-scripts/provide.exp b/ld/testsuite/ld-scripts/provide.exp
index 0092674..4e34501 100644
--- a/ld/testsuite/ld-scripts/provide.exp
+++ b/ld/testsuite/ld-scripts/provide.exp
@@ -17,6 +17,11 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+if [istarget "rs6000-*-aix*"] {
+ # Target maps .text and .data to other sections.
+ return
+}
+
set testname "provide"
run_dump_test provide-1
diff --git a/ld/testsuite/ld-scripts/size-1.d b/ld/testsuite/ld-scripts/size-1.d
index 667f531..641fbca 100644
--- a/ld/testsuite/ld-scripts/size-1.d
+++ b/ld/testsuite/ld-scripts/size-1.d
@@ -4,13 +4,11 @@
.*: file format .*
+#...
Contents of section \.text:
- 0+00 (01)?000000(01)? (02)?000000(02)? ........
+ [0-9a-f]* (01)?000000(01)? (02)?000000(02)? .*
+#...
Contents of section \.data:
- 0+08 (03)?000000(03)? (04)?000000(04)? (05)?000000(05)? ............
-Contents of section \.tdata:
- 0+24 (06)?000000 07000000 08000000 09000000 ................
- 0+34 (0a)?000000 ....
-Contents of section \.map:
- 0+38 (08)?000000(08)? (0c)?000000(0c)? (10)?000000(10)? (14)?000000(14)? ................
- 0+48 (18)?000000(18)? ....
+ [0-9a-f]* (03)?000000(03)? (04)?000000(04)? (05)?000000(05)? 00000000 .*
+ [0-9a-f]* (20)?000000(20)? (18)?000000(18)? .*
+#pass
diff --git a/ld/testsuite/ld-scripts/size-1.s b/ld/testsuite/ld-scripts/size-1.s
index 53721fa..7f5a5fd 100644
--- a/ld/testsuite/ld-scripts/size-1.s
+++ b/ld/testsuite/ld-scripts/size-1.s
@@ -1,15 +1,7 @@
- .section .text,"ax",@progbits
+ .text
.long 1,2
+ .p2align 5
- .section .data,"aw",@progbits
+ .data
.long 3,4,5
-
- .section .bss,"aw",@nobits
- .long 0,0,0,0
-
- # thread local storage sections
- .section .tdata,"awT",@progbits
- .long 6,7,8,9,10
-
- .section .tbss,"awT",@nobits
- .long 0,0,0,0,0,0
+ .p2align 4
diff --git a/ld/testsuite/ld-scripts/size-1.t b/ld/testsuite/ld-scripts/size-1.t
index 8582840..bb48665 100644
--- a/ld/testsuite/ld-scripts/size-1.t
+++ b/ld/testsuite/ld-scripts/size-1.t
@@ -1,15 +1,10 @@
SECTIONS
{
- .text : { *(.text) }
- .data : { *(.data) }
- .bss : { *(.bss) }
- .tdata : { *(.tdata) }
- .tbss : { *(.tbss) }
- .map : {
+ . = 0x1000 + SIZEOF_HEADERS;
+ .text ALIGN (0x20) : { *(.text) }
+ .data 0x2000 : {
+ *(.data)
LONG (SIZEOF (.text))
LONG (SIZEOF (.data))
- LONG (SIZEOF (.bss))
- LONG (SIZEOF (.tdata))
- LONG (SIZEOF (.tbss))
}
}
diff --git a/ld/testsuite/ld-scripts/size-2.d b/ld/testsuite/ld-scripts/size-2.d
index 3cbfb44..dfcc3e4 100644
--- a/ld/testsuite/ld-scripts/size-2.d
+++ b/ld/testsuite/ld-scripts/size-2.d
@@ -1,20 +1,17 @@
#source: size-2.s
#ld: -T size-2.t
-#readelf: -l
+#readelf: -l --wide
#...
Program Headers:
- Type Offset VirtAddr PhysAddr
- FileSiz MemSiz Flags Align
- PHDR 0x[0-9a-f]+ 0x0+0000 0x0+0000
- 0x[0-9a-f]+ 0x[0-9a-f]+ R .
- LOAD 0x[0-9a-f]+ 0x0+0000 0x0+0000
- 0x0+0030 0x0+0030 R [0-9a-f]+
- TLS 0x[0-9a-f]+ 0x0+0008 0x0+0008
- 0x0+0014 0x0+002c R [0-9a-f]+
+ +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg +Align
+ +PHDR +0x[0-9a-f]+ 0x0+0000 0x0+0000 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x[0-9a-f]+
+#...
+ +LOAD +0x[0-9a-f]+ 0x0+0100 0x0+0100 0x0+0030 0x0+0030 R E +0x[0-9a-f]+
+ +TLS +0x[0-9a-f]+ 0x0+0108 0x0+0108 0x0+0014 0x0+002c R +0x[0-9a-f]+
Section to Segment mapping:
- Segment Sections...
- 00 \.text \.tdata \.tbss \.map
- 01 \.text \.tdata \.map
- 02 \.tdata \.tbss \.map
+ +Segment Sections\.\.\.
+ +00 .*
+ +01 +\.text \.tdata \.map
+ +02 +\.tdata \.tbss \.map
diff --git a/ld/testsuite/ld-scripts/size-2.s b/ld/testsuite/ld-scripts/size-2.s
index eba3224..6b10250 100644
--- a/ld/testsuite/ld-scripts/size-2.s
+++ b/ld/testsuite/ld-scripts/size-2.s
@@ -1,9 +1,8 @@
- .section .text,"ax",@progbits
+ .text
.long 1,2
- # thread local storage sections
- .section .tdata,"awT",@progbits
+ .section .tdata
.long 6,7,8,9,10
- .section .tbss,"awT",@nobits
+ .section .tbss
.long 0,0,0,0,0,0
diff --git a/ld/testsuite/ld-scripts/size-2.t b/ld/testsuite/ld-scripts/size-2.t
index 3549321..e67b3fa 100644
--- a/ld/testsuite/ld-scripts/size-2.t
+++ b/ld/testsuite/ld-scripts/size-2.t
@@ -2,13 +2,13 @@ PHDRS
{
header PT_PHDR FILEHDR PHDRS ;
- image PT_LOAD FLAGS (4);
+ image PT_LOAD FLAGS (5);
tls PT_TLS FLAGS (4);
}
SECTIONS
{
- .text : { *(.text) } :image
+ .text 0x100 : { *(.text) } :image
.tdata : { *(.tdata) } :image :tls
.tbss : { *(.tbss) } :image : tls
.map : {
diff --git a/ld/testsuite/ld-scripts/size.exp b/ld/testsuite/ld-scripts/size.exp
index 5fff2bd..42e4e47 100644
--- a/ld/testsuite/ld-scripts/size.exp
+++ b/ld/testsuite/ld-scripts/size.exp
@@ -16,8 +16,20 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
+if [istarget "rs6000-*-aix*"] {
+ # Target maps .text and .data to other sections.
+ return
+}
+
run_dump_test size-1
-if { [istarget "*-*-elf*"] } {
- run_dump_test size-2
+if ![is_elf_format] {
+ return
}
+
+if [istarget "mips*-*-*"] {
+ # MIPS inserts a REGINFO PHDR
+ return
+}
+
+run_dump_test size-2
diff --git a/ld/testsuite/ld-sh/tlsbin-1.d b/ld/testsuite/ld-sh/tlsbin-1.d
index 9f6d84f..e3f4834 100644
--- a/ld/testsuite/ld-sh/tlsbin-1.d
+++ b/ld/testsuite/ld-sh/tlsbin-1.d
@@ -21,7 +21,7 @@ Disassembly of section \.text:
401010: 09 00 nop
401012: 09 00 nop
401014: 09 00 nop
- 401016: 04 d0 mov\.l 401028 <fn2\+0x28>,r0 ! 0x1c
+ 401016: 04 d0 mov\.l 401028 <fn2\+0x28>,r0 ! 0x1c .*
401018: 12 04 stc gbr,r4
40101a: ce 00 mov\.l @\(r0,r12\),r0
40101c: 4c 30 add r4,r0
@@ -38,7 +38,7 @@ Disassembly of section \.text:
401032: 09 00 nop
401034: 09 00 nop
401036: 09 00 nop
- 401038: 03 d0 mov\.l 401048 <fn2\+0x48>,r0 ! 0x14
+ 401038: 03 d0 mov\.l 401048 <fn2\+0x48>,r0 ! 0x14 .*
40103a: 12 04 stc gbr,r4
40103c: ce 00 mov\.l @\(r0,r12\),r0
40103e: 4c 30 add r4,r0
@@ -54,7 +54,7 @@ Disassembly of section \.text:
401052: 09 00 nop
401054: 09 00 nop
401056: 09 00 nop
- 401058: 03 d4 mov\.l 401068 <fn2\+0x68>,r4 ! 0x8
+ 401058: 03 d4 mov\.l 401068 <fn2\+0x68>,r4 ! 0x8 .*
40105a: 12 00 stc gbr,r0
40105c: 4c 30 add r4,r0
40105e: 09 00 nop
@@ -70,7 +70,7 @@ Disassembly of section \.text:
401072: 09 00 nop
401074: 09 00 nop
401076: 09 00 nop
- 401078: 03 d4 mov\.l 401088 <fn2\+0x88>,r4 ! 0x10
+ 401078: 03 d4 mov\.l 401088 <fn2\+0x88>,r4 ! 0x10 .*
40107a: 12 00 stc gbr,r0
40107c: 4c 30 add r4,r0
40107e: 09 00 nop
@@ -86,7 +86,7 @@ Disassembly of section \.text:
401092: 09 00 nop
401094: 09 00 nop
401096: 09 00 nop
- 401098: 03 d4 mov\.l 4010a8 <fn2\+0xa8>,r4 ! 0x18
+ 401098: 03 d4 mov\.l 4010a8 <fn2\+0xa8>,r4 ! 0x18 .*
40109a: 12 00 stc gbr,r0
40109c: 4c 30 add r4,r0
40109e: 09 00 nop
@@ -116,11 +116,11 @@ Disassembly of section \.text:
4010ce: [0-9a-f]+ [0-9a-f]+ .*[ ]*.*
4010d0: 09 00 nop
4010d2: 09 00 nop
- 4010d4: 2c d1 mov\.l 401188 <fn2\+0x188>,r1 ! 0x10
+ 4010d4: 2c d1 mov\.l 401188 <fn2\+0x188>,r1 ! 0x10 .*
4010d6: 0c 31 add r0,r1
4010d8: 09 00 nop
4010da: 09 00 nop
- 4010dc: 2b d2 mov\.l 40118c <fn2\+0x18c>,r2 ! 0x14
+ 4010dc: 2b d2 mov\.l 40118c <fn2\+0x18c>,r2 ! 0x14 .*
4010de: 0c 32 add r0,r2
4010e0: 09 00 nop
4010e2: 09 00 nop
@@ -140,17 +140,17 @@ Disassembly of section \.text:
4010fe: [0-9a-f]+ [0-9a-f]+ .*[ ]*.*
401100: 09 00 nop
401102: 09 00 nop
- 401104: 22 d1 mov\.l 401190 <fn2\+0x190>,r1 ! 0x18
+ 401104: 22 d1 mov\.l 401190 <fn2\+0x190>,r1 ! 0x18 .*
401106: 0c 31 add r0,r1
401108: 09 00 nop
40110a: 09 00 nop
- 40110c: 21 d2 mov\.l 401194 <fn2\+0x194>,r2 ! 0x1c
+ 40110c: 21 d2 mov\.l 401194 <fn2\+0x194>,r2 ! 0x1c .*
40110e: 0c 32 add r0,r2
401110: 09 00 nop
401112: 09 00 nop
401114: 09 00 nop
401116: 09 00 nop
- 401118: 02 d0 mov\.l 401124 <fn2\+0x124>,r0 ! 0x14
+ 401118: 02 d0 mov\.l 401124 <fn2\+0x124>,r0 ! 0x14 .*
40111a: 12 01 stc gbr,r1
40111c: ce 00 mov\.l @\(r0,r12\),r0
40111e: 03 a0 bra 401128 <fn2\+0x128>
@@ -162,7 +162,7 @@ Disassembly of section \.text:
40112a: 09 00 nop
40112c: 09 00 nop
40112e: 09 00 nop
- 401130: 02 d0 mov\.l 40113c <fn2\+0x13c>,r0 ! 0x18
+ 401130: 02 d0 mov\.l 40113c <fn2\+0x13c>,r0 ! 0x18 .*
401132: 12 01 stc gbr,r1
401134: ce 00 mov\.l @\(r0,r12\),r0
401136: 03 a0 bra 401140 <fn2\+0x140>
@@ -174,7 +174,7 @@ Disassembly of section \.text:
401142: 09 00 nop
401144: 09 00 nop
401146: 09 00 nop
- 401148: 02 d0 mov\.l 401154 <fn2\+0x154>,r0 ! 0x8
+ 401148: 02 d0 mov\.l 401154 <fn2\+0x154>,r0 ! 0x8 .*
40114a: 12 01 stc gbr,r1
40114c: 09 00 nop
40114e: 03 a0 bra 401158 <fn2\+0x158>
@@ -186,7 +186,7 @@ Disassembly of section \.text:
40115a: 09 00 nop
40115c: 09 00 nop
40115e: 09 00 nop
- 401160: 02 d0 mov\.l 40116c <fn2\+0x16c>,r0 ! 0x18
+ 401160: 02 d0 mov\.l 40116c <fn2\+0x16c>,r0 ! 0x18 .*
401162: 12 01 stc gbr,r1
401164: 09 00 nop
401166: 03 a0 bra 401170 <fn2\+0x170>
@@ -226,7 +226,7 @@ Disassembly of section \.text:
40200e: 09 00 nop
402010: 09 00 nop
402012: 09 00 nop
- 402014: 02 d0 mov\.l 402020 <_start\+0x20>,r0 ! 0x10
+ 402014: 02 d0 mov\.l 402020 <_start\+0x20>,r0 ! 0x10 .*
402016: 12 01 stc gbr,r1
402018: ce 00 mov\.l @\(r0,r12\),r0
40201a: 03 a0 bra 402024 <_start\+0x24>
@@ -238,7 +238,7 @@ Disassembly of section \.text:
402026: 09 00 nop
402028: 09 00 nop
40202a: 09 00 nop
- 40202c: 02 d0 mov\.l 402038 <_start\+0x38>,r0 ! 0x20
+ 40202c: 02 d0 mov\.l 402038 <_start\+0x38>,r0 ! 0x20 .*
40202e: 12 01 stc gbr,r1
402030: 09 00 nop
402032: 03 a0 bra 40203c <_start\+0x3c>
@@ -262,7 +262,7 @@ Disassembly of section \.text:
402056: 09 00 nop
402058: 09 00 nop
40205a: 09 00 nop
- 40205c: 02 d0 mov\.l 402068 <_start\+0x68>,r0 ! 0x1c
+ 40205c: 02 d0 mov\.l 402068 <_start\+0x68>,r0 ! 0x1c .*
40205e: 12 01 stc gbr,r1
402060: 09 00 nop
402062: 03 a0 bra 40206c <_start\+0x6c>
@@ -275,7 +275,7 @@ Disassembly of section \.text:
402070: 09 00 nop
402072: 09 00 nop
402074: 12 01 stc gbr,r1
- 402076: 0c d0 mov\.l 4020a8 <_start\+0xa8>,r0 ! 0x8
+ 402076: 0c d0 mov\.l 4020a8 <_start\+0xa8>,r0 ! 0x8 .*
402078: 1c 30 add r1,r0
40207a: 09 00 nop
40207c: 09 00 nop
@@ -289,7 +289,7 @@ Disassembly of section \.text:
40208c: 09 00 nop
40208e: 09 00 nop
402090: 12 01 stc gbr,r1
- 402092: 07 d0 mov\.l 4020b0 <_start\+0xb0>,r0 ! 0x18
+ 402092: 07 d0 mov\.l 4020b0 <_start\+0xb0>,r0 ! 0x18 .*
402094: 1c 30 add r1,r0
402096: 09 00 nop
402098: 09 00 nop
diff --git a/ld/testsuite/ld-sh/tlspic-1.d b/ld/testsuite/ld-sh/tlspic-1.d
index bca0853..5310cd0 100644
--- a/ld/testsuite/ld-sh/tlspic-1.d
+++ b/ld/testsuite/ld-sh/tlspic-1.d
@@ -54,7 +54,7 @@ Disassembly of section \.text:
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 03 d4 mov\.l [0-9a-f]+ <fn1\+0x68>,r4 ! 0x10
+ [0-9a-f]+: 03 d4 mov\.l [0-9a-f]+ <fn1\+0x68>,r4 ! 0x10 .*
[0-9a-f]+: 04 c7 mova [0-9a-f]+ <fn1\+0x6c>,r0
[0-9a-f]+: 03 d1 mov\.l [0-9a-f]+ <fn1\+0x6c>,r1 ! 0x[0-9a-f]+
[0-9a-f]+: 0c 31 add r0,r1
@@ -70,7 +70,7 @@ Disassembly of section \.text:
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 03 d0 mov\.l [0-9a-f]+ <fn1\+0x88>,r0 ! 0x18
+ [0-9a-f]+: 03 d0 mov\.l [0-9a-f]+ <fn1\+0x88>,r0 ! 0x18 .*
[0-9a-f]+: 12 04 stc gbr,r4
[0-9a-f]+: ce 00 mov\.l @\(r0,r12\),r0
[0-9a-f]+: 4c 30 add r4,r0
@@ -150,7 +150,7 @@ Disassembly of section \.text:
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 03 d4 mov\.l [0-9a-f]+ <fn1\+0x128>,r4 ! 0x1c
+ [0-9a-f]+: 03 d4 mov\.l [0-9a-f]+ <fn1\+0x128>,r4 ! 0x1c .*
[0-9a-f]+: 04 c7 mova [0-9a-f]+ <fn1\+0x12c>,r0
[0-9a-f]+: 03 d1 mov\.l [0-9a-f]+ <fn1\+0x12c>,r1 ! 0x[0-9a-f]+
[0-9a-f]+: 0c 31 add r0,r1
@@ -164,11 +164,11 @@ Disassembly of section \.text:
[0-9a-f]+: [0-9a-f]+ [0-9a-f]+ .*[ ]*.*
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 38 d1 mov\.l [0-9a-f]+ <fn1\+0x218>,r1 ! 0x8
+ [0-9a-f]+: 38 d1 mov\.l [0-9a-f]+ <fn1\+0x218>,r1 ! 0x8 .*
[0-9a-f]+: 0c 31 add r0,r1
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 37 d2 mov\.l [0-9a-f]+ <fn1\+0x21c>,r2 ! 0xc
+ [0-9a-f]+: 37 d2 mov\.l [0-9a-f]+ <fn1\+0x21c>,r2 ! 0xc .*
[0-9a-f]+: 0c 32 add r0,r2
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
@@ -188,17 +188,17 @@ Disassembly of section \.text:
[0-9a-f]+: [0-9a-f]+ [0-9a-f]+ .*[ ]*.*
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 2e d1 mov\.l [0-9a-f]+ <fn1\+0x220>,r1 ! 0x10
+ [0-9a-f]+: 2e d1 mov\.l [0-9a-f]+ <fn1\+0x220>,r1 ! 0x10 .*
[0-9a-f]+: 0c 31 add r0,r1
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 2d d2 mov\.l [0-9a-f]+ <fn1\+0x224>,r2 ! 0x14
+ [0-9a-f]+: 2d d2 mov\.l [0-9a-f]+ <fn1\+0x224>,r2 ! 0x14 .*
[0-9a-f]+: 0c 32 add r0,r2
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 03 d4 mov\.l [0-9a-f]+ <fn1\+0x188>,r4 ! 0x1c
+ [0-9a-f]+: 03 d4 mov\.l [0-9a-f]+ <fn1\+0x188>,r4 ! 0x1c .*
[0-9a-f]+: 04 c7 mova [0-9a-f]+ <fn1\+0x18c>,r0
[0-9a-f]+: 03 d1 mov\.l [0-9a-f]+ <fn1\+0x18c>,r1 ! 0x[0-9a-f]+
[0-9a-f]+: 0c 31 add r0,r1
@@ -212,11 +212,11 @@ Disassembly of section \.text:
[0-9a-f]+: [0-9a-f]+ [0-9a-f]+ .*[ ]*.*
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 24 d1 mov\.l [0-9a-f]+ <fn1\+0x228>,r1 ! 0x18
+ [0-9a-f]+: 24 d1 mov\.l [0-9a-f]+ <fn1\+0x228>,r1 ! 0x18 .*
[0-9a-f]+: 0c 31 add r0,r1
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 23 d2 mov\.l [0-9a-f]+ <fn1\+0x22c>,r2 ! 0x1c
+ [0-9a-f]+: 23 d2 mov\.l [0-9a-f]+ <fn1\+0x22c>,r2 ! 0x1c .*
[0-9a-f]+: 0c 32 add r0,r2
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
@@ -234,7 +234,7 @@ Disassembly of section \.text:
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 02 d0 mov\.l [0-9a-f]+ <fn1\+0x1cc>,r0 ! 0x18
+ [0-9a-f]+: 02 d0 mov\.l [0-9a-f]+ <fn1\+0x1cc>,r0 ! 0x18 .*
[0-9a-f]+: 12 01 stc gbr,r1
[0-9a-f]+: ce 00 mov\.l @\(r0,r12\),r0
[0-9a-f]+: 03 a0 bra [0-9a-f]+ <fn1\+0x1d0>
diff --git a/ld/testsuite/ld-shared/shared.exp b/ld/testsuite/ld-shared/shared.exp
index 339d3a3..a88cd1c 100644
--- a/ld/testsuite/ld-shared/shared.exp
+++ b/ld/testsuite/ld-shared/shared.exp
@@ -203,6 +203,9 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o]
if { ![istarget hppa*64*-*-linux*] } {
setup_xfail "hppa*-*-linux*"
}
+ if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainnp.o] } {
+ setup_xfail "sparc*-*-linux*"
+ }
setup_xfail "x86_64-*-linux*"
setup_xfail "s390x-*-linux*"
shared_test shnp "shared (non PIC)" mainnp.o sh1np.o sh2np.o shared
@@ -220,6 +223,9 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o]
if { ![istarget hppa*64*-*-linux*] } {
setup_xfail "hppa*-*-linux*"
}
+ if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainnp.o] } {
+ setup_xfail "sparc*-*-linux*"
+ }
setup_xfail "x86_64-*-linux*"
shared_test shnp "shared (non PIC, load offset)" \
mainnp.o sh1np.o sh2np.o shared \
@@ -265,6 +271,9 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG $picflag" $srcdir/$subdir/main.c $tmpdir/m
if { ![istarget hppa*64*-*-linux*] } {
setup_xfail "hppa*-*-linux*"
}
+ if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainp.o] } {
+ setup_xfail "sparc*-*-linux*"
+ }
setup_xfail "x86_64-*-linux*"
setup_xfail "s390x-*-linux*"
shared_test shmpnp "shared (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o shared