summaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/t-ppccomm
diff options
context:
space:
mode:
authorGeoff Keating <geoffk@cygnus.com>2000-04-14 23:16:25 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2000-04-14 23:16:25 +0000
commit362c63a5e8b5aacfff3e5af0911e42ba7c775042 (patch)
tree8f2cc2d8fad36057005ea2af712c4383cce5fda6 /gcc/config/rs6000/t-ppccomm
parentcfff35c1e538a08d1ef67506e934da0be62b338d (diff)
downloadgcc-362c63a5e8b5aacfff3e5af0911e42ba7c775042.tar.gz
In gcc/:
* config/rs6000/sysv4.h (LINK_START_SOLARIS_SPEC): Define to empty always, use the default SVR4 start address. * config/rs6000/linux.h (LINK_SPEC): Don't define. (LINK_SHLIB_SPEC): Define. (LINK_START_DEFAULT_SPEC): Define. (LINK_OS_DEFAULT_SPEC): Define. * config/rs6000/sysv4.h (ENDFILE_SPEC): Use the %(endfile_*) macros. * config/rs6000/eabi.asm (__eabi): Call __init rather than __do_global_ctors to handle constructors. * config/rs6000/sysv4.h (STARTFILE_ADS_SPEC): Use crtbegin. (STARTFILE_YELLOWKNIFE_SPEC): Likewise. (STARTFILE_MVME_SPEC): Likewise. (STARTFILE_SIM_SPEC): Likewise. (ENDFILE_ADS_SPEC): Use crtend. (ENDFILE_YELLOWKNIFE_SPEC): Likewise. (ENDFILE_MVME_SPEC): Likewise. (ENDFILE_SIM_SPEC): Likewise. (STARTFILE_SOLARIS_SPEC): Use crtbegin/crtbeginS. (ENDFILE_SOLARIS_SPEC): Use crtend/crtendS. (STARTFILE_LINUX_SPEC): Use crtbeginS for shared objects. (ENDFILE_LINUX_SPEC): Use crtendS for shared objects. * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Don't build eabi-ctors.o. (EXTRA_MULTILIB_PARTS): Build crtbeginS/crtendS. (CRTSTUFF_T_CFLAGS_S): Define. * config/rs6000/eabi-ctors.c: Delete. * config/rs6000/eabi-ci.asm (__init): Align stack to 16-byte boundary. (__fini): Likewise. * config/rs6000/eabi-cn.asm (__init): Allow for 16-byte stack frame. boundary. (__fini): Likewise. In gcc/po: * POTFILES.in: Remove config/rs6000/eabi-ctors.c, which was previously commented out anyway. From-SVN: r33158
Diffstat (limited to 'gcc/config/rs6000/t-ppccomm')
-rw-r--r--gcc/config/rs6000/t-ppccomm10
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/config/rs6000/t-ppccomm b/gcc/config/rs6000/t-ppccomm
index 00fd44b16b8..3a1f106ad21 100644
--- a/gcc/config/rs6000/t-ppccomm
+++ b/gcc/config/rs6000/t-ppccomm
@@ -6,7 +6,7 @@ CROSS_LIBGCC1 =
# These are really part of libgcc1, but this will cause them to be
# built correctly, so... [taken from t-sparclite]
-LIB2FUNCS_EXTRA = eabi.S eabi-ctors.c tramp.S
+LIB2FUNCS_EXTRA = eabi.S tramp.S
# We want fine grained libraries, so use the new code to build the
# floating point emulation libraries.
@@ -24,9 +24,6 @@ fp-bit.c: $(srcdir)/config/fp-bit.c
eabi.S: $(srcdir)/config/rs6000/eabi.asm
cat $(srcdir)/config/rs6000/eabi.asm > eabi.S
-eabi-ctors.c: $(srcdir)/config/rs6000/eabi-ctors.c
- cat $(srcdir)/config/rs6000/eabi-ctors.c > eabi-ctors.c
-
tramp.S: $(srcdir)/config/rs6000/tramp.asm
cat $(srcdir)/config/rs6000/tramp.asm > tramp.S
@@ -44,6 +41,7 @@ MULTILIB_MATCHES_SYSV = mcall-sysv=mcall-sysv-eabi mcall-sysv=mcall-sysv-noeabi
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
EXTRA_MULTILIB_PARTS = crtbegin$(objext) crtend$(objext) \
+ crtbeginS$(objext) crtendS$(objext) \
ecrti$(objext) ecrtn$(objext) scrt0$(objext) scrti$(objext) scrtn$(objext)
# We build {e,s}crti.o, {e,s}crtn.o, and scrt0.o which serve to add begin and
@@ -83,4 +81,6 @@ $(T)scrt0$(objext): scrt0.c
# It is important that crtbegin.o, etc., aren't surprised by stuff in .sdata.
CRTSTUFF_T_CFLAGS = -msdata=none
-
+# There is no need to add -fPIC here because crtstuff is multilibbed
+# and so automatically gets -fPIC when needed.
+CRTSTUFF_T_CFLAGS_S = -msdata=none