From 3d26bb0e8e15f2320180cc54274529acfbbd3c3d Mon Sep 17 00:00:00 2001 From: Vladimir Makarov Date: Mon, 1 Feb 1999 00:02:52 +0000 Subject: [PATCH] 1999-01-31 17:57:31 1998 Michael Meissner * scripttempl/elfppc.sc: Add support for -fleading-underscores switch in all linker generated symbols. * configure.tgt (powerpc{,le}*-*-vxworks): Add as aliases for powerpc{,le}-*-eabi. --- ld/ChangeLog | 18 ++++++++++++++++++ ld/configure.tgt | 12 ++++++++---- ld/scripttempl/elfppc.sc | 17 +++++++++++++++++ 3 files changed, 43 insertions(+), 4 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 6f740bf..d5594de 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,21 @@ +1999-01-31 17:57:31 1998 Michael Meissner + + * scripttempl/elfppc.sc: Add support for -fleading-underscores + switch in all linker generated symbols. + + * configure.tgt (powerpc{,le}*-*-vxworks): Add as aliases for + powerpc{,le}-*-eabi. + +Wed Jan 20 17:01:48 1999 Ian Lance Taylor + + * configure.tgt (i[3456]86-*-solaris2*): New target. From Pavel + Roskin . + +1999-01-19 Nick Clifton + + * ldlang.c (lang_size_sections): Count loadable sections as + contributing to the size of the current segment. + 1999-01-15 Nick Clifton * ldlang.c (lang_size_sections): Only update the current diff --git a/ld/configure.tgt b/ld/configure.tgt index d07320c..f1fae54 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -86,6 +86,7 @@ i[3456]86-*-linux-gnu*) targ_emul=elf_i386 tdir_i386linux=${targ_alias}aout ;; i[3456]86-*-sysv4*) targ_emul=elf_i386 ;; +i[3456]86-*-solaris2*) targ_emul=elf_i386 ;; i[3456]86-*-unixware) targ_emul=elf_i386 ;; i[3456]86-*-solaris*) targ_emul=elf_i386 ;; i[3456]86-*-netbsd*) targ_emul=i386nbsd ;; @@ -103,7 +104,8 @@ i[3456]86-*-winnt*) targ_emul=i386pe ;; i[3456]86-*-pe) targ_emul=i386pe ;; i[3456]86-*-cygwin*) targ_emul=i386pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; -i[3456]86-*-mingw32*) targ_emul=i386pe ;; +i[3456]86-*-mingw32*) targ_emul=i386pe ; + targ_extra_ofiles="deffilep.o pe-dll.o" ;; # start-sanitize-beos i[3456]86-*-beospe*) targ_emul=i386beos ;; i[3456]86-*-beos*) targ_emul=elf_i386 ;; @@ -215,9 +217,11 @@ z8k-*-coff) targ_emul=z8002; targ_extra_emuls=z8001 ;; ns32k-pc532-mach* | ns32k-pc532-ux*) targ_emul=pc532macha ;; ns32k-pc532-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd ;; powerpc-*-elf* | powerpc-*-eabi* | powerpc-*-linux-gnu* | powerpc-*-sysv* \ - | powerpc-*-netbsd*) + | powerpc-*-netbsd* | powerpc-*-vxworks*) targ_emul=elf32ppc ;; -powerpcle-*-elf* | powerpcle-*-eabi* | powerpcle-*-solaris* | powerpcle-*-sysv*) targ_emul=elf32lppc ;; +powerpcle-*-elf* | powerpcle-*-eabi* | powerpcle-*-solaris* \ + | powerpcle-*-sysv* | powerpcle-*-vxworks*) + targ_emul=elf32lppc ;; powerpc-*-rtems*) targ_emul=elf32ppc ;; powerpc-*-macos*) targ_emul=ppcmacos ;; powerpc-*-netware*) targ_emul=ppcnw ;; @@ -238,7 +242,7 @@ v850e-*-*) targ_emul=v850 ;; v850ea-*-*) targ_emul=v850 ;; # end-sanitize-v850e w65-*-*) targ_emul=w65 ;; -fr30-*-*) targ_emul=fr30 ;; +fr30-*-*) targ_emul=elf32fr30 ;; *-*-aout) targ_emul=${target_cpu}-${target_vendor} ;; *-*-coff) targ_emul=${target_cpu}-${target_vendor} ;; *-*-netware) targ_emul=${target_cpu}-nw ;; diff --git a/ld/scripttempl/elfppc.sc b/ld/scripttempl/elfppc.sc index 9bf21fc..561e85f 100644 --- a/ld/scripttempl/elfppc.sc +++ b/ld/scripttempl/elfppc.sc @@ -43,6 +43,7 @@ ${RELOCATING- /* For some reason, the Solaris linker makes bad executables bug. But for now assigning the zero vmas works. */} ${RELOCATING+PROVIDE (__stack = 0);} +${RELOCATING+PROVIDE (___stack = 0);} SECTIONS { /* Read-only sections, merged into text segment: */ @@ -106,6 +107,7 @@ SECTIONS .rodata1 ${RELOCATING-0} : { *(.rodata1) } ${RELOCATING+_etext = .;} ${RELOCATING+PROVIDE (etext = .);} + ${RELOCATING+PROVIDE (__etext = .);} ${CREATE_SHLIB-${SDATA2}} ${CREATE_SHLIB-${SBSS2}} ${RELOCATING+${OTHER_READONLY_SECTIONS}} @@ -145,9 +147,11 @@ SECTIONS The current compiler no longer needs this, but keep it around for 2.7.2 */ ${RELOCATING+PROVIDE (_GOT2_START_ = .);} + ${RELOCATING+PROVIDE (__GOT2_START_ = .);} .got2 ${RELOCATING-0} : { *(.got2) } ${RELOCATING+PROVIDE (__CTOR_LIST__ = .);} + ${RELOCATING+PROVIDE (___CTOR_LIST__ = .);} .ctors ${RELOCATING-0} : { /* gcc uses crtbegin.o to find the start of the constructors, so we make sure it is @@ -162,25 +166,33 @@ SECTIONS KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) } ${RELOCATING+PROVIDE (__CTOR_END__ = .);} + ${RELOCATING+PROVIDE (___CTOR_END__ = .);} ${RELOCATING+PROVIDE (__DTOR_LIST__ = .);} + ${RELOCATING+PROVIDE (___DTOR_LIST__ = .);} .dtors ${RELOCATING-0} : { KEEP (*crtbegin.o(.dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) } ${RELOCATING+PROVIDE (__DTOR_END__ = .);} + ${RELOCATING+PROVIDE (___DTOR_END__ = .);} ${RELOCATING+PROVIDE (_FIXUP_START_ = .);} + ${RELOCATING+PROVIDE (__FIXUP_START_ = .);} .fixup ${RELOCATING-0} : { *(.fixup) } ${RELOCATING+PROVIDE (_FIXUP_END_ = .);} + ${RELOCATING+PROVIDE (__FIXUP_END_ = .);} ${RELOCATING+PROVIDE (_GOT2_END_ = .);} + ${RELOCATING+PROVIDE (__GOT2_END_ = .);} ${RELOCATING+PROVIDE (_GOT_START_ = .);} + ${RELOCATING+PROVIDE (__GOT_START_ = .);} .got ${RELOCATING-0} : { *(.got) } .got.plt ${RELOCATING-0} : { *(.got.plt) } ${CREATE_SHLIB+${SDATA2}} ${CREATE_SHLIB+${SBSS2}} ${RELOCATING+PROVIDE (_GOT_END_ = .);} + ${RELOCATING+PROVIDE (__GOT_END_ = .);} /* We want the small data sections together, so single-instruction offsets can access them all, and initialized data all before uninitialized, so @@ -188,25 +200,30 @@ SECTIONS .sdata ${RELOCATING-0} : { *(.sdata) } ${RELOCATING+_edata = .;} ${RELOCATING+PROVIDE (edata = .);} + ${RELOCATING+PROVIDE (__edata = .);} .sbss ${RELOCATING-0} : { ${RELOCATING+PROVIDE (__sbss_start = .);} + ${RELOCATING+PROVIDE (___sbss_start = .);} *(.sbss) *(.scommon) *(.dynsbss) ${RELOCATING+PROVIDE (__sbss_end = .);} + ${RELOCATING+PROVIDE (___sbss_end = .);} } ${PLT} .bss ${RELOCATING-0} : { ${RELOCATING+${OTHER_BSS_SYMBOLS}} ${RELOCATING+PROVIDE (__bss_start = .);} + ${RELOCATING+PROVIDE (___bss_start = .);} *(.dynbss) *(.bss) *(COMMON) } ${RELOCATING+_end = . ;} ${RELOCATING+PROVIDE (end = .);} + ${RELOCATING+PROVIDE (__end = .);} /* These are needed for ELF backends which have not yet been converted to the new style linker. */ -- 2.7.4