config.gcc (sparc-*-elf*): Add sparc/t-crtin.
authorEric Botcazou <ebotcazou@adacore.com>
Sun, 22 May 2011 20:01:01 +0000 (20:01 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Sun, 22 May 2011 20:01:01 +0000 (20:01 +0000)
* 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

gcc/ChangeLog
gcc/config.gcc
gcc/config/sparc/sp64-elf.h
gcc/config/sparc/t-crtin [new file with mode: 0644]
gcc/config/sparc/t-linux64
gcc/config/sparc/t-sol2
gcc/config/sparc/t-sol2-64

index 85fcf9d4cb4f0709366731028a320ee35d9d7a50..b09e75188ed4b766d1a63ce86161b4c42e59f278 100644 (file)
@@ -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
index 46e16c13334ae352137cc2bf3a2b11bd7300735a..475c4e3cf3ad50fb32faa1288ff1433b99944eaf 100644 (file)
@@ -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*)
index 0ee9d08cee088f74b1401d18bccd1d95f65060de..492f90fd490ca04f5d4b5856c979906e14fe2fd0 100644 (file)
@@ -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 (file)
index 0000000..2612bac
--- /dev/null
@@ -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
index 4a7de459539fc6e2704292a0934ceba508e5262a..74d04898d9f7695d97caed5eb637279127e0c94b 100644 (file)
@@ -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`
index 9db0c13b8e8fd36761ebff0af698d645251d76f9..b7f665b1b7b2c2800b04f1b9eea03b864dcf982b 100644 (file)
@@ -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
 
index a9f4ec1e2cd233ffd0707ab27da4cd7c3e1f1cae..1802239d3cf9a0c2fb3c32edfe430e981c6d92a4 100644 (file)
@@ -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