aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2011-05-22 20:01:01 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2011-05-22 20:01:01 +0000
commit8ac798357ff48a4d68f04e1bff98aef4bb73a5b0 (patch)
treeb1e445b859b0fd477b9a8e6ff8f8d2a81792924e
parentdc0a3366fc18838066535e6a038141fc9a22e822 (diff)
downloadgcc-8ac798357ff48a4d68f04e1bff98aef4bb73a5b0.zip
gcc-8ac798357ff48a4d68f04e1bff98aef4bb73a5b0.tar.gz
gcc-8ac798357ff48a4d68f04e1bff98aef4bb73a5b0.tar.bz2
config.gcc (sparc-*-elf*): Add sparc/t-crtin.
* config.gcc (sparc-*-elf*): Add sparc/t-crtin. (sparc-*-rtems*): Likewise. (sparc64-*-elf*): Likewise. (sparc64-*-rtems*): Likewise. (sparc*-*-solaris2*): Likewise. Remove crti.o crtn.o extra parts. * config/sparc/t-crtin: New file. * config/sparc/t-sol2 (crti.o): Delete rule. (crtn.o): Likewise. * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Delete. * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Likewise. * config/sparc/sp64-elf.h (STARTFILE_SPEC): Tidy and add crti.o. (ENDFILE_SPEC): Add crtn.o. From-SVN: r174041
-rw-r--r--gcc/ChangeLog15
-rw-r--r--gcc/config.gcc12
-rw-r--r--gcc/config/sparc/sp64-elf.h9
-rw-r--r--gcc/config/sparc/t-crtin6
-rw-r--r--gcc/config/sparc/t-linux643
-rw-r--r--gcc/config/sparc/t-sol24
-rw-r--r--gcc/config/sparc/t-sol2-643
7 files changed, 29 insertions, 23 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 85fcf9d..b09e751 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,18 @@
+2011-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config.gcc (sparc-*-elf*): Add sparc/t-crtin.
+ (sparc-*-rtems*): Likewise.
+ (sparc64-*-elf*): Likewise.
+ (sparc64-*-rtems*): Likewise.
+ (sparc*-*-solaris2*): Likewise. Remove crti.o crtn.o extra parts.
+ * config/sparc/t-crtin: New file.
+ * config/sparc/t-sol2 (crti.o): Delete rule.
+ (crtn.o): Likewise.
+ * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Delete.
+ * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Likewise.
+ * config/sparc/sp64-elf.h (STARTFILE_SPEC): Tidy and add crti.o.
+ (ENDFILE_SPEC): Add crtn.o.
+
2011-05-22 Tom de Vries <tom@codesourcery.com>
PR middle-end/48689
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 46e16c1..475c4e3 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -2439,12 +2439,12 @@ sparc-*-elf*)
tmake_file="sparc/t-elf"
;;
esac
- tmake_file="${tmake_file} sparc/t-crtfm"
+ tmake_file="${tmake_file} sparc/t-crtin sparc/t-crtfm"
extra_parts="crtbegin.o crtend.o"
;;
sparc-*-rtems*)
tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
- tmake_file="sparc/t-elf sparc/t-crtfm t-rtems"
+ tmake_file="sparc/t-elf sparc/t-crtin sparc/t-crtfm t-rtems"
extra_parts="crtbegin.o crtend.o"
;;
sparc-*-linux*)
@@ -2502,7 +2502,7 @@ sparc*-*-solaris2*)
tm_file="${tm_file} sol2-gld.h sparc/sol2-gld-bi.h"
fi
tm_file="${tm_file} tm-dwarf2.h"
- tmake_file="t-sol2 sparc/t-sol2 sparc/t-sol2-64 sparc/t-crtfm"
+ tmake_file="t-sol2 sparc/t-sol2 sparc/t-sol2-64 sparc/t-crtin sparc/t-crtfm"
if test x$gnu_ld = xyes; then
tmake_file="$tmake_file t-slibgcc-elf-ver"
else
@@ -2515,7 +2515,7 @@ sparc*-*-solaris2*)
cxx_target_objs="sol2-c.o"
extra_objs="sol2.o"
tm_p_file="${tm_p_file} sol2-protos.h"
- extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
+ extra_parts="crt1.o gcrt1.o gmon.o crtbegin.o crtend.o"
case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
"":yes:* | yes:yes:* )
thread_file=posix
@@ -2529,13 +2529,13 @@ sparc-wrs-vxworks)
sparc64-*-elf*)
tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h"
extra_options="${extra_options} sparc/little-endian.opt"
- tmake_file="${tmake_file} sparc/t-crtfm"
+ tmake_file="${tmake_file} sparc/t-crtin sparc/t-crtfm"
extra_parts="crtbegin.o crtend.o"
;;
sparc64-*-rtems*)
tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h"
extra_options="${extra_options} sparc/little-endian.opt"
- tmake_file="${tmake_file} sparc/t-crtfm t-rtems"
+ tmake_file="${tmake_file} sparc/t-crtin sparc/t-crtfm t-rtems"
extra_parts="crtbegin.o crtend.o"
;;
sparc64-*-linux*)
diff --git a/gcc/config/sparc/sp64-elf.h b/gcc/config/sparc/sp64-elf.h
index 0ee9d08..492f90f 100644
--- a/gcc/config/sparc/sp64-elf.h
+++ b/gcc/config/sparc/sp64-elf.h
@@ -50,18 +50,13 @@ along with GCC; see the file COPYING3. If not see
%{mlittle-endian:-EL} \
"
-/* We need something a little simpler for the embedded environment.
- Profiling doesn't really work yet so we just copy the default. */
#undef STARTFILE_SPEC
-#define STARTFILE_SPEC "\
-%{!shared:%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}} \
-crtbegin.o%s \
-"
+#define STARTFILE_SPEC "crt0.o%s crti.o%s crtbegin.o%s"
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
"%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
- crtend.o%s"
+ crtend.o%s crtn.o%s"
/* Use the default (for now). */
#undef LIB_SPEC
diff --git a/gcc/config/sparc/t-crtin b/gcc/config/sparc/t-crtin
new file mode 100644
index 0000000..2612bac
--- /dev/null
+++ b/gcc/config/sparc/t-crtin
@@ -0,0 +1,6 @@
+EXTRA_PARTS += crti.o crtn.o
+
+$(T)crti.o: $(srcdir)/config/sparc/sol2-ci.asm $(GCC_PASSES)
+ $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-ci.asm
+$(T)crtn.o: $(srcdir)/config/sparc/sol2-cn.asm $(GCC_PASSES)
+ $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-cn.asm
diff --git a/gcc/config/sparc/t-linux64 b/gcc/config/sparc/t-linux64
index 4a7de45..74d0489 100644
--- a/gcc/config/sparc/t-linux64
+++ b/gcc/config/sparc/t-linux64
@@ -31,9 +31,6 @@ MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR)
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
-EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \
- crtfastmath.o
-
CRTSTUFF_T_CFLAGS = `if test x$$($(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) \
-print-multi-os-directory) \
= x../lib64; then echo -mcmodel=medany; fi`
diff --git a/gcc/config/sparc/t-sol2 b/gcc/config/sparc/t-sol2
index 9db0c13..b7f665b 100644
--- a/gcc/config/sparc/t-sol2
+++ b/gcc/config/sparc/t-sol2
@@ -26,10 +26,6 @@ $(T)gmon.o: $(srcdir)/config/sparc/gmon-sol2.c $(GCC_PASSES) \
# Assemble startup files.
$(T)crt1.o: $(srcdir)/config/sparc/sol2-c1.asm $(GCC_PASSES)
$(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crt1.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-c1.asm
-$(T)crti.o: $(srcdir)/config/sparc/sol2-ci.asm $(GCC_PASSES)
- $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-ci.asm
-$(T)crtn.o: $(srcdir)/config/sparc/sol2-cn.asm $(GCC_PASSES)
- $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-cn.asm
$(T)gcrt1.o: $(srcdir)/config/sparc/sol2-c1.asm $(GCC_PASSES)
$(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -DGCRT1 -o $(T)gcrt1.o -x assembler-with-cpp $(srcdir)/config/sparc/sol2-c1.asm
diff --git a/gcc/config/sparc/t-sol2-64 b/gcc/config/sparc/t-sol2-64
index a9f4ec1..1802239 100644
--- a/gcc/config/sparc/t-sol2-64
+++ b/gcc/config/sparc/t-sol2-64
@@ -5,6 +5,3 @@ MULTILIB_OSDIRNAMES = . sparcv9
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
-
-EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o gmon.o crt1.o crti.o crtn.o gcrt1.o \
- crtfastmath.o