* 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.
This commit is contained in:
parent
f7661995e8
commit
877d60f7bc
55
ld/ChangeLog
55
ld/ChangeLog
@ -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
|
||||
@ -56,16 +71,16 @@
|
||||
|
||||
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>
|
||||
|
||||
@ -95,11 +110,11 @@
|
||||
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.
|
||||
@ -131,12 +146,12 @@
|
||||
* 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.
|
||||
@ -229,7 +244,7 @@
|
||||
* 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.
|
||||
@ -279,7 +294,7 @@
|
||||
* 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
|
||||
@ -335,10 +350,10 @@
|
||||
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>
|
||||
|
||||
|
@ -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 = .);}
|
||||
|
@ -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}}
|
||||
|
@ -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}}
|
||||
|
@ -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}}
|
||||
|
@ -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__ = .; }
|
||||
|
@ -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}}
|
||||
|
@ -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}}
|
||||
|
@ -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 = .);}
|
||||
|
@ -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}}
|
||||
|
Loading…
Reference in New Issue
Block a user