* scripttempl/elf.sc (CTOR): Handle crtbeginS.o, crtendS.o and
authorAlan Modra <amodra@gmail.com>
Mon, 14 Apr 2003 13:03:17 +0000 (13:03 +0000)
committerAlan Modra <amodra@gmail.com>
Mon, 14 Apr 2003 13:03:17 +0000 (13:03 +0000)
other variants of crtbegin.o, crtend.o.
(DTOR): Likewise.
* scripttempl/crisaout.sc (ctors, dtors): Likewise.
* scripttempl/elf_chaos.sc (CTOR, DTOR): Likewise.
* scripttempl/elfd10v.sc (CTOR, DTOR): Likewise.
* scripttempl/elfd30v.sc (CTOR, DTOR): Likewise.
* scripttempl/elfxtensa.sc (CTOR, DTOR): Likewise.
* scripttempl/iq2000.sc (CTOR, DTOR): Likewise.
* scripttempl/mmo.sc (ctors, dtors): Likewise.
* scripttempl/xstormy16.sc (CTOR, DTOR): Likewise.

ld/ChangeLog
ld/scripttempl/crisaout.sc
ld/scripttempl/elf.sc
ld/scripttempl/elf_chaos.sc
ld/scripttempl/elfd10v.sc
ld/scripttempl/elfd30v.sc
ld/scripttempl/elfxtensa.sc
ld/scripttempl/iq2000.sc
ld/scripttempl/mmo.sc
ld/scripttempl/xstormy16.sc

index 848853fb22395269ba3cdc2cfbf27f9b1281be96..5c280dce164e3d8f15d7919a48c893ddffbb11c2 100644 (file)
@@ -1,3 +1,18 @@
+2003-04-14  Alan Modra  <amodra@bigpond.net.au>
+
+       From Prashanth Tamraparni <prashanth_t@in.ibm.com>
+       * scripttempl/elf.sc (CTOR): Handle crtbeginS.o, crtendS.o and
+       other variants of crtbegin.o, crtend.o.
+       (DTOR): Likewise.
+       * scripttempl/crisaout.sc (ctors, dtors): Likewise.
+       * scripttempl/elf_chaos.sc (CTOR, DTOR): Likewise.
+       * scripttempl/elfd10v.sc (CTOR, DTOR): Likewise.
+       * scripttempl/elfd30v.sc (CTOR, DTOR): Likewise.
+       * scripttempl/elfxtensa.sc (CTOR, DTOR): Likewise.
+       * scripttempl/iq2000.sc (CTOR, DTOR): Likewise.
+       * scripttempl/mmo.sc (ctors, dtors): Likewise.
+       * scripttempl/xstormy16.sc (CTOR, DTOR): Likewise.
+
 2003-04-09   Dmitry Diky  <diwil@mail.ru>
 
        * scripttempl/elf32msp430.sc: Add initX, finiX, ctors, dtors
 
 2003-04-01  Bob Wilson  <bob.wilson@acm.org>
 
-        * Makefile.am (ALL_EMULATIONS): Add eelf32xtensa.o.
-        (eelf32xtensa.c): New target.
-        * Makefile.in: Regenerate.
-        * configure.tgt: Handle xtensa-*-*.
-        * gen-doc.texi: Set XTENSA variable.
-        * ld.texinfo: Set XTENSA variable.  Add new Xtensa node.
-        * emulparams/elf32xtensa.sh: New file.
-        * emulparams/xtensa-config.sh: Likewise.
-        * emultempl/xtensaelf.em: Likewise.
-        * scripttempl/elfxtensa.sc: Likewise.
+       * Makefile.am (ALL_EMULATIONS): Add eelf32xtensa.o.
+       (eelf32xtensa.c): New target.
+       * Makefile.in: Regenerate.
+       * configure.tgt: Handle xtensa-*-*.
+       * gen-doc.texi: Set XTENSA variable.
+       * ld.texinfo: Set XTENSA variable.  Add new Xtensa node.
+       * emulparams/elf32xtensa.sh: New file.
+       * emulparams/xtensa-config.sh: Likewise.
+       * emultempl/xtensaelf.em: Likewise.
+       * scripttempl/elfxtensa.sc: Likewise.
 
 2003-04-01  Jakub Jelinek  <jakub@redhat.com>
 
        directory name.
        (add_keepsyms_file): Fix memory leak.
        * ldmisc.c (vfinfo): Likewise.
