This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[bfin] Fix EXTRA_MULTILIB_PARTS
- From: Jie Zhang <jzhang918 at gmail dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 26 Sep 2007 15:28:59 +0800
- Subject: [bfin] Fix EXTRA_MULTILIB_PARTS
When building bfin-linux-uclibc-gcc, I got an error that
EXTRA_MULTILIB_PARTS in gcc does not match the one in libgcc.
bfin-linux-uclibc-gcc don't need crtbeginT.o. And uClibc provides crti.o
and crtn.o. So we don't need to multilib them.
Is it OK?
Jie
* config.gcc (bfin*-linux-uclibc*): Set extra_parts
to "crtbegin.o crtbeginS.o crtend.o crtendS.o".
* config/bfin/t-bfin-linux (crti.o): Don't build.
(crtn.o): Likewise.
(EXTRA_MULTILIB_PARTS): Remove crti.o and crtn.o.
* config/bfin/t-bfin-uclinux (crti.o): Don't build.
(crtn.o): Likewise.
(EXTRA_MULTILIB_PARTS): Remove crti.o and crtn.o.
Index: trunk/gcc/config.gcc
===================================================================
--- trunk.orig/gcc/config.gcc 2007-09-25 17:38:05.000000000 +0800
+++ trunk/gcc/config.gcc 2007-09-26 14:41:33.000000000 +0800
@@ -813,30 +813,31 @@
;;
bfin*-elf*)
tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
- tmake_file=bfin/t-bfin-elf
- use_collect2=no
- ;;
+ tmake_file=bfin/t-bfin-elf
+ use_collect2=no
+ ;;
bfin*-uclinux*)
tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h linux.h bfin/uclinux.h"
- tmake_file=bfin/t-bfin-uclinux
- tm_defines="${tm_defines} UCLIBC_DEFAULT=1"
+ tmake_file=bfin/t-bfin-uclinux
+ tm_defines="${tm_defines} UCLIBC_DEFAULT=1"
extra_options="${extra_options} linux.opt"
- use_collect2=no
- ;;
+ use_collect2=no
+ ;;
bfin*-linux-uclibc*)
tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h linux.h bfin/linux.h ./linux-sysroot-suffix.h"
- tmake_file="t-slibgcc-elf-ver bfin/t-bfin-linux"
- use_collect2=no
- ;;
+ tmake_file="t-slibgcc-elf-ver bfin/t-bfin-linux"
+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+ use_collect2=no
+ ;;
bfin*-rtems*)
tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h"
tmake_file="bfin/t-bfin t-rtems bfin/t-rtems"
- ;;
+ ;;
bfin*-*)
tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
- tmake_file=bfin/t-bfin
- use_collect2=no
- ;;
+ tmake_file=bfin/t-bfin
+ use_collect2=no
+ ;;
c4x-*-rtems* | tic4x-*-rtems*)
tmake_file="c4x/t-c4x t-rtems c4x/t-rtems"
tm_file="c4x/c4x.h c4x/rtems.h rtems.h"
Index: trunk/gcc/config/bfin/t-bfin-linux
===================================================================
--- trunk.orig/gcc/config/bfin/t-bfin-linux 2007-09-25 17:38:05.000000000 +0800
+++ trunk/gcc/config/bfin/t-bfin-linux 2007-09-25 17:38:21.000000000 +0800
@@ -23,18 +23,9 @@
MULTILIB_MATCHES+=mcpu?bf532-none=mcpu?bf531-none mcpu?bf532-none=mcpu?bf533-none mcpu?bf532-none=mcpu?bf534-none mcpu?bf532-none=mcpu?bf536-none mcpu?bf532-none=mcpu?bf537-none mcpu?bf532-none=mcpu?bf561-none mcpu?bf532-none=mcpu?bf561-0.5
MULTILIB_MATCHES+=mcpu?bf532-0.3=mcpu?bf531-0.4 mcpu?bf532-0.3=mcpu?bf531-0.3 mcpu?bf532-0.3=mcpu?bf532-0.4 mcpu?bf532-0.3=mcpu?bf533-0.4 mcpu?bf532-0.3=mcpu?bf533-0.3 mcpu?bf532-0.3=mcpu?bf534-0.2 mcpu?bf532-0.3=mcpu?bf534-0.1 mcpu?bf532-0.3=mcpu?bf536-0.2 mcpu?bf532-0.3=mcpu?bf536-0.1 mcpu?bf532-0.3=mcpu?bf537-0.2 mcpu?bf532-0.3=mcpu?bf537-0.1 mcpu?bf532-0.3=mcpu?bf561-0.3 mcpu?bf532-0.3=mcpu?bf561-0.2 mcpu?bf532-0.3=mcpu?bf531-any mcpu?bf532-0.3=mcpu?bf532-any mcpu?bf532-0.3=mcpu?bf533-any mcpu?bf532-0.3=mcpu?bf534-any mcpu?bf532-0.3=mcpu?bf536-any mcpu?bf532-0.3=mcpu?bf537-any mcpu?bf532-0.3=mcpu?bf561-any
-# Assemble startup files.
-$(T)crti.o: $(srcdir)/config/bfin/crti.s $(GCC_PASSES)
- $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
- -c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/bfin/crti.s
-
-$(T)crtn.o: $(srcdir)/config/bfin/crtn.s $(GCC_PASSES)
- $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
- -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/bfin/crtn.s
-
SHLIB_MAPFILES=$(srcdir)/config/bfin/libgcc-bfin.ver
-EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crtbeginS.o crtendS.o crti.o crtn.o
+EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crtbeginS.o crtendS.o
# This rule uses MULTILIB_MATCHES to generate a definition of
# SYSROOT_SUFFIX_SPEC.
Index: trunk/gcc/config/bfin/t-bfin-uclinux
===================================================================
--- trunk.orig/gcc/config/bfin/t-bfin-uclinux 2007-09-25 17:38:05.000000000 +0800
+++ trunk/gcc/config/bfin/t-bfin-uclinux 2007-09-25 17:38:21.000000000 +0800
@@ -29,17 +29,9 @@
MULTILIB_EXCEPTIONS+=*msep-data/mleaf-id-shared-library*
# Assemble startup files.
-$(T)crti.o: $(srcdir)/config/bfin/crti.s $(GCC_PASSES)
- $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
- -c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/bfin/crti.s
-
-$(T)crtn.o: $(srcdir)/config/bfin/crtn.s $(GCC_PASSES)
- $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
- -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/bfin/crtn.s
-
$(T)crtlibid.o: $(srcdir)/config/bfin/crtlibid.s $(GCC_PASSES)
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
-c -o $(T)crtlibid.o -x assembler-with-cpp \
$(srcdir)/config/bfin/crtlibid.s
-EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crtbeginS.o crtendS.o crti.o crtn.o crtlibid.o
+EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crtbeginS.o crtendS.o crtlibid.o