From Jason Merrill <jason@cygnus.com>:
* ldlang.c (wild_sort): Correct order of sort. * scripttempl/elf.sc: Put *crtbegin.o before other .ctors and .dtors. * scripttempl/elfd10v.sc: Likewise. start-sanitize-d30v * scripttempl/elfd30v.sc: Likewise. end-sanitize-d30v * scripttempl/elfppc.sc: Likewise.
This commit is contained in:
parent
1190b223b8
commit
b4c61dc900
2 changed files with 31 additions and 2 deletions
14
ld/ChangeLog
14
ld/ChangeLog
|
@ -1,3 +1,15 @@
|
|||
Mon May 18 13:14:43 1998 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
From Jason Merrill <jason@cygnus.com>:
|
||||
* ldlang.c (wild_sort): Correct order of sort.
|
||||
* scripttempl/elf.sc: Put *crtbegin.o before other .ctors and
|
||||
.dtors.
|
||||
* scripttempl/elfd10v.sc: Likewise.
|
||||
start-sanitize-d30v
|
||||
* scripttempl/elfd30v.sc: Likewise.
|
||||
end-sanitize-d30v
|
||||
* scripttempl/elfppc.sc: Likewise.
|
||||
|
||||
Fri May 15 00:22:35 1998 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* ldlex.l: Recognize keyword SORT.
|
||||
|
@ -18,7 +30,9 @@ Fri May 15 00:22:35 1998 Ian Lance Taylor <ian@cygnus.com>
|
|||
* mri.c (mri_draw_tree): Update calls to lang_add_wild.
|
||||
* scripttempl/elf.sc: Sort .ctors.* and .dtors.* by section name.
|
||||
* scripttempl/elfd10v.sc: Likewise.
|
||||
start-sanitize-d30v
|
||||
* scripttempl/elfd30v.sc: Likewise.
|
||||
end-sanitize-d30v
|
||||
* scripttempl/elfppc.sc: Likewise.
|
||||
|
||||
Thu May 14 18:39:16 1998 Richard Henderson <rth@cygnus.com>
|
||||
|
|
|
@ -129,11 +129,26 @@ SECTIONS
|
|||
.got2 ${RELOCATING-0} : { *(.got2) }
|
||||
|
||||
${RELOCATING+PROVIDE (__CTOR_LIST__ = .);}
|
||||
.ctors ${RELOCATING-0} : { *(SORT(.ctors.*)) *(.ctors) }
|
||||
.ctors ${RELOCATING-0} : {
|
||||
/* gcc uses crtbegin.o to find the start of
|
||||
the constructors, so we make sure it is
|
||||
first. Because this is a wildcard, it
|
||||
doesn't matter if the user does not
|
||||
actually link against crtbegin.o; the
|
||||
linker won't look for a file to match a
|
||||
wildcard. The wildcard also means that it
|
||||
doesn't matter which directory crtbegin.o
|
||||
is in. */
|
||||
*crtbegin.o(.ctors)
|
||||
*(SORT(.ctors.*))
|
||||
*(.ctors) }
|
||||
${RELOCATING+PROVIDE (__CTOR_END__ = .);}
|
||||
|
||||
${RELOCATING+PROVIDE (__DTOR_LIST__ = .);}
|
||||
.dtors ${RELOCATING-0} : { *(SORT(.dtors.*)) *(.dtors) }
|
||||
.dtors ${RELOCATING-0} : {
|
||||
*crtbegin.o(.dtors)
|
||||
*(SORT(.dtors.*))
|
||||
*(.dtors) }
|
||||
${RELOCATING+PROVIDE (__DTOR_END__ = .);}
|
||||
|
||||
${RELOCATING+PROVIDE (_FIXUP_START_ = .);}
|
||||
|
|
Loading…
Add table
Reference in a new issue