-       * lexsup.c (parse_args): Likewise       
+       * lexsup.c (parse_args): Likewise.
 
 2003-03-25  Stan Cox   <scox@redhat.com>
            Nick Clifton  <nickc@redhat.com>
-           
+
        Contribute support for Intel's iWMMXt chip - an ARM variant:
 
        * emulparams/armelf.sh (OTHER_READONLY_SECTIONS): Define.
        * ldfile.c (ldfile_try_open_bfd): Pop lexer start condition after
        eof.
 
-2003-03-18  Danny Smith  <dannysmith@users.sourceforge,net>
+2003-03-18  Danny Smith  <dannysmith@users.sourceforge.net>
 
        * defilep.y (opt_base): If no number given, set to default
        (-1), not 0.
 
-2003-03-13  Danny Smith  <dannysmith@users.sourceforge,net> 
+2003-03-13  Danny Smith  <dannysmith@users.sourceforge.net>
 
        * deffilep.y (def_import):  Use default extension of "dll"
        if no extension provided in parsed IMPORT definition.
        * emultempl/pe.em: Likewise.
        * emultempl/ticoff.em: Likewise.
        * emultempl/elf32.em: Likewise.  Don't duplicate long options either.
-       (gld${EMULATION_NAME}_add_sysroot): Prototype.  
+       (gld${EMULATION_NAME}_add_sysroot): Prototype.
        * emultempl/armelf.em (PARSE_AND_LIST_LONGOPTS): Don't duplicate
        options.
        * emultempl/hppaelf.em (PARSE_AND_LIST_LONGOPTS): Likewise.
        * gen-doc.texi: Set ARM and HPPA variables.
        * ld.texinfo: Fix typos and obvious texinfo mistakes.  Make section
        title capitalization more consistent.  Add missing menu entries for
-       machine-specific sections and conditionalize them consistently. 
+       machine-specific sections and conditionalize them consistently.
        Conditionalize text that is irrelevant when SingleFormat is set.
        Add @group divisions to improve page breaks in long examples.
        Use @iftex/@ifnottex instead of @iftex/@ifinfo so that HTML output
 2003-02-17  Nick Clifton  <nickc@redhat.com>
 
        * ldmain.c (main) Default allow_shlib_undefined to true.
-        * lexsup.c (ld_options): Add --no-allow-shlib-undefined.
-        (parse_args): Parse the new switch.
-        * ld.texinfo: Document new switch and default behaviour of
-        allowing undefined symbols in shared libraries.
+       * lexsup.c (ld_options): Add --no-allow-shlib-undefined.
+       (parse_args): Parse the new switch.
+       * ld.texinfo: Document new switch and default behaviour of
+       allowing undefined symbols in shared libraries.
 
 2003-02-11 Dmitry Diky  <diwil@mail.ru>
 
index c729668a5bd8945b158c1aec3914a5a889842962..acdca7a91229b500f183bd26dd4473d4ce944afc 100644 (file)
@@ -48,15 +48,15 @@ SECTIONS
     /* Cater to linking from ELF.  */
     ${CONSTRUCTING+ PROVIDE(___ctors = .);}
     ${CONSTRUCTING+ ___elf_ctors_dtors_begin = .;}
-    ${CONSTRUCTING+ KEEP (*crtbegin.o(.ctors))}
-    ${CONSTRUCTING+ KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))}
+    ${CONSTRUCTING+ KEEP (*crtbegin*.o(.ctors))}
+    ${CONSTRUCTING+ KEEP (*(EXCLUDE_FILE (*crtend*.o) .ctors))}
     ${CONSTRUCTING+ KEEP (*(SORT(.ctors.*)))}
     ${CONSTRUCTING+ KEEP (*(.ctors))}
     ${CONSTRUCTING+ PROVIDE(___ctors_end = .);}
 
     ${CONSTRUCTING+ PROVIDE(___dtors = .);}
