Get soft float working for gcc 3.3.2. Support for arm, mips, mipsel, powerpc.
This commit is contained in:
parent
2d472b2334
commit
93e576b799
31
Makefile
31
Makefile
|
@ -33,7 +33,6 @@ ARCH:=i386
|
||||||
#ARCH:=arm
|
#ARCH:=arm
|
||||||
#ARCH:=mips
|
#ARCH:=mips
|
||||||
#ARCH:=mipsel
|
#ARCH:=mipsel
|
||||||
# Possible issues remaining with powerpc and soft float.
|
|
||||||
#ARCH:=powerpc
|
#ARCH:=powerpc
|
||||||
#ARCH:=sh4
|
#ARCH:=sh4
|
||||||
# Busybox link failing due to needing libgcc functions that are statics.
|
# Busybox link failing due to needing libgcc functions that are statics.
|
||||||
|
@ -49,9 +48,8 @@ ARCH:=i386
|
||||||
# Enable this if you want to use an <arch>-linux-uclibc-* toolchain.
|
# Enable this if you want to use an <arch>-linux-uclibc-* toolchain.
|
||||||
# Note that, to avoid configure problems with apps that don't support
|
# Note that, to avoid configure problems with apps that don't support
|
||||||
# this tupple, we also put <arch>-linux-* symlinks in staging_dir/bin.
|
# this tupple, we also put <arch>-linux-* symlinks in staging_dir/bin.
|
||||||
# WARNING -- This does not yet support soft-float builds.
|
# This is the preferred approach now.
|
||||||
USE_LINUX_UCLIBC:=true
|
USE_LINUX_UCLIBC:=true
|
||||||
#USE_LINUX_UCLIBC:=false
|
|
||||||
|
|
||||||
# If you are building a native gcc toolchain, do you want to
|
# If you are building a native gcc toolchain, do you want to
|
||||||
# build the old gcc-2.95 based toolchain, or would you prefer
|
# build the old gcc-2.95 based toolchain, or would you prefer
|
||||||
|
@ -82,6 +80,8 @@ WGET:=wget --passive-ftp
|
||||||
ifeq ($(USE_LINUX_UCLIBC),true)
|
ifeq ($(USE_LINUX_UCLIBC),true)
|
||||||
OPTIMIZE_FOR_CPU=$(ARCH)
|
OPTIMIZE_FOR_CPU=$(ARCH)
|
||||||
#OPTIMIZE_FOR_CPU=i686
|
#OPTIMIZE_FOR_CPU=i686
|
||||||
|
# Note... gcc 2.95 does not seem to like anything higher than i586.
|
||||||
|
#OPTIMIZE_FOR_CPU=i586
|
||||||
#OPTIMIZE_FOR_CPU=whatever
|
#OPTIMIZE_FOR_CPU=whatever
|
||||||
else
|
else
|
||||||
# WARNING!!! CURRENTLY BROKEN!!! LEAVE IT AS $(ARCH)!!!
|
# WARNING!!! CURRENTLY BROKEN!!! LEAVE IT AS $(ARCH)!!!
|
||||||
|
@ -91,15 +91,16 @@ endif
|
||||||
|
|
||||||
# Soft floating point options.
|
# Soft floating point options.
|
||||||
# Notes:
|
# Notes:
|
||||||
# Currently builds with gcc 3.3 for i386, arm, mips, mipsel.
|
# Currently builds with gcc 3.3 for arm, mips, mipsel, powerpc.
|
||||||
|
# (i386 support will be added back in at some point.)
|
||||||
# Only tested with multilib enabled.
|
# Only tested with multilib enabled.
|
||||||
# For i386, long double is the same as double (64 bits). While this
|
# For i386, long double is the same as double (64 bits). While this
|
||||||
# is unusual for x86, it seemed the best approach considering the
|
# is unusual for x86, it seemed the best approach considering the
|
||||||
# limitations in the gcc floating point emulation library.
|
# limitations in the gcc floating point emulation library.
|
||||||
# For arm, soft float uses the usual libfloat routines.
|
# For arm, soft float uses the usual libfloat routines.
|
||||||
# The uClibc built will support _only_ applications compiled with the
|
# Custom specs files are used to set the default gcc mode to soft float
|
||||||
# -msoft-float flag. To avoid CFLAGS problems, you may want to use
|
# as a convenience, since you shouldn't link hard and soft float
|
||||||
# scripts similar to those in the build*/staging_dir/bin directory.
|
# together. In fact, arm won't even let you.
|
||||||
# (Un)comment the appropriate line below.
|
# (Un)comment the appropriate line below.
|
||||||
#SOFT_FLOAT:=true
|
#SOFT_FLOAT:=true
|
||||||
SOFT_FLOAT:=false
|
SOFT_FLOAT:=false
|
||||||
|
@ -212,11 +213,6 @@ TARGETS+=ext2root
|
||||||
#
|
#
|
||||||
#############################################################
|
#############################################################
|
||||||
|
|
||||||
# The new stuff doesn't support soft float yet.
|
|
||||||
ifeq ($(USE_LINUX_UCLIBC),true)
|
|
||||||
SOFT_FLOAT:=false
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(SOFT_FLOAT),true)
|
ifeq ($(SOFT_FLOAT),true)
|
||||||
SOFT_FLOAT_CONFIG_OPTION:=--without-float
|
SOFT_FLOAT_CONFIG_OPTION:=--without-float
|
||||||
TARGET_SOFT_FLOAT:=-msoft-float
|
TARGET_SOFT_FLOAT:=-msoft-float
|
||||||
|
@ -243,7 +239,7 @@ endif
|
||||||
ifneq ($(BUILD_WITH_LARGEFILE),true)
|
ifneq ($(BUILD_WITH_LARGEFILE),true)
|
||||||
DISABLE_LARGEFILE= --disable-largefile
|
DISABLE_LARGEFILE= --disable-largefile
|
||||||
endif
|
endif
|
||||||
TARGET_CFLAGS=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) $(TARGET_SOFT_FLOAT)
|
TARGET_CFLAGS=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING)
|
||||||
|
|
||||||
HOSTCC:=gcc
|
HOSTCC:=gcc
|
||||||
BASE_DIR:=${shell pwd}
|
BASE_DIR:=${shell pwd}
|
||||||
|
@ -269,7 +265,7 @@ KERNEL_CROSS=$(STAGING_DIR)/bin/$(OPTIMIZE_FOR_CPU)-linux-
|
||||||
TARGET_CROSS=$(STAGING_DIR)/bin/$(OPTIMIZE_FOR_CPU)-linux-
|
TARGET_CROSS=$(STAGING_DIR)/bin/$(OPTIMIZE_FOR_CPU)-linux-
|
||||||
endif
|
endif
|
||||||
|
|
||||||
TARGET_CC=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT)
|
TARGET_CC=$(TARGET_CROSS)gcc
|
||||||
STRIP=$(TARGET_CROSS)strip --remove-section=.comment --remove-section=.note
|
STRIP=$(TARGET_CROSS)strip --remove-section=.comment --remove-section=.note
|
||||||
|
|
||||||
|
|
||||||
|
@ -291,10 +287,11 @@ TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \
|
||||||
AS=$(TARGET_CROSS)as \
|
AS=$(TARGET_CROSS)as \
|
||||||
LD=$(TARGET_CROSS)ld \
|
LD=$(TARGET_CROSS)ld \
|
||||||
NM=$(TARGET_CROSS)nm \
|
NM=$(TARGET_CROSS)nm \
|
||||||
CC=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \
|
CC=$(TARGET_CROSS)gcc \
|
||||||
GCC=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \
|
GCC=$(TARGET_CROSS)gcc \
|
||||||
CXX=$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) \
|
CXX=$(TARGET_CROSS)g++ \
|
||||||
RANLIB=$(TARGET_CROSS)ranlib
|
RANLIB=$(TARGET_CROSS)ranlib
|
||||||
|
|
||||||
ifeq ($(ENABLE_LOCALE),true)
|
ifeq ($(ENABLE_LOCALE),true)
|
||||||
DISABLE_NLS:=
|
DISABLE_NLS:=
|
||||||
else
|
else
|
||||||
|
|
|
@ -160,6 +160,14 @@ $(GCC_BUILD_DIR2)/.installed: $(GCC_BUILD_DIR2)/.compiled
|
||||||
$(GNU_TARGET_NAME)$${app##$(REAL_GNU_TARGET_NAME)}; \
|
$(GNU_TARGET_NAME)$${app##$(REAL_GNU_TARGET_NAME)}; \
|
||||||
done; \
|
done; \
|
||||||
);
|
);
|
||||||
|
ifeq ($(SOFT_FLOAT),true)
|
||||||
|
# Replace specs file with one that defaults to soft float mode.
|
||||||
|
if [ ! -f $(STAGING_DIR)/usr/lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs ] ; then \
|
||||||
|
echo staging dir specs file is missing ; \
|
||||||
|
/bin/false ; \
|
||||||
|
fi;
|
||||||
|
cp $(SOURCE_DIR)/specs-$(ARCH)-soft-float $(STAGING_DIR)/usr/lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs
|
||||||
|
endif
|
||||||
touch $(GCC_BUILD_DIR2)/.installed
|
touch $(GCC_BUILD_DIR2)/.installed
|
||||||
|
|
||||||
gcc3_3: uclibc-configured binutils gcc3_3_initial $(LIBFLOAT_TARGET) uclibc \
|
gcc3_3: uclibc-configured binutils gcc3_3_initial $(LIBFLOAT_TARGET) uclibc \
|
||||||
|
@ -209,8 +217,19 @@ $(GCC_BUILD_DIR3)/.compiled: $(GCC_BUILD_DIR3)/.configured
|
||||||
$(TARGET_DIR)/usr/bin/gcc: $(GCC_BUILD_DIR3)/.compiled
|
$(TARGET_DIR)/usr/bin/gcc: $(GCC_BUILD_DIR3)/.compiled
|
||||||
PATH=$(TARGET_PATH) \
|
PATH=$(TARGET_PATH) \
|
||||||
$(MAKE) $(JLEVEL) DESTDIR=$(TARGET_DIR) -C $(GCC_BUILD_DIR3) install
|
$(MAKE) $(JLEVEL) DESTDIR=$(TARGET_DIR) -C $(GCC_BUILD_DIR3) install
|
||||||
|
ifeq ($(SOFT_FLOAT),true)
|
||||||
|
# Replace specs file with one that defaults to soft float mode.
|
||||||
|
if [ ! -f $(TARGET_DIR)/usr/lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs ] ; then \
|
||||||
|
echo target dir specs file is missing ; \
|
||||||
|
/bin/false ; \
|
||||||
|
fi;
|
||||||
|
cp $(SOURCE_DIR)/specs-$(ARCH)-soft-float $(TARGET_DIR)/usr/lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs
|
||||||
|
# Make sure gcc does not think we are cross compiling
|
||||||
|
$(SED) "s/^1/0/;" $(TARGET_DIR)/usr/lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs
|
||||||
|
else
|
||||||
# Remove broken specs file (cross compile flag is set).
|
# Remove broken specs file (cross compile flag is set).
|
||||||
rm -f $(TARGET_DIR)/usr/lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs
|
rm -f $(TARGET_DIR)/usr/lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs
|
||||||
|
endif
|
||||||
-(cd $(TARGET_DIR)/bin; find -type f | xargs $(STRIP) > /dev/null 2>&1)
|
-(cd $(TARGET_DIR)/bin; find -type f | xargs $(STRIP) > /dev/null 2>&1)
|
||||||
-(cd $(TARGET_DIR)/usr/bin; find -type f | xargs $(STRIP) > /dev/null 2>&1)
|
-(cd $(TARGET_DIR)/usr/bin; find -type f | xargs $(STRIP) > /dev/null 2>&1)
|
||||||
-(cd $(TARGET_DIR)/usr/lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION); $(STRIP) cc1 cc1plus collect2 > /dev/null 2>&1)
|
-(cd $(TARGET_DIR)/usr/lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION); $(STRIP) cc1 cc1plus collect2 > /dev/null 2>&1)
|
||||||
|
|
|
@ -33,6 +33,13 @@ $(DL_DIR)/$(UCLIBC_SOURCE):
|
||||||
$(WGET) -P $(DL_DIR) $(UCLIBC_SITE)/$(UCLIBC_SOURCE)
|
$(WGET) -P $(DL_DIR) $(UCLIBC_SITE)/$(UCLIBC_SOURCE)
|
||||||
|
|
||||||
$(UCLIBC_DIR)/.unpacked: $(DL_DIR)/$(UCLIBC_SOURCE)
|
$(UCLIBC_DIR)/.unpacked: $(DL_DIR)/$(UCLIBC_SOURCE)
|
||||||
|
ifeq ($(SOFT_FLOAT),true)
|
||||||
|
# Make sure we have a soft float specs file for this arch
|
||||||
|
if [ ! -f $(SOURCE_DIR)/specs-$(ARCH)-soft-float ] ; then \
|
||||||
|
echo soft float configured but no specs file for this arch ; \
|
||||||
|
/bin/false ; \
|
||||||
|
fi;
|
||||||
|
endif
|
||||||
bzcat $(DL_DIR)/$(UCLIBC_SOURCE) | tar -C $(BUILD_DIR) -xvf -
|
bzcat $(DL_DIR)/$(UCLIBC_SOURCE) | tar -C $(BUILD_DIR) -xvf -
|
||||||
#(cd $(BUILD_DIR) ; ln -s $(DL_DIR)/uClibc)
|
#(cd $(BUILD_DIR) ; ln -s $(DL_DIR)/uClibc)
|
||||||
#-mkdir $(UCLIBC_DIR)
|
#-mkdir $(UCLIBC_DIR)
|
||||||
|
|
14
sources/gcc-uclibc-3.3-120-softfloat.patch
Normal file
14
sources/gcc-uclibc-3.3-120-softfloat.patch
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
--- gcc-3.3.2-old/configure.in 2003-08-09 01:57:21.000000000 -0500
|
||||||
|
+++ gcc-3.3.2/configure.in 2004-01-15 12:46:29.000000000 -0600
|
||||||
|
@@ -1418,6 +1418,11 @@
|
||||||
|
fi
|
||||||
|
|
||||||
|
FLAGS_FOR_TARGET=
|
||||||
|
+case " $targargs " in
|
||||||
|
+ *" --nfp "* | *" --without-float "*)
|
||||||
|
+ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -msoft-float'
|
||||||
|
+ ;;
|
||||||
|
+esac
|
||||||
|
case " $target_configdirs " in
|
||||||
|
*" newlib "*)
|
||||||
|
case " $targargs " in
|
|
@ -1,12 +1,13 @@
|
||||||
diff -urN libfloat-dist/Makefile libfloat/Makefile
|
diff -urN libfloat-dist/Makefile libfloat/Makefile
|
||||||
--- libfloat-dist/Makefile 2003-10-26 00:33:45.000000000 -0500
|
--- libfloat-dist/Makefile 2003-10-26 00:33:45.000000000 -0500
|
||||||
+++ libfloat/Makefile 2003-10-26 01:07:26.000000000 -0500
|
+++ libfloat/Makefile 2003-10-26 01:07:26.000000000 -0500
|
||||||
@@ -1,7 +1,6 @@
|
@@ -1,7 +1,7 @@
|
||||||
# Makefile for the Linux soft-float library
|
# Makefile for the Linux soft-float library
|
||||||
|
|
||||||
-CC=gcc -O2 -freg-struct-return -fomit-frame-pointer -D__LIBFLOAT__
|
-CC=gcc -O2 -freg-struct-return -fomit-frame-pointer -D__LIBFLOAT__
|
||||||
-#CC=gcc -g -O2 -freg-struct-return -D__LIBFLOAT__
|
-#CC=gcc -g -O2 -freg-struct-return -D__LIBFLOAT__
|
||||||
+CFLAGS= -O2 -freg-struct-return -fomit-frame-pointer -D__LIBFLOAT__
|
+CFLAGS= -O2 -freg-struct-return -fomit-frame-pointer -D__LIBFLOAT__ -msoft-float
|
||||||
|
+LIBGCC=$(shell $(CC) -print-libgcc-file-name)
|
||||||
AR=ar
|
AR=ar
|
||||||
|
|
||||||
all: libfloat.a libfloat.so.1
|
all: libfloat.a libfloat.so.1
|
||||||
|
@ -15,7 +16,7 @@ diff -urN libfloat-dist/Makefile libfloat/Makefile
|
||||||
libfloat.so.1: softfloat.os fplib_glue.os
|
libfloat.so.1: softfloat.os fplib_glue.os
|
||||||
rm -f libfloat.so.1
|
rm -f libfloat.so.1
|
||||||
- gcc -shared -Wl,-soname,libfloat.so.1 softfloat.os fplib_glue.os -o libfloat.so.1
|
- gcc -shared -Wl,-soname,libfloat.so.1 softfloat.os fplib_glue.os -o libfloat.so.1
|
||||||
+ $(LD) -shared -soname=libfloat.so.1 softfloat.os fplib_glue.os -o libfloat.so.1
|
+ $(LD) -shared -soname=libfloat.so.1 softfloat.os fplib_glue.os -o libfloat.so.1 $(LIBGCC)
|
||||||
|
|
||||||
softfloat.o: softfloat/bits64/softfloat.c
|
softfloat.o: softfloat/bits64/softfloat.c
|
||||||
- $(CC) -c -o softfloat.o -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
|
- $(CC) -c -o softfloat.o -Isoftfloat/bits64/ARM-gcc softfloat/bits64/softfloat.c
|
||||||
|
|
124
sources/specs-arm-soft-float
Normal file
124
sources/specs-arm-soft-float
Normal file
|
@ -0,0 +1,124 @@
|
||||||
|
*asm:
|
||||||
|
%{mbig-endian:-EB} %{mlittle-endian:-EL} %{mcpu=*:-mcpu=%*} %{march=*:-march=%*} %{mapcs-*:-mapcs-%*} %(subtarget_asm_float_spec) %{mthumb-interwork:-mthumb-interwork} %(subtarget_extra_asm_spec)
|
||||||
|
|
||||||
|
*asm_debug:
|
||||||
|
%{gstabs*:--gstabs}%{!gstabs*:%{g*:--gdwarf2}}
|
||||||
|
|
||||||
|
*asm_final:
|
||||||
|
|
||||||
|
|
||||||
|
*asm_options:
|
||||||
|
%a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}
|
||||||
|
|
||||||
|
*invoke_as:
|
||||||
|
%{!S:-o %{|!pipe:%g.s} |
|
||||||
|
as %(asm_options) %{!pipe:%g.s} %A }
|
||||||
|
|
||||||
|
*cpp:
|
||||||
|
%(cpp_cpu_arch) %(subtarget_cpp_spec) %{mapcs-32:%{mapcs-26: %e-mapcs-26 and -mapcs-32 may not be used together}} %{msoft-float:%{mhard-float: %e-msoft-float and -mhard_float may not be used together}} %{mbig-endian:%{mlittle-endian: %e-mbig-endian and -mlittle-endian may not be used together}}
|
||||||
|
|
||||||
|
*cpp_options:
|
||||||
|
%(cpp_unique_options) %1 %{m*} %{std*} %{ansi} %{W*&pedantic*} %{w} %{f*} %{O*} %{undef}
|
||||||
|
|
||||||
|
*cpp_debug_options:
|
||||||
|
%{d*}
|
||||||
|
|
||||||
|
*cpp_unique_options:
|
||||||
|
%{C:%{!E:%eGNU C does not support -C without using -E}} %{CC:%{!E:%eGNU C does not support -CC without using -E}} %{!Q:-quiet} %{nostdinc*} %{C} %{CC} %{v} %{I*} %{P} %I %{MD:-MD %{!o:%b.d}%{o*:%.d%*}} %{MMD:-MMD %{!o:%b.d}%{o*:%.d%*}} %{M} %{MM} %{MF*} %{MG} %{MP} %{MQ*} %{MT*} %{!E:%{!M:%{!MM:%{MD|MMD:%{o*:-MQ %*}}}}} %{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2 -D__GNUC_PATCHLEVEL__=%v3} %{!undef:%{!ansi:%{!std=*:%p}%{std=gnu*:%p}} %P} %{trigraphs} %{remap} %{g3:-dD} %{H} %C %{D*&U*&A*} %{i*} %Z %i %{E|M|MM:%W{o*}}
|
||||||
|
|
||||||
|
*trad_capable_cpp:
|
||||||
|
cc1 -E %{traditional|ftraditional|traditional-cpp:-traditional-cpp}
|
||||||
|
|
||||||
|
*cc1:
|
||||||
|
%{profile:-p}
|
||||||
|
|
||||||
|
*cc1_options:
|
||||||
|
%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}} %1 %{!Q:-quiet} -dumpbase %B %{d*} %{m*} %{a*} -auxbase%{c|S:%{o*:-strip %*}%{!o*: %b}}%{!c:%{!S: %b}} %{g*} %{O*} %{W*&pedantic*} %{w} %{std*} %{ansi} %{v:-version} %{pg:-p} %{p} %{f*} %{undef} %{Qn:-fno-ident} %{--help:--help} %{--target-help:--target-help} %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}} %{fsyntax-only:-o %j} %{-param*} %{msoft-float:%{mhard-float: %e-msoft-float and -mhard_float may not be used together}} %{!mhard-float:%{!msoft-float:-msoft-float}}
|
||||||
|
|
||||||
|
*cc1plus:
|
||||||
|
|
||||||
|
|
||||||
|
*link_gcc_c_sequence:
|
||||||
|
%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}
|
||||||
|
|
||||||
|
*endfile:
|
||||||
|
%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s
|
||||||
|
|
||||||
|
*link:
|
||||||
|
%{h*} %{version:-v} %{b} %{Wl,*:%*} %{static:-Bstatic} %{shared:-shared} %{symbolic:-Bsymbolic} %{rdynamic:-export-dynamic} %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0} -X %{mbig-endian:-EB} -m armelf_linux -p
|
||||||
|
|
||||||
|
*lib:
|
||||||
|
%{pthread:-lpthread} %{shared:-lc} %{!shared:%{profile:-lc_p}%{!profile:-lc}}
|
||||||
|
|
||||||
|
*libgcc:
|
||||||
|
%{!mhard-float:-lfloat} %{static|static-libgcc:-lgcc -lgcc_eh}%{!static:%{!static-libgcc:%{!shared:%{!shared-libgcc:-lgcc -lgcc_eh}%{shared-libgcc:-lgcc_s%M -lgcc}}%{shared:-lgcc_s%M}}}
|
||||||
|
|
||||||
|
*startfile:
|
||||||
|
%{!shared: %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:%{profile:gcrt1.o%s} %{!profile:crt1.o%s}}}} crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}
|
||||||
|
|
||||||
|
*switches_need_spaces:
|
||||||
|
|
||||||
|
|
||||||
|
*predefines:
|
||||||
|
|
||||||
|
|
||||||
|
*cross_compile:
|
||||||
|
1
|
||||||
|
|
||||||
|
*version:
|
||||||
|
3.3.2
|
||||||
|
|
||||||
|
*multilib:
|
||||||
|
. ;
|
||||||
|
|
||||||
|
*multilib_defaults:
|
||||||
|
marm mlittle-endian msoft-float mapcs-32 mno-thumb-interwork
|
||||||
|
|
||||||
|
*multilib_extra:
|
||||||
|
|
||||||
|
|
||||||
|
*multilib_matches:
|
||||||
|
|
||||||
|
|
||||||
|
*multilib_exclusions:
|
||||||
|
|
||||||
|
|
||||||
|
*multilib_options:
|
||||||
|
|
||||||
|
|
||||||
|
*linker:
|
||||||
|
collect2
|
||||||
|
|
||||||
|
*link_libgcc:
|
||||||
|
%D
|
||||||
|
|
||||||
|
*md_exec_prefix:
|
||||||
|
|
||||||
|
|
||||||
|
*md_startfile_prefix:
|
||||||
|
|
||||||
|
|
||||||
|
*md_startfile_prefix_1:
|
||||||
|
|
||||||
|
|
||||||
|
*startfile_prefix_spec:
|
||||||
|
|
||||||
|
|
||||||
|
*cpp_cpu_arch:
|
||||||
|
%{march=arm2:-D__ARM_ARCH_2__} %{march=arm250:-D__ARM_ARCH_2__} %{march=arm3:-D__ARM_ARCH_2__} %{march=arm6:-D__ARM_ARCH_3__} %{march=arm600:-D__ARM_ARCH_3__} %{march=arm610:-D__ARM_ARCH_3__} %{march=arm7:-D__ARM_ARCH_3__} %{march=arm700:-D__ARM_ARCH_3__} %{march=arm710:-D__ARM_ARCH_3__} %{march=arm720:-D__ARM_ARCH_3__} %{march=arm7100:-D__ARM_ARCH_3__} %{march=arm7500:-D__ARM_ARCH_3__} %{march=arm7500fe:-D__ARM_ARCH_3__} %{march=arm7m:-D__ARM_ARCH_3M__} %{march=arm7dm:-D__ARM_ARCH_3M__} %{march=arm7dmi:-D__ARM_ARCH_3M__} %{march=arm7tdmi:-D__ARM_ARCH_4T__} %{march=arm8:-D__ARM_ARCH_4__} %{march=arm810:-D__ARM_ARCH_4__} %{march=arm9:-D__ARM_ARCH_4T__} %{march=arm920:-D__ARM_ARCH_4__} %{march=arm920t:-D__ARM_ARCH_4T__} %{march=arm9tdmi:-D__ARM_ARCH_4T__} %{march=strongarm:-D__ARM_ARCH_4__} %{march=strongarm110:-D__ARM_ARCH_4__} %{march=strongarm1100:-D__ARM_ARCH_4__} %{march=xscale:-D__ARM_ARCH_5TE__} %{march=xscale:-D__XSCALE__} %{march=armv2:-D__ARM_ARCH_2__} %{march=armv2a:-D__ARM_ARCH_2__} %{march=armv3:-D__ARM_ARCH_3__} %{march=armv3m:-D__ARM_ARCH_3M__} %{march=armv4:-D__ARM_ARCH_4__} %{march=armv4t:-D__ARM_ARCH_4T__} %{march=armv5:-D__ARM_ARCH_5__} %{march=armv5t:-D__ARM_ARCH_5T__} %{march=armv5e:-D__ARM_ARCH_5E__} %{march=armv5te:-D__ARM_ARCH_5TE__} %{!march=*: %{mcpu=arm2:-D__ARM_ARCH_2__} %{mcpu=arm250:-D__ARM_ARCH_2__} %{mcpu=arm3:-D__ARM_ARCH_2__} %{mcpu=arm6:-D__ARM_ARCH_3__} %{mcpu=arm600:-D__ARM_ARCH_3__} %{mcpu=arm610:-D__ARM_ARCH_3__} %{mcpu=arm7:-D__ARM_ARCH_3__} %{mcpu=arm700:-D__ARM_ARCH_3__} %{mcpu=arm710:-D__ARM_ARCH_3__} %{mcpu=arm720:-D__ARM_ARCH_3__} %{mcpu=arm7100:-D__ARM_ARCH_3__} %{mcpu=arm7500:-D__ARM_ARCH_3__} %{mcpu=arm7500fe:-D__ARM_ARCH_3__} %{mcpu=arm7m:-D__ARM_ARCH_3M__} %{mcpu=arm7dm:-D__ARM_ARCH_3M__} %{mcpu=arm7dmi:-D__ARM_ARCH_3M__} %{mcpu=arm7tdmi:-D__ARM_ARCH_4T__} %{mcpu=arm8:-D__ARM_ARCH_4__} %{mcpu=arm810:-D__ARM_ARCH_4__} %{mcpu=arm9:-D__ARM_ARCH_4T__} %{mcpu=arm920:-D__ARM_ARCH_4__} %{mcpu=arm920t:-D__ARM_ARCH_4T__} %{mcpu=arm9tdmi:-D__ARM_ARCH_4T__} %{mcpu=strongarm:-D__ARM_ARCH_4__} %{mcpu=strongarm110:-D__ARM_ARCH_4__} %{mcpu=strongarm1100:-D__ARM_ARCH_4__} %{mcpu=xscale:-D__ARM_ARCH_5TE__} %{mcpu=xscale:-D__XSCALE__} %{!mcpu*:%(cpp_cpu_arch_default)}}
|
||||||
|
|
||||||
|
*cpp_cpu_arch_default:
|
||||||
|
-D__ARM_ARCH_4T__
|
||||||
|
|
||||||
|
*subtarget_cpp_spec:
|
||||||
|
%{posix:-D_POSIX_SOURCE} %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__}
|
||||||
|
|
||||||
|
*subtarget_extra_asm_spec:
|
||||||
|
|
||||||
|
|
||||||
|
*subtarget_asm_float_spec:
|
||||||
|
%{mapcs-float:-mfloat} %{!mhard-float:-mno-fpu}
|
||||||
|
|
||||||
|
*link_command:
|
||||||
|
%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S: %(linker) %l %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r} %{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}} %{static:} %{L*} %(link_libgcc) %o %{!nostdlib:%{!nodefaultlibs:%(link_gcc_c_sequence)}} %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}}}}}
|
||||||
|
|
145
sources/specs-mips-soft-float
Normal file
145
sources/specs-mips-soft-float
Normal file
|
@ -0,0 +1,145 @@
|
||||||
|
*asm:
|
||||||
|
%{G*} %(endian_spec) %{mips1} %{mips2} %{mips3} %{mips4} %{mips32} %{mips64}%{mips16:%{!mno-mips16:-mips16}} %{mno-mips16:-no-mips16} %(subtarget_asm_optimizing_spec) %(subtarget_asm_debugging_spec) %{membedded-pic} %{mabi=32:-32}%{mabi=n32:-n32}%{mabi=64:-64}%{mabi=n64:-64} %{mabi=eabi} %{mabi=o64} %{!mabi*: %(asm_abi_default_spec)} %{mgp32} %{mgp64} %{march=*} %(target_asm_spec) %(subtarget_asm_spec)
|
||||||
|
|
||||||
|
*asm_debug:
|
||||||
|
%{gstabs*:--gstabs}%{!gstabs*:%{g*:--gdwarf2}}
|
||||||
|
|
||||||
|
*asm_final:
|
||||||
|
%|
|
||||||
|
|
||||||
|
*asm_options:
|
||||||
|
%a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}
|
||||||
|
|
||||||
|
*invoke_as:
|
||||||
|
%{!S:-o %{|!pipe:%g.s} |
|
||||||
|
as %(asm_options) %{!pipe:%g.s} %A }
|
||||||
|
|
||||||
|
*cpp:
|
||||||
|
%(subtarget_cpp_spec)
|
||||||
|
|
||||||
|
*cpp_options:
|
||||||
|
%(cpp_unique_options) %1 %{m*} %{std*} %{ansi} %{W*&pedantic*} %{w} %{f*} %{O*} %{undef}
|
||||||
|
|
||||||
|
*cpp_debug_options:
|
||||||
|
%{d*}
|
||||||
|
|
||||||
|
*cpp_unique_options:
|
||||||
|
%{C:%{!E:%eGNU C does not support -C without using -E}} %{CC:%{!E:%eGNU C does not support -CC without using -E}} %{!Q:-quiet} %{nostdinc*} %{C} %{CC} %{v} %{I*} %{P} %I %{MD:-MD %{!o:%b.d}%{o*:%.d%*}} %{MMD:-MMD %{!o:%b.d}%{o*:%.d%*}} %{M} %{MM} %{MF*} %{MG} %{MP} %{MQ*} %{MT*} %{!E:%{!M:%{!MM:%{MD|MMD:%{o*:-MQ %*}}}}} %{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2 -D__GNUC_PATCHLEVEL__=%v3} %{!undef:%{!ansi:%{!std=*:%p}%{std=gnu*:%p}} %P} %{trigraphs} %{remap} %{g3:-dD} %{H} %C %{D*&U*&A*} %{i*} %Z %i %{E|M|MM:%W{o*}}
|
||||||
|
|
||||||
|
*trad_capable_cpp:
|
||||||
|
cc1 -E %{traditional|ftraditional|traditional-cpp:-traditional-cpp}
|
||||||
|
|
||||||
|
*cc1:
|
||||||
|
%{profile:-p}
|
||||||
|
|
||||||
|
*cc1_options:
|
||||||
|
%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}} %1 %{!Q:-quiet} -dumpbase %B %{d*} %{m*} %{a*} -auxbase%{c|S:%{o*:-strip %*}%{!o*: %b}}%{!c:%{!S: %b}} %{g*} %{O*} %{W*&pedantic*} %{w} %{std*} %{ansi} %{v:-version} %{pg:-p} %{p} %{f*} %{undef} %{Qn:-fno-ident} %{--help:--help} %{--target-help:--target-help} %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}} %{fsyntax-only:-o %j} %{-param*} %{msoft-float:%{mhard-float: %e-msoft-float and -mhard_float may not be used together}} %{!mhard-float:%{!msoft-float:-msoft-float}}
|
||||||
|
|
||||||
|
*cc1plus:
|
||||||
|
|
||||||
|
|
||||||
|
*link_gcc_c_sequence:
|
||||||
|
%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}
|
||||||
|
|
||||||
|
*endfile:
|
||||||
|
%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s
|
||||||
|
|
||||||
|
*link:
|
||||||
|
%{!static:--eh-frame-hdr} %(endian_spec) %{shared:-shared} %{!shared: %{!ibcs: %{!static: %{rdynamic:-export-dynamic} %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} %{static:-static}}}
|
||||||
|
|
||||||
|
*lib:
|
||||||
|
%{pthread:-lpthread} %{shared:-lc} %{!shared:%{mieee-fp:-lieee} %{profile:-lc_p}%{!profile:-lc}}
|
||||||
|
|
||||||
|
*libgcc:
|
||||||
|
%{static|static-libgcc:-lgcc -lgcc_eh}%{!static:%{!static-libgcc:%{!shared:%{!shared-libgcc:-lgcc -lgcc_eh}%{shared-libgcc:-lgcc_s%M -lgcc}}%{shared:%{shared-libgcc:-lgcc_s%M}%{!shared-libgcc:-lgcc}}}}
|
||||||
|
|
||||||
|
*startfile:
|
||||||
|
%{!shared: %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:%{profile:gcrt1.o%s} %{!profile:crt1.o%s}}}} crti.o%s %{static:crtbeginT.o%s} %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}
|
||||||
|
|
||||||
|
*switches_need_spaces:
|
||||||
|
|
||||||
|
|
||||||
|
*predefines:
|
||||||
|
|
||||||
|
|
||||||
|
*cross_compile:
|
||||||
|
1
|
||||||
|
|
||||||
|
*version:
|
||||||
|
3.3.2
|
||||||
|
|
||||||
|
*multilib:
|
||||||
|
. ;
|
||||||
|
|
||||||
|
*multilib_defaults:
|
||||||
|
EB mips1 mabi=32
|
||||||
|
|
||||||
|
*multilib_extra:
|
||||||
|
|
||||||
|
|
||||||
|
*multilib_matches:
|
||||||
|
|
||||||
|
|
||||||
|
*multilib_exclusions:
|
||||||
|
|
||||||
|
|
||||||
|
*multilib_options:
|
||||||
|
|
||||||
|
|
||||||
|
*linker:
|
||||||
|
collect2
|
||||||
|
|
||||||
|
*link_libgcc:
|
||||||
|
%D
|
||||||
|
|
||||||
|
*md_exec_prefix:
|
||||||
|
|
||||||
|
|
||||||
|
*md_startfile_prefix:
|
||||||
|
|
||||||
|
|
||||||
|
*md_startfile_prefix_1:
|
||||||
|
|
||||||
|
|
||||||
|
*startfile_prefix_spec:
|
||||||
|
|
||||||
|
|
||||||
|
*subtarget_cc1_spec:
|
||||||
|
|
||||||
|
|
||||||
|
*subtarget_cpp_spec:
|
||||||
|
%{fno-PIC:-U__PIC__ -U__pic__} %{fno-pic:-U__PIC__ -U__pic__} %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{pthread:-D_REENTRANT}
|
||||||
|
|
||||||
|
*mips_as_asm_spec:
|
||||||
|
%{!.s:-nocpp} %{.s: %{cpp} %{nocpp}} %{pipe: %e-pipe is not supported} %{K} %(subtarget_mips_as_asm_spec)
|
||||||
|
|
||||||
|
*gas_asm_spec:
|
||||||
|
%{mtune=*} %{v}
|
||||||
|
|
||||||
|
*target_asm_spec:
|
||||||
|
%{mmips-as: %(mips_as_asm_spec)} %{!mmips-as: %(gas_asm_spec)}
|
||||||
|
|
||||||
|
*subtarget_mips_as_asm_spec:
|
||||||
|
%{v}
|
||||||
|
|
||||||
|
*subtarget_asm_optimizing_spec:
|
||||||
|
%{noasmopt:-O0} %{!noasmopt:%{O:-O2} %{O1:-O2} %{O2:-O2} %{O3:-O3}}
|
||||||
|
|
||||||
|
*subtarget_asm_debugging_spec:
|
||||||
|
-g0
|
||||||
|
|
||||||
|
*mdebug_asm_spec:
|
||||||
|
%{!gdwarf*:-mdebug} %{gdwarf*:-no-mdebug}
|
||||||
|
|
||||||
|
*subtarget_asm_spec:
|
||||||
|
%{mabi=64: -64} %{!fno-PIC:%{!fno-pic:-KPIC}} %{fno-PIC:-non_shared} %{fno-pic:-non_shared}
|
||||||
|
|
||||||
|
*asm_abi_default_spec:
|
||||||
|
-32
|
||||||
|
|
||||||
|
*endian_spec:
|
||||||
|
%{!EL:%{!mel:-EB}} %{EL|mel:-EL}
|
||||||
|
|
||||||
|
*link_command:
|
||||||
|
%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S: %(linker) %l %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r} %{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}} %{static:} %{L*} %(link_libgcc) %o %{!nostdlib:%{!nodefaultlibs:%(link_gcc_c_sequence)}} %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}}}}}
|
||||||
|
|
145
sources/specs-mipsel-soft-float
Normal file
145
sources/specs-mipsel-soft-float
Normal file
|
@ -0,0 +1,145 @@
|
||||||
|
*asm:
|
||||||
|
%{G*} %(endian_spec) %{mips1} %{mips2} %{mips3} %{mips4} %{mips32} %{mips64}%{mips16:%{!mno-mips16:-mips16}} %{mno-mips16:-no-mips16} %(subtarget_asm_optimizing_spec) %(subtarget_asm_debugging_spec) %{membedded-pic} %{mabi=32:-32}%{mabi=n32:-n32}%{mabi=64:-64}%{mabi=n64:-64} %{mabi=eabi} %{mabi=o64} %{!mabi*: %(asm_abi_default_spec)} %{mgp32} %{mgp64} %{march=*} %(target_asm_spec) %(subtarget_asm_spec)
|
||||||
|
|
||||||
|
*asm_debug:
|
||||||
|
%{gstabs*:--gstabs}%{!gstabs*:%{g*:--gdwarf2}}
|
||||||
|
|
||||||
|
*asm_final:
|
||||||
|
%|
|
||||||
|
|
||||||
|
*asm_options:
|
||||||
|
%a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}
|
||||||
|
|
||||||
|
*invoke_as:
|
||||||
|
%{!S:-o %{|!pipe:%g.s} |
|
||||||
|
as %(asm_options) %{!pipe:%g.s} %A }
|
||||||
|
|
||||||
|
*cpp:
|
||||||
|
%(subtarget_cpp_spec)
|
||||||
|
|
||||||
|
*cpp_options:
|
||||||
|
%(cpp_unique_options) %1 %{m*} %{std*} %{ansi} %{W*&pedantic*} %{w} %{f*} %{O*} %{undef}
|
||||||
|
|
||||||
|
*cpp_debug_options:
|
||||||
|
%{d*}
|
||||||
|
|
||||||
|
*cpp_unique_options:
|
||||||
|
%{C:%{!E:%eGNU C does not support -C without using -E}} %{CC:%{!E:%eGNU C does not support -CC without using -E}} %{!Q:-quiet} %{nostdinc*} %{C} %{CC} %{v} %{I*} %{P} %I %{MD:-MD %{!o:%b.d}%{o*:%.d%*}} %{MMD:-MMD %{!o:%b.d}%{o*:%.d%*}} %{M} %{MM} %{MF*} %{MG} %{MP} %{MQ*} %{MT*} %{!E:%{!M:%{!MM:%{MD|MMD:%{o*:-MQ %*}}}}} %{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2 -D__GNUC_PATCHLEVEL__=%v3} %{!undef:%{!ansi:%{!std=*:%p}%{std=gnu*:%p}} %P} %{trigraphs} %{remap} %{g3:-dD} %{H} %C %{D*&U*&A*} %{i*} %Z %i %{E|M|MM:%W{o*}}
|
||||||
|
|
||||||
|
*trad_capable_cpp:
|
||||||
|
cc1 -E %{traditional|ftraditional|traditional-cpp:-traditional-cpp}
|
||||||
|
|
||||||
|
*cc1:
|
||||||
|
%{profile:-p}
|
||||||
|
|
||||||
|
*cc1_options:
|
||||||
|
%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}} %1 %{!Q:-quiet} -dumpbase %B %{d*} %{m*} %{a*} -auxbase%{c|S:%{o*:-strip %*}%{!o*: %b}}%{!c:%{!S: %b}} %{g*} %{O*} %{W*&pedantic*} %{w} %{std*} %{ansi} %{v:-version} %{pg:-p} %{p} %{f*} %{undef} %{Qn:-fno-ident} %{--help:--help} %{--target-help:--target-help} %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}} %{fsyntax-only:-o %j} %{-param*} %{msoft-float:%{mhard-float: %e-msoft-float and -mhard_float may not be used together}} %{!mhard-float:%{!msoft-float:-msoft-float}}
|
||||||
|
|
||||||
|
*cc1plus:
|
||||||
|
|
||||||
|
|
||||||
|
*link_gcc_c_sequence:
|
||||||
|
%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}
|
||||||
|
|
||||||
|
*endfile:
|
||||||
|
%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s
|
||||||
|
|
||||||
|
*link:
|
||||||
|
%{!static:--eh-frame-hdr} %(endian_spec) %{shared:-shared} %{!shared: %{!ibcs: %{!static: %{rdynamic:-export-dynamic} %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} %{static:-static}}}
|
||||||
|
|
||||||
|
*lib:
|
||||||
|
%{pthread:-lpthread} %{shared:-lc} %{!shared:%{mieee-fp:-lieee} %{profile:-lc_p}%{!profile:-lc}}
|
||||||
|
|
||||||
|
*libgcc:
|
||||||
|
%{static|static-libgcc:-lgcc -lgcc_eh}%{!static:%{!static-libgcc:%{!shared:%{!shared-libgcc:-lgcc -lgcc_eh}%{shared-libgcc:-lgcc_s%M -lgcc}}%{shared:%{shared-libgcc:-lgcc_s%M}%{!shared-libgcc:-lgcc}}}}
|
||||||
|
|
||||||
|
*startfile:
|
||||||
|
%{!shared: %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:%{profile:gcrt1.o%s} %{!profile:crt1.o%s}}}} crti.o%s %{static:crtbeginT.o%s} %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}
|
||||||
|
|
||||||
|
*switches_need_spaces:
|
||||||
|
|
||||||
|
|
||||||
|
*predefines:
|
||||||
|
|
||||||
|
|
||||||
|
*cross_compile:
|
||||||
|
1
|
||||||
|
|
||||||
|
*version:
|
||||||
|
3.3.2
|
||||||
|
|
||||||
|
*multilib:
|
||||||
|
. ;
|
||||||
|
|
||||||
|
*multilib_defaults:
|
||||||
|
EL mips1 mabi=32
|
||||||
|
|
||||||
|
*multilib_extra:
|
||||||
|
|
||||||
|
|
||||||
|
*multilib_matches:
|
||||||
|
|
||||||
|
|
||||||
|
*multilib_exclusions:
|
||||||
|
|
||||||
|
|
||||||
|
*multilib_options:
|
||||||
|
|
||||||
|
|
||||||
|
*linker:
|
||||||
|
collect2
|
||||||
|
|
||||||
|
*link_libgcc:
|
||||||
|
%D
|
||||||
|
|
||||||
|
*md_exec_prefix:
|
||||||
|
|
||||||
|
|
||||||
|
*md_startfile_prefix:
|
||||||
|
|
||||||
|
|
||||||
|
*md_startfile_prefix_1:
|
||||||
|
|
||||||
|
|
||||||
|
*startfile_prefix_spec:
|
||||||
|
|
||||||
|
|
||||||
|
*subtarget_cc1_spec:
|
||||||
|
|
||||||
|
|
||||||
|
*subtarget_cpp_spec:
|
||||||
|
%{fno-PIC:-U__PIC__ -U__pic__} %{fno-pic:-U__PIC__ -U__pic__} %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{pthread:-D_REENTRANT}
|
||||||
|
|
||||||
|
*mips_as_asm_spec:
|
||||||
|
%{!.s:-nocpp} %{.s: %{cpp} %{nocpp}} %{pipe: %e-pipe is not supported} %{K} %(subtarget_mips_as_asm_spec)
|
||||||
|
|
||||||
|
*gas_asm_spec:
|
||||||
|
%{mtune=*} %{v}
|
||||||
|
|
||||||
|
*target_asm_spec:
|
||||||
|
%{mmips-as: %(mips_as_asm_spec)} %{!mmips-as: %(gas_asm_spec)}
|
||||||
|
|
||||||
|
*subtarget_mips_as_asm_spec:
|
||||||
|
%{v}
|
||||||
|
|
||||||
|
*subtarget_asm_optimizing_spec:
|
||||||
|
%{noasmopt:-O0} %{!noasmopt:%{O:-O2} %{O1:-O2} %{O2:-O2} %{O3:-O3}}
|
||||||
|
|
||||||
|
*subtarget_asm_debugging_spec:
|
||||||
|
-g0
|
||||||
|
|
||||||
|
*mdebug_asm_spec:
|
||||||
|
%{!gdwarf*:-mdebug} %{gdwarf*:-no-mdebug}
|
||||||
|
|
||||||
|
*subtarget_asm_spec:
|
||||||
|
%{mabi=64: -64} %{!fno-PIC:%{!fno-pic:-KPIC}} %{fno-PIC:-non_shared} %{fno-pic:-non_shared}
|
||||||
|
|
||||||
|
*asm_abi_default_spec:
|
||||||
|
-32
|
||||||
|
|
||||||
|
*endian_spec:
|
||||||
|
%{!EB:%{!meb:-EL}} %{EB|meb:-EB}
|
||||||
|
|
||||||
|
*link_command:
|
||||||
|
%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S: %(linker) %l %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r} %{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}} %{static:} %{L*} %(link_libgcc) %o %{!nostdlib:%{!nodefaultlibs:%(link_gcc_c_sequence)}} %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}}}}}
|
||||||
|
|
352
sources/specs-powerpc-soft-float
Normal file
352
sources/specs-powerpc-soft-float
Normal file
|
@ -0,0 +1,352 @@
|
||||||
|
*asm:
|
||||||
|
%(asm_cpu) %{.s: %{mregnames} %{mno-regnames}} %{.S: %{mregnames} %{mno-regnames}} %{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} %{mrelocatable} %{mrelocatable-lib} %{fpic:-K PIC} %{fPIC:-K PIC} %{memb} %{!memb: %{msdata: -memb} %{msdata=eabi: -memb}} %{mlittle} %{mlittle-endian} %{mbig} %{mbig-endian} %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: %{mcall-freebsd: -mbig} %{mcall-i960-old: -mlittle} %{mcall-linux: -mbig} %{mcall-gnu: -mbig} %{mcall-netbsd: -mbig} }}}}
|
||||||
|
|
||||||
|
*asm_debug:
|
||||||
|
%{gstabs*:--gstabs}%{!gstabs*:%{g*:--gdwarf2}}
|
||||||
|
|
||||||
|
*asm_final:
|
||||||
|
%|
|
||||||
|
|
||||||
|
*asm_options:
|
||||||
|
%a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}
|
||||||
|
|
||||||
|
*invoke_as:
|
||||||
|
%{!S:-o %{|!pipe:%g.s} |
|
||||||
|
as %(asm_options) %{!pipe:%g.s} %A }
|
||||||
|
|
||||||
|
*cpp:
|
||||||
|
%{posix: -D_POSIX_SOURCE} %(cpp_sysv) %{mads: %(cpp_os_ads) } %{myellowknife: %(cpp_os_yellowknife) } %{mmvme: %(cpp_os_mvme) } %{msim: %(cpp_os_sim) } %{mwindiss: %(cpp_os_windiss) } %{mcall-freebsd: %(cpp_os_freebsd) } %{mcall-linux: %(cpp_os_linux) } %{mcall-gnu: %(cpp_os_gnu) } %{mcall-netbsd: %(cpp_os_netbsd) } %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: %{!mcall-netbsd: %(cpp_os_default) }}}}}}}}}
|
||||||
|
|
||||||
|
*cpp_options:
|
||||||
|
%(cpp_unique_options) %1 %{m*} %{std*} %{ansi} %{W*&pedantic*} %{w} %{f*} %{O*} %{undef}
|
||||||
|
|
||||||
|
*cpp_debug_options:
|
||||||
|
%{d*}
|
||||||
|
|
||||||
|
*cpp_unique_options:
|
||||||
|
%{C:%{!E:%eGNU C does not support -C without using -E}} %{CC:%{!E:%eGNU C does not support -CC without using -E}} %{!Q:-quiet} %{nostdinc*} %{C} %{CC} %{v} %{I*} %{P} %I %{MD:-MD %{!o:%b.d}%{o*:%.d%*}} %{MMD:-MMD %{!o:%b.d}%{o*:%.d%*}} %{M} %{MM} %{MF*} %{MG} %{MP} %{MQ*} %{MT*} %{!E:%{!M:%{!MM:%{MD|MMD:%{o*:-MQ %*}}}}} %{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2 -D__GNUC_PATCHLEVEL__=%v3} %{!undef:%{!ansi:%{!std=*:%p}%{std=gnu*:%p}} %P} %{trigraphs} %{remap} %{g3:-dD} %{H} %C %{D*&U*&A*} %{i*} %Z %i %{E|M|MM:%W{o*}}
|
||||||
|
|
||||||
|
*trad_capable_cpp:
|
||||||
|
cc1 -E %{traditional|ftraditional|traditional-cpp:-traditional-cpp}
|
||||||
|
|
||||||
|
*cc1:
|
||||||
|
%{G*} %{mlittle: %(cc1_endian_little)} %{!mlittle: %{mlittle-endian: %(cc1_endian_little)}} %{mbig: %(cc1_endian_big)} %{!mbig: %{mbig-endian: %(cc1_endian_big)}} %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: %{mcall-aixdesc: -mbig %(cc1_endian_big) } %{mcall-freebsd: -mbig %(cc1_endian_big) } %{mcall-i960-old: -mlittle %(cc1_endian_little) } %{mcall-linux: -mbig %(cc1_endian_big) } %{mcall-gnu: -mbig %(cc1_endian_big) } %{mcall-netbsd: -mbig %(cc1_endian_big) } %{!mcall-aixdesc: %{!mcall-freebsd: %{!mcall-i960-old: %{!mcall-linux: %{!mcall-gnu: %{!mcall-netbsd: %(cc1_endian_default) }}}}}} }}}} %{mno-sdata: -msdata=none } %{meabi: %{!mcall-*: -mcall-sysv }} %{!meabi: %{!mno-eabi: %{mrelocatable: -meabi } %{mcall-freebsd: -mno-eabi } %{mcall-i960-old: -meabi } %{mcall-linux: -mno-eabi } %{mcall-gnu: -mno-eabi } %{mcall-netbsd: -mno-eabi }}} %{msdata: -msdata=default} %{mno-sdata: -msdata=none} %{profile: -p}
|
||||||
|
|
||||||
|
*cc1_options:
|
||||||
|
%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}} %1 %{!Q:-quiet} -dumpbase %B %{d*} %{m*} %{a*} -auxbase%{c|S:%{o*:-strip %*}%{!o*: %b}}%{!c:%{!S: %b}} %{g*} %{O*} %{W*&pedantic*} %{w} %{std*} %{ansi} %{v:-version} %{pg:-p} %{p} %{f*} %{undef} %{Qn:-fno-ident} %{--help:--help} %{--target-help:--target-help} %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}} %{fsyntax-only:-o %j} %{-param*} %{msoft-float:%{mhard-float: %e-msoft-float and -mhard_float may not be used together}} %{!mhard-float:%{!msoft-float:-msoft-float}}
|
||||||
|
|
||||||
|
*cc1plus:
|
||||||
|
|
||||||
|
|
||||||
|
*link_gcc_c_sequence:
|
||||||
|
%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}
|
||||||
|
|
||||||
|
*endfile:
|
||||||
|
%{mads: crtsavres.o%s %(endfile_ads)} %{myellowknife: crtsavres.o%s %(endfile_yellowknife)} %{mmvme: crtsavres.o%s %(endfile_mvme)} %{msim: crtsavres.o%s %(endfile_sim)} %{mwindiss: %(endfile_windiss)} %{mcall-freebsd: crtsavres.o%s %(endfile_freebsd) } %{mcall-linux: crtsavres.o%s %(endfile_linux) } %{mcall-gnu: crtsavres.o%s %(endfile_gnu) } %{mcall-netbsd: crtsavres.o%s %(endfile_netbsd) } %{mvxworks: crtsavres.o%s %(endfile_vxworks) } %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: %{!mcall-netbsd: %{!mvxworks: %(crtsavres_default) %(endfile_default) }}}}}}}}}}
|
||||||
|
|
||||||
|
*link:
|
||||||
|
%{!static:--eh-frame-hdr} %{h*} %{v:-V} %{!msdata=none:%{G*}} %{msdata=none:-G0} %{YP,*} %{R*} %{Qy:} %{!Qn:-Qy} %(link_shlib) %{!Wl,-T*: %{!T*: %(link_start) }} %(link_target) %(link_os)
|
||||||
|
|
||||||
|
*lib:
|
||||||
|
%{mads: %(lib_ads) } %{myellowknife: %(lib_yellowknife) } %{mmvme: %(lib_mvme) } %{msim: %(lib_sim) } %{mwindiss: %(lib_windiss) } %{mcall-freebsd: %(lib_freebsd) } %{mcall-linux: %(lib_linux) } %{mcall-gnu: %(lib_gnu) } %{mcall-netbsd: %(lib_netbsd) } %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: %{!mcall-netbsd: %(lib_default) }}}}}}}}}
|
||||||
|
|
||||||
|
*libgcc:
|
||||||
|
%{static|static-libgcc:-lgcc -lgcc_eh}%{!static:%{!static-libgcc:%{!shared:%{!shared-libgcc:-lgcc -lgcc_eh}%{shared-libgcc:-lgcc_s%M -lgcc}}%{shared:%{shared-libgcc:-lgcc_s%M}%{!shared-libgcc:-lgcc}}}}
|
||||||
|
|
||||||
|
*startfile:
|
||||||
|
%{mads: %(startfile_ads) } %{myellowknife: %(startfile_yellowknife) } %{mmvme: %(startfile_mvme) } %{msim: %(startfile_sim) } %{mwindiss: %(startfile_windiss) } %{mcall-freebsd: %(startfile_freebsd) } %{mcall-linux: %(startfile_linux) } %{mcall-gnu: %(startfile_gnu) } %{mcall-netbsd: %(startfile_netbsd) } %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: %{!mcall-netbsd: %(startfile_default) }}}}}}}}}
|
||||||
|
|
||||||
|
*switches_need_spaces:
|
||||||
|
|
||||||
|
|
||||||
|
*predefines:
|
||||||
|
|
||||||
|
|
||||||
|
*cross_compile:
|
||||||
|
1
|
||||||
|
|
||||||
|
*version:
|
||||||
|
3.3.2
|
||||||
|
|
||||||
|
*multilib:
|
||||||
|
. mhard-float;nof !mhard-float;
|
||||||
|
|
||||||
|
*multilib_defaults:
|
||||||
|
mbig mcall-sysv
|
||||||
|
|
||||||
|
*multilib_extra:
|
||||||
|
fPIC mstrict-align
|
||||||
|
|
||||||
|
*multilib_matches:
|
||||||
|
mcpu=401 msoft-float;mcpu=403 msoft-float;mcpu=405 msoft-float;mcpu=ec603e msoft-float;mcpu=801 msoft-float;mcpu=821 msoft-float;mcpu=823 msoft-float;mcpu=860 msoft-float;msoft-float msoft-float;
|
||||||
|
|
||||||
|
*multilib_exclusions:
|
||||||
|
|
||||||
|
|
||||||
|
*multilib_options:
|
||||||
|
msoft-float
|
||||||
|
|
||||||
|
*linker:
|
||||||
|
collect2
|
||||||
|
|
||||||
|
*link_libgcc:
|
||||||
|
%D
|
||||||
|
|
||||||
|
*md_exec_prefix:
|
||||||
|
|
||||||
|
|
||||||
|
*md_startfile_prefix:
|
||||||
|
|
||||||
|
|
||||||
|
*md_startfile_prefix_1:
|
||||||
|
|
||||||
|
|
||||||
|
*startfile_prefix_spec:
|
||||||
|
|
||||||
|
|
||||||
|
*cpp_default:
|
||||||
|
|
||||||
|
|
||||||
|
*asm_cpu:
|
||||||
|
%{!mcpu*: %{mpower: %{!mpower2: -mpwr}} %{mpower2: -mpwrx} %{mpowerpc*: -mppc} %{mno-power: %{!mpowerpc*: -mcom}} %{!mno-power: %{!mpower2: %(asm_default)}}} %{mcpu=common: -mcom} %{mcpu=power: -mpwr} %{mcpu=power2: -mpwrx} %{mcpu=power3: -m604} %{mcpu=power4: -mpower4} %{mcpu=powerpc: -mppc} %{mcpu=rios: -mpwr} %{mcpu=rios1: -mpwr} %{mcpu=rios2: -mpwrx} %{mcpu=rsc: -mpwr} %{mcpu=rsc1: -mpwr} %{mcpu=401: -mppc} %{mcpu=403: -m403} %{mcpu=405: -m405} %{mcpu=505: -mppc} %{mcpu=601: -m601} %{mcpu=602: -mppc} %{mcpu=603: -mppc} %{mcpu=603e: -mppc} %{mcpu=ec603e: -mppc} %{mcpu=604: -mppc} %{mcpu=604e: -mppc} %{mcpu=620: -mppc} %{mcpu=630: -m604} %{mcpu=740: -mppc} %{mcpu=7400: -mppc} %{mcpu=7450: -mppc} %{mcpu=750: -mppc} %{mcpu=801: -mppc} %{mcpu=821: -mppc} %{mcpu=823: -mppc} %{mcpu=860: -mppc} %{mcpu=8540: -me500} %{maltivec: -maltivec}
|
||||||
|
|
||||||
|
*asm_default:
|
||||||
|
-mppc
|
||||||
|
|
||||||
|
*cpp_sysv:
|
||||||
|
%{mrelocatable*: -D_RELOCATABLE} %{fpic: -D__PIC__=1 -D__pic__=1} %{!fpic: %{fPIC: -D__PIC__=2 -D__pic__=2}}
|
||||||
|
|
||||||
|
*crtsavres_default:
|
||||||
|
crtsavres.o%s
|
||||||
|
|
||||||
|
*lib_ads:
|
||||||
|
--start-group -lads -lc --end-group
|
||||||
|
|
||||||
|
*lib_yellowknife:
|
||||||
|
--start-group -lyk -lc --end-group
|
||||||
|
|
||||||
|
*lib_mvme:
|
||||||
|
--start-group -lmvme -lc --end-group
|
||||||
|
|
||||||
|
*lib_sim:
|
||||||
|
--start-group -lsim -lc --end-group
|
||||||
|
|
||||||
|
*lib_freebsd:
|
||||||
|
%{!shared: %{!pg: %{!pthread:-lc} %{pthread:-lc_r}} %{pg: %{!pthread:-lc_p} %{pthread:-lc_r_p}} }
|
||||||
|
|
||||||
|
*lib_gnu:
|
||||||
|
%{mnewlib: --start-group -lgnu -lc --end-group } %{!mnewlib: %{shared:-lc} %{!shared: %{pthread:-lpthread } %{profile:-lc_p} %{!profile:-lc}}}
|
||||||
|
|
||||||
|
*lib_linux:
|
||||||
|
%{mnewlib: --start-group -llinux -lc --end-group } %{!mnewlib: %{shared:-lc} %{!shared: %{pthread:-lpthread } %{profile:-lc_p} %{!profile:-lc}}}
|
||||||
|
|
||||||
|
*lib_netbsd:
|
||||||
|
%{profile:-lgmon -lc_p} %{!profile:-lc}
|
||||||
|
|
||||||
|
*lib_vxworks:
|
||||||
|
|
||||||
|
|
||||||
|
*lib_windiss:
|
||||||
|
--start-group -li -lcfp -lwindiss -lram -limpl -limpfp --end-group
|
||||||
|
|
||||||
|
*lib_default:
|
||||||
|
%(lib_linux)
|
||||||
|
|
||||||
|
*startfile_ads:
|
||||||
|
ecrti.o%s crt0.o%s crtbegin.o%s
|
||||||
|
|
||||||
|
*startfile_yellowknife:
|
||||||
|
ecrti.o%s crt0.o%s crtbegin.o%s
|
||||||
|
|
||||||
|
*startfile_mvme:
|
||||||
|
ecrti.o%s crt0.o%s crtbegin.o%s
|
||||||
|
|
||||||
|
*startfile_sim:
|
||||||
|
ecrti.o%s sim-crt0.o%s crtbegin.o%s
|
||||||
|
|
||||||
|
*startfile_freebsd:
|
||||||
|
%{!shared: %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:%{profile:gcrt1.o%s} %{!profile:crt1.o%s}}}} crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}
|
||||||
|
|
||||||
|
*startfile_gnu:
|
||||||
|
%{!shared: %{!static: %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:crt1.o%s}}}} %{static: %{pg:gcrt0.o%s} %{!pg:%{p:gcrt0.o%s} %{!p:crt0.o%s}}} %{mnewlib: ecrti.o%s} %{!mnewlib: crti.o%s} %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}
|
||||||
|
|
||||||
|
*startfile_linux:
|
||||||
|
%{!shared: %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:crt1.o%s}}} %{mnewlib: ecrti.o%s} %{!mnewlib: crti.o%s} %{static:crtbeginT.o%s} %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}
|
||||||
|
|
||||||
|
*startfile_netbsd:
|
||||||
|
ncrti.o%s crt0.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}
|
||||||
|
|
||||||
|
*startfile_vxworks:
|
||||||
|
|
||||||
|
|
||||||
|
*startfile_windiss:
|
||||||
|
crt0.o%s crtbegin.o%s
|
||||||
|
|
||||||
|
*startfile_default:
|
||||||
|
%(startfile_linux)
|
||||||
|
|
||||||
|
*endfile_ads:
|
||||||
|
crtend.o%s ecrtn.o%s
|
||||||
|
|
||||||
|
*endfile_yellowknife:
|
||||||
|
crtend.o%s ecrtn.o%s
|
||||||
|
|
||||||
|
*endfile_mvme:
|
||||||
|
crtend.o%s ecrtn.o%s
|
||||||
|
|
||||||
|
*endfile_sim:
|
||||||
|
crtend.o%s ecrtn.o%s
|
||||||
|
|
||||||
|
*endfile_freebsd:
|
||||||
|
%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s
|
||||||
|
|
||||||
|
*endfile_gnu:
|
||||||
|
%{!shared:crtend.o%s} %{shared:crtendS.o%s} %{mnewlib: ecrtn.o%s} %{!mnewlib: crtn.o%s}
|
||||||
|
|
||||||
|
*endfile_linux:
|
||||||
|
%{!shared:crtend.o%s} %{shared:crtendS.o%s} %{mnewlib: ecrtn.o%s} %{!mnewlib: crtn.o%s}
|
||||||
|
|
||||||
|
*endfile_netbsd:
|
||||||
|
%{!shared:crtend.o%s} %{shared:crtendS.o%s} ncrtn.o%s
|
||||||
|
|
||||||
|
*endfile_vxworks:
|
||||||
|
|
||||||
|
|
||||||
|
*endfile_windiss:
|
||||||
|
crtend.o%s
|
||||||
|
|
||||||
|
*endfile_default:
|
||||||
|
%(endfile_linux)
|
||||||
|
|
||||||
|
*link_path:
|
||||||
|
|
||||||
|
|
||||||
|
*link_shlib:
|
||||||
|
%{shared:-shared} %{!shared: %{static:-static}}
|
||||||
|
|
||||||
|
*link_target:
|
||||||
|
%{mlittle: --oformat elf32-powerpcle } %{mlittle-endian: --oformat elf32-powerpcle } %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: %{mcall-i960-old: --oformat elf32-powerpcle} }}}}
|
||||||
|
|
||||||
|
*link_start:
|
||||||
|
%{mads: %(link_start_ads) } %{myellowknife: %(link_start_yellowknife) } %{mmvme: %(link_start_mvme) } %{msim: %(link_start_sim) } %{mwindiss: %(link_start_windiss) } %{mcall-freebsd: %(link_start_freebsd) } %{mcall-linux: %(link_start_linux) } %{mcall-gnu: %(link_start_gnu) } %{mcall-netbsd: %(link_start_netbsd) } %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: %{!mcall-linux: %{!mcall-gnu: %{!mcall-netbsd: %{!mcall-freebsd: %(link_start_default) }}}}}}}}}
|
||||||
|
|
||||||
|
*link_start_ads:
|
||||||
|
-T ads.ld%s
|
||||||
|
|
||||||
|
*link_start_yellowknife:
|
||||||
|
-T yellowknife.ld%s
|
||||||
|
|
||||||
|
*link_start_mvme:
|
||||||
|
-Ttext 0x40000
|
||||||
|
|
||||||
|
*link_start_sim:
|
||||||
|
|
||||||
|
|
||||||
|
*link_start_freebsd:
|
||||||
|
|
||||||
|
|
||||||
|
*link_start_gnu:
|
||||||
|
|
||||||
|
|
||||||
|
*link_start_linux:
|
||||||
|
|
||||||
|
|
||||||
|
*link_start_netbsd:
|
||||||
|
|
||||||
|
|
||||||
|
*link_start_vxworks:
|
||||||
|
|
||||||
|
|
||||||
|
*link_start_windiss:
|
||||||
|
|
||||||
|
|
||||||
|
*link_start_default:
|
||||||
|
%(link_start_linux)
|
||||||
|
|
||||||
|
*link_os:
|
||||||
|
%{mads: %(link_os_ads) } %{myellowknife: %(link_os_yellowknife) } %{mmvme: %(link_os_mvme) } %{msim: %(link_os_sim) } %{mwindiss: %(link_os_windiss) } %{mcall-freebsd: %(link_os_freebsd) } %{mcall-linux: %(link_os_linux) } %{mcall-gnu: %(link_os_gnu) } %{mcall-netbsd: %(link_os_netbsd) } %{mcall-uclibc: %(link_os_linux_uclibc) } %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: %{!mcall-netbsd: %{!mcall-uclibc: %(link_os_default) }}}}}}}}}}
|
||||||
|
|
||||||
|
*link_os_ads:
|
||||||
|
|
||||||
|
|
||||||
|
*link_os_yellowknife:
|
||||||
|
|
||||||
|
|
||||||
|
*link_os_mvme:
|
||||||
|
|
||||||
|
|
||||||
|
*link_os_sim:
|
||||||
|
-m elf32ppcsim
|
||||||
|
|
||||||
|
*link_os_freebsd:
|
||||||
|
%{p:%e`-p' not supported; use `-pg' and gprof(1)} %{Wl,*:%*} %{v:-V} %{assert*} %{R*} %{rpath*} %{defsym*} %{shared:-Bshareable %{h*} %{soname*}} %{!shared: %{!static: %{rdynamic: -export-dynamic} %{!dynamic-linker: -dynamic-linker /usr/libexec/ld-elf.so.1}} %{static:-Bstatic}} %{symbolic:-Bsymbolic}
|
||||||
|
|
||||||
|
*link_os_linux:
|
||||||
|
-m elf32ppclinux %{!shared: %{!static: %{rdynamic:-export-dynamic} %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}
|
||||||
|
|
||||||
|
*link_os_gnu:
|
||||||
|
-m elf32ppclinux %{!shared: %{!static: %{rdynamic:-export-dynamic} %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}
|
||||||
|
|
||||||
|
*link_os_netbsd:
|
||||||
|
%{!shared: %{!static: %{rdynamic:-export-dynamic} %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}}}
|
||||||
|
|
||||||
|
*link_os_vxworks:
|
||||||
|
-r
|
||||||
|
|
||||||
|
*link_os_windiss:
|
||||||
|
|
||||||
|
|
||||||
|
*link_os_linux_uclibc:
|
||||||
|
-m elf32ppclinux %{!shared: %{!static: %{rdynamic:-export-dynamic} %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}}
|
||||||
|
|
||||||
|
*link_os_default:
|
||||||
|
%(link_os_linux_uclibc)
|
||||||
|
|
||||||
|
*cc1_endian_big:
|
||||||
|
|
||||||
|
|
||||||
|
*cc1_endian_little:
|
||||||
|
%{!mstrict-align: %{!mno-strict-align: %{!mcall-i960-old: -mstrict-align } }}
|
||||||
|
|
||||||
|
*cc1_endian_default:
|
||||||
|
%(cc1_endian_big)
|
||||||
|
|
||||||
|
*cpp_os_ads:
|
||||||
|
|
||||||
|
|
||||||
|
*cpp_os_yellowknife:
|
||||||
|
|
||||||
|
|
||||||
|
*cpp_os_mvme:
|
||||||
|
|
||||||
|
|
||||||
|
*cpp_os_sim:
|
||||||
|
|
||||||
|
|
||||||
|
*cpp_os_freebsd:
|
||||||
|
-D__ELF__ -D__PPC__ -D__ppc__ -D__PowerPC__ -D__powerpc__ -Acpu=powerpc -Amachine=powerpc
|
||||||
|
|
||||||
|
*cpp_os_gnu:
|
||||||
|
-D__unix__ -D__gnu_hurd__ -D__GNU__ %{!undef: %{!ansi: -Dunix -D__unix}} -Asystem=gnu -Asystem=unix -Asystem=posix %{pthread:-D_REENTRANT}
|
||||||
|
|
||||||
|
*cpp_os_linux:
|
||||||
|
-D__unix__ -D__gnu_linux__ -D__linux__ %{!undef: %{!ansi: %{!std=*:-Dunix -D__unix -Dlinux -D__linux} %{std=gnu*:-Dunix -D__unix -Dlinux -D__linux}}} -Asystem=unix -Asystem=posix %{pthread:-D_REENTRANT}
|
||||||
|
|
||||||
|
*cpp_os_netbsd:
|
||||||
|
-D__powerpc__ -D__NetBSD__ -D__ELF__ -D__KPRINTF_ATTRIBUTE__
|
||||||
|
|
||||||
|
*cpp_os_rtems:
|
||||||
|
%{!mcpu*: %{!Dppc*: %{!Dmpc*: -Dmpc750} } }%{mcpu=403: %{!Dppc*: %{!Dmpc*: -Dppc403} } } %{mcpu=505: %{!Dppc*: %{!Dmpc*: -Dmpc505} } } %{mcpu=601: %{!Dppc*: %{!Dmpc*: -Dppc601} } } %{mcpu=602: %{!Dppc*: %{!Dmpc*: -Dppc602} } } %{mcpu=603: %{!Dppc*: %{!Dmpc*: -Dppc603} } } %{mcpu=603e: %{!Dppc*: %{!Dmpc*: -Dppc603e} } } %{mcpu=604: %{!Dppc*: %{!Dmpc*: -Dmpc604} } } %{mcpu=750: %{!Dppc*: %{!Dmpc*: -Dmpc750} } } %{mcpu=821: %{!Dppc*: %{!Dmpc*: -Dmpc821} } } %{mcpu=860: %{!Dppc*: %{!Dmpc*: -Dmpc860} } }
|
||||||
|
|
||||||
|
*cpp_os_vxworks:
|
||||||
|
-DCPU_FAMILY=PPC %{!mcpu*: %{mpowerpc*: -DCPU=PPC603} %{!mno-powerpc: -DCPU=PPC603}} %{mcpu=powerpc: -DCPU=PPC603} %{mcpu=401: -DCPU=PPC403} %{mcpu=403: -DCPU=PPC403} %{mcpu=405: -DCPU=PPC405} %{mcpu=601: -DCPU=PPC601} %{mcpu=602: -DCPU=PPC603} %{mcpu=603: -DCPU=PPC603} %{mcpu=603e: -DCPU=PPC603} %{mcpu=ec603e: -DCPU=PPC603} %{mcpu=604: -DCPU=PPC604} %{mcpu=604e: -DCPU=PPC604} %{mcpu=620: -DCPU=PPC604} %{mcpu=740: -DCPU=PPC603} %{mcpu=7450: -DCPU=PPC603} %{mcpu=750: -DCPU=PPC603} %{mcpu=801: -DCPU=PPC603} %{mcpu=821: -DCPU=PPC603} %{mcpu=823: -DCPU=PPC603} %{mcpu=860: -DCPU=PPC603}
|
||||||
|
|
||||||
|
*cpp_os_windiss:
|
||||||
|
-D__rtasim -D__EABI__ -D__ppc %{!msoft-float: -D__hardfp}
|
||||||
|
|
||||||
|
*cpp_os_default:
|
||||||
|
%(cpp_os_linux)
|
||||||
|
|
||||||
|
*link_command:
|
||||||
|
%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S: %(linker) %l %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r} %{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}} %{static:} %{L*} %(link_libgcc) %o %{!nostdlib:%{!nodefaultlibs:%(link_gcc_c_sequence)}} %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}}}}}
|
||||||
|
|
Loading…
Reference in a new issue