aboutsummaryrefslogtreecommitdiff
path: root/libgcc/config
diff options
context:
space:
mode:
authorRainer Orth <ro@TechFak.Uni-Bielefeld.DE>2008-11-20 17:13:01 +0000
committerRainer Orth <ro@TechFak.Uni-Bielefeld.DE>2008-11-20 17:13:01 +0000
commit6d26373bbe7ca4ae41a0131fdb8bd4ee99fe5e60 (patch)
tree05532f9b36c19db3ba4c3c2a298e1d0c80348696 /libgcc/config
parent2174a17a13aeda56fa717ddb5719ef08101d8af4 (diff)
gcc:
PR bootstrap/33100 * config.gcc (i[34567]86-*-solaris2*): Don't include i386/t-crtstuff here. Move extra_parts, i386/t-sol2 in tmake_file to libgcc/config.host. * config/i386/t-sol2: Move to libgcc/config/i386. libgcc: PR bootstrap/33100 * configure.ac (i?86-*-solaris2.1[0-9]*): Only include i386/t-crtstuff if linker supports ZERO terminator unwind entries. * configure: Regenerate. * config.host (i[34567]86-*-solaris2*): Move i386/t-sol2 in tmake_file here from gcc/config.gcc. Move extra_parts here from gcc/config.gcc. * config/i386/t-sol2: Move here from gcc/config/i386. Use gcc_srcdir instead of srcdir. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@142050 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgcc/config')
-rw-r--r--libgcc/config/i386/t-sol234
1 files changed, 34 insertions, 0 deletions
diff --git a/libgcc/config/i386/t-sol2 b/libgcc/config/i386/t-sol2
new file mode 100644
index 00000000000..24b7c7c10f4
--- /dev/null
+++ b/libgcc/config/i386/t-sol2
@@ -0,0 +1,34 @@
+# gmon build rule:
+$(T)gmon.o: $(gcc_srcdir)/config/i386/gmon-sol2.c $(GCC_PASSES) $(CONFIG_H)
+ $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) \
+ -c $(gcc_srcdir)/config/i386/gmon-sol2.c -o $(T)gmon.o
+
+# Assemble startup files.
+# Apparently Sun believes that assembler files don't need comments, because no
+# single ASCII character is valid (tried them all). So we manually strip out
+# the comments with sed. This bug may only be in the Early Access releases.
+$(T)gcrt1.o: $(gcc_srcdir)/config/i386/sol2-gc1.asm $(GCC_PASSES)
+ sed -e '/^!/d' <$(gcc_srcdir)/config/i386/sol2-gc1.asm >gcrt1.s
+ $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)gcrt1.o gcrt1.s
+$(T)crt1.o: $(gcc_srcdir)/config/i386/sol2-c1.asm $(GCC_PASSES)
+ sed -e '/^!/d' <$(gcc_srcdir)/config/i386/sol2-c1.asm >crt1.s
+ $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crt1.o crt1.s
+$(T)crti.o: $(gcc_srcdir)/config/i386/sol2-ci.asm $(GCC_PASSES)
+ sed -e '/^!/d' <$(gcc_srcdir)/config/i386/sol2-ci.asm >crti.s
+ $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crti.o crti.s
+$(T)crtn.o: $(gcc_srcdir)/config/i386/sol2-cn.asm $(GCC_PASSES)
+ sed -e '/^!/d' <$(gcc_srcdir)/config/i386/sol2-cn.asm >crtn.s
+ $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crtn.o crtn.s
+
+# We need to use -fPIC when we are using gcc to compile the routines in
+# crtstuff.c. This is only really needed when we are going to use gcc/g++
+# to produce a shared library, but since we don't know ahead of time when
+# we will be doing that, we just always use -fPIC when compiling the
+# routines in crtstuff.c.
+#
+# We must also enable optimization to avoid having any code appear after
+# the call & alignment statement, but before we switch back to the
+# .text section.
+
+CRTSTUFF_T_CFLAGS = -fPIC -O2
+TARGET_LIBGCC2_CFLAGS = -fPIC