-    ${CONSTRUCTING+ KEEP (*crtbegin.o(.dtors))}
-    ${CONSTRUCTING+ KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))}
+    ${CONSTRUCTING+ KEEP (*crtbegin*.o(.dtors))}
+    ${CONSTRUCTING+ KEEP (*(EXCLUDE_FILE (*crtend*.o) .dtors))}
     ${CONSTRUCTING+ KEEP (*(SORT(.dtors.*)))}
     ${CONSTRUCTING+ KEEP (*(.dtors))}
     ${CONSTRUCTING+ PROVIDE(___dtors_end = .);}
index 0c8ddb522bf8ed84c02f41fe3125a731cb2bb6bc..42d7bda0f5185072abc59ed5f0664de0e3fe14d7 100644 (file)
@@ -127,14 +127,14 @@ CTOR=".ctors        ${CONSTRUCTING-0} :
        doesn't matter which directory crtbegin.o
        is in.  */
 
-    KEEP (*crtbegin.o(.ctors))
+    KEEP (*crtbegin*.o(.ctors))
 
     /* We don't want to include the .ctor section from
        from the crtend.o file until after the sorted ctors.
        The .ctor section from the crtend file contains the
        end of ctors marker and it must be last */
 
-    KEEP (*(EXCLUDE_FILE (*crtend.o $OTHER_EXCLUDE_FILES) .ctors))
+    KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .ctors))
     KEEP (*(SORT(.ctors.*)))
     KEEP (*(.ctors))
     ${CONSTRUCTING+${CTOR_END}}
@@ -142,8 +142,8 @@ CTOR=".ctors        ${CONSTRUCTING-0} :
 DTOR=".dtors        ${CONSTRUCTING-0} :
   {
     ${CONSTRUCTING+${DTOR_START}}
-    KEEP (*crtbegin.o(.dtors))
-    KEEP (*(EXCLUDE_FILE (*crtend.o $OTHER_EXCLUDE_FILES) .dtors))
+    KEEP (*crtbegin*.o(.dtors))
+    KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .dtors))
     KEEP (*(SORT(.dtors.*)))
     KEEP (*(.dtors))
     ${CONSTRUCTING+${DTOR_END}}
index 3307689c02d224a90343366c205314316e15de77..35812898e1d376d643d721009c5479f67b997f7c 100644 (file)
@@ -116,22 +116,22 @@ CTOR="
        doesn't matter which directory crtbegin.o
        is in.  */
 
-    KEEP (*crtbegin.o(.ctors))
+    KEEP (*crtbegin*.o(.ctors))
 
     /* We don't want to include the .ctor section from
        from the crtend.o file until after the sorted ctors.
        The .ctor section from the crtend file contains the
        end of ctors marker and it must be last */
 
-    KEEP (*(EXCLUDE_FILE (*crtend.o $OTHER_EXCLUDE_FILES) .ctors))
+    KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .ctors))
     KEEP (*(SORT(.ctors.*)))
     KEEP (*(.ctors))
     ${CONSTRUCTING+${CTOR_END}}
 "
 DTOR="
     ${CONSTRUCTING+${DTOR_START}}
-    KEEP (*crtbegin.o(.dtors))
-    KEEP (*(EXCLUDE_FILE (*crtend.o $OTHER_EXCLUDE_FILES) .dtors))
+    KEEP (*crtbegin*.o(.dtors))
+    KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .dtors))
     KEEP (*(SORT(.dtors.*)))
     KEEP (*(.dtors))
     ${CONSTRUCTING+${DTOR_END}}
index b24b813b3a4ff96902c2ea5042e6a2b4642d8580..834efe26f7e6e1080896ef5e5402c6734ee8cd2a 100644 (file)
@@ -20,14 +20,14 @@ CTOR=".ctors ${CONSTRUCTING-0} :
        doesn't matter which directory crtbegin.o
        is in.  */
 
-    KEEP (*crtbegin.o(.ctors))
+    KEEP (*crtbegin*.o(.ctors))
 
     /* We don't want to include the .ctor section from
        from the crtend.o file until after the sorted ctors.
        The .ctor section from the crtend file contains the
        end of ctors marker and it must be last */
 
-    KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
+    KEEP (*(EXCLUDE_FILE (*crtend*.o) .ctors))
     KEEP (*(SORT(.ctors.*)))
     KEEP (*(.ctors))
     ${CONSTRUCTING+${CTOR_END}}
@@ -36,8 +36,8 @@ CTOR=".ctors ${CONSTRUCTING-0} :
 DTOR=" .dtors       ${CONSTRUCTING-0} :
   {
     ${CONSTRUCTING+${DTOR_START}}
-    KEEP (*crtbegin.o(.dtors))
-    KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
+    KEEP (*crtbegin*.o(.dtors))
+    KEEP (*(EXCLUDE_FILE (*crtend*.o) .dtors))
     KEEP (*(SORT(.dtors.*)))
     KEEP (*(.dtors))
     ${CONSTRUCTING+${DTOR_END}}
index b1d7b94705f9ba0b9e79b4084bb771a186c8e8f5..12d764f285e023ea42e02894267f3f61cfde456e 100644 (file)
@@ -12,14 +12,14 @@ CTOR=".ctors ${CONSTRUCTING-0} :
        doesn't matter which directory crtbegin.o
        is in.  */
 
-    KEEP (*crtbegin.o(.ctors))
+    KEEP (*crtbegin*.o(.ctors))
 
     /* We don't want to include the .ctor section from
        from the crtend.o file until after the sorted ctors.
        The .ctor section from the crtend file contains the
        end of ctors marker and it must be last */
 
-    KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
+    KEEP (*(EXCLUDE_FILE (*crtend*.o) .ctors))
     KEEP (*(SORT(.ctors.*)))
     KEEP (*(.ctors))
     ${CONSTRUCTING+ __CTOR_END__ = .; }
@@ -28,8 +28,8 @@ CTOR=".ctors ${CONSTRUCTING-0} :
 DTOR="  .dtors ${CONSTRUCTING-0} :
   {
     ${CONSTRUCTING+ __DTOR_LIST__ = .; }
-    KEEP (*crtbegin.o(.dtors))
-    KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
+    KEEP (*crtbegin*.o(.dtors))
+    KEEP (*(EXCLUDE_FILE (*crtend*.o) .dtors))
     KEEP (*(SORT(.dtors.*)))
     KEEP (*(.dtors))
     ${CONSTRUCTING+ __DTOR_END__ = .; }
index a4ba5c8188c4c7d37c78582f56a8c0aecc31fbab..f99d2ce0c4335d7383da3900402363a6061caf2e 100644 (file)
@@ -125,14 +125,14 @@ CTOR=".ctors        ${CONSTRUCTING-0} :
        doesn't matter which directory crtbegin.o
        is in.  */
 
-    KEEP (*crtbegin.o(.ctors))
+    KEEP (*crtbegin*.o(.ctors))
 
     /* We don't want to include the .ctor section from
        from the crtend.o file until after the sorted ctors.
        The .ctor section from the crtend file contains the
        end of ctors marker and it must be last */
 
-    KEEP (*(EXCLUDE_FILE (*crtend.o $OTHER_EXCLUDE_FILES) .ctors))
+    KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .ctors))
     KEEP (*(SORT(.ctors.*)))
     KEEP (*(.ctors))
     ${CONSTRUCTING+${CTOR_END}}
@@ -140,8 +140,8 @@ CTOR=".ctors        ${CONSTRUCTING-0} :
 DTOR=".dtors        ${CONSTRUCTING-0} :
   {
     ${CONSTRUCTING+${DTOR_START}}
-    KEEP (*crtbegin.o(.dtors))
-    KEEP (*(EXCLUDE_FILE (*crtend.o $OTHER_EXCLUDE_FILES) .dtors))
+    KEEP (*crtbegin*.o(.dtors))
+    KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .dtors))
     KEEP (*(SORT(.dtors.*)))
     KEEP (*(.dtors))
     ${CONSTRUCTING+${DTOR_END}}
index a07196ae4446a633a3dd7a718f55b97d5c485487..db3a597ddbb49ccc0e6faa83a201236dff568f47 100644 (file)
@@ -84,14 +84,14 @@ CTOR=".ctors ${CONSTRUCTING-0} :
        doesn't matter which directory crtbegin.o
        is in.  */
 
-    KEEP (*crtbegin.o(.ctors))
+    KEEP (*crtbegin*.o(.ctors))
 
     /* We don't want to include the .ctor section from
        from the crtend.o file until after the sorted ctors.
        The .ctor section from the crtend file contains the
        end of ctors marker and it must be last */
 
-    KEEP (*(EXCLUDE_FILE (*crtend.o $OTHER_EXCLUDE_FILES) .ctors))
+    KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .ctors))
     KEEP (*(SORT(.ctors.*)))
     KEEP (*(.ctors))
     ${CONSTRUCTING+${CTOR_END}}
@@ -100,8 +100,8 @@ CTOR=".ctors ${CONSTRUCTING-0} :
 DTOR=" .dtors       ${CONSTRUCTING-0} :
   {
     ${CONSTRUCTING+${DTOR_START}}
-    KEEP (*crtbegin.o(.dtors))
-    KEEP (*(EXCLUDE_FILE (*crtend.o $OTHER_EXCLUDE_FILES) .dtors))
+    KEEP (*crtbegin*.o(.dtors))
+    KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .dtors))
     KEEP (*(SORT(.dtors.*)))
     KEEP (*(.dtors))
     ${CONSTRUCTING+${DTOR_END}}
index 72e8b49dab2d7dddb6c9c9ede9cf86c71613a506..b93953db53a844ea5abc225eaa0d0e89be7395a1 100644 (file)
@@ -29,8 +29,8 @@ SECTIONS
     ${RELOCATING+ PROVIDE (__ctors_start = .);}
     ${RELOCATING+ PROVIDE (_ctors = .);}
     ${RELOCATING+ PROVIDE (__ctors = .);}
-    ${RELOCATING+ KEEP (*crtbegin.o(.ctors))}
-    ${RELOCATING+ KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))}
+    ${RELOCATING+ KEEP (*crtbegin*.o(.ctors))}
+    ${RELOCATING+ KEEP (*(EXCLUDE_FILE (*crtend*.o) .ctors))}
     ${RELOCATING+ KEEP (*(SORT(.ctors.*)))}
     ${RELOCATING+ KEEP (*(.ctors))}
     ${RELOCATING+ PROVIDE (_ctors_end = .);}
@@ -40,8 +40,8 @@ SECTIONS
     ${RELOCATING+ PROVIDE (__dtors_start = .);}
     ${RELOCATING+ PROVIDE (_dtors = .);}
     ${RELOCATING+ PROVIDE (__dtors = .);}
-    ${RELOCATING+ KEEP (*crtbegin.o(.dtors))}
-    ${RELOCATING+ KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))}
+    ${RELOCATING+ KEEP (*crtbegin*.o(.dtors))}
+    ${RELOCATING+ KEEP (*(EXCLUDE_FILE (*crtend*.o) .dtors))}
     ${RELOCATING+ KEEP (*(SORT(.dtors.*)))}
     ${RELOCATING+ KEEP (*(.dtors))}
     ${RELOCATING+ PROVIDE (_dtors_end = .);}
index 8981f2d859aaae3a83cc82ad8ce2e832d29a6478..94f6093191a8fbd7550f18e46e4a8c005042daa8 100644 (file)
@@ -68,14 +68,14 @@ CTOR=".ctors ${CONSTRUCTING-0} :
        doesn't matter which directory crtbegin.o
        is in.  */
 
-    KEEP (*crtbegin.o(.ctors))
+    KEEP (*crtbegin*.o(.ctors))
 
     /* We don't want to include the .ctor section from
        from the crtend.o file until after the sorted ctors.
        The .ctor section from the crtend file contains the
        end of ctors marker and it must be last */
 
-    KEEP (*(EXCLUDE_FILE (*crtend.o $OTHER_EXCLUDE_FILES) .ctors))
+    KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .ctors))
     KEEP (*(SORT(.ctors.*)))
     KEEP (*(.ctors))
     ${CONSTRUCTING+${CTOR_END}}
@@ -84,8 +84,8 @@ CTOR=".ctors ${CONSTRUCTING-0} :
 DTOR=" .dtors       ${CONSTRUCTING-0} :
   {
     ${CONSTRUCTING+${DTOR_START}}
-    KEEP (*crtbegin.o(.dtors))
-    KEEP (*(EXCLUDE_FILE (*crtend.o $OTHER_EXCLUDE_FILES) .dtors))
+    KEEP (*crtbegin*.o(.dtors))
+    KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .dtors))
     KEEP (*(SORT(.dtors.*)))
     KEEP (*(.dtors))
     ${CONSTRUCTING+${DTOR_END}}