summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mk/kernel-vars.mk2
-rw-r--r--mk/vars.mk9
-rw-r--r--package/simpleinit/Makefile4
-rw-r--r--package/simpleinit/files/inittab2
-rwxr-xr-xpackage/simpleinit/files/rc54
-rw-r--r--package/uclibc/Makefile2
-rw-r--r--target/config/Config.in1
-rw-r--r--target/config/Config.in.target2
-rw-r--r--target/m68k/uclibc.config18
-rw-r--r--toolchain/elf2flt/Makefile2
-rw-r--r--toolchain/gcc/Makefile8
-rw-r--r--toolchain/gcc/m68k-uclinux-gcc.specs147
-rw-r--r--toolchain/gcc/patches/4.8.3/disable-tm.m68k14
-rw-r--r--toolchain/uclibc/patches/0.9.33.2/0007-disable-test-for-non-MMU-systems.patch30
-rw-r--r--toolchain/uclibc/patches/0.9.33.2/0008-disable-test-for-systems-without-FPU.patch30
15 files changed, 266 insertions, 59 deletions
diff --git a/mk/kernel-vars.mk b/mk/kernel-vars.mk
index e9771855e..17a8d23a2 100644
--- a/mk/kernel-vars.mk
+++ b/mk/kernel-vars.mk
@@ -17,4 +17,4 @@ else
KERNEL_MAKE_OPTS+= HOSTCFLAGS='${HOST_CFLAGS}'
endif
-KERNEL_MAKE_ENV:= PATH="${STAGING_HOST_DIR}/usr/bin:$$PATH"
+KERNEL_MAKE_ENV:= PATH="${TOOLCHAIN_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/bin:$$PATH"
diff --git a/mk/vars.mk b/mk/vars.mk
index 443d42139..c6971ee83 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -74,8 +74,13 @@ ifneq ($(strip ${ADK_USE_CCACHE}),)
TARGET_COMPILER_PREFIX=$(STAGING_HOST_DIR)/usr/bin/ccache ${TARGET_CROSS}
endif
+# use a gcc wrapper for uClinux
+ifeq ($(ADK_TARGET_UCLINUX),y)
+TARGET_CC:= adk-uclinux-gcc
+else
# target tools
TARGET_CC:= ${TARGET_COMPILER_PREFIX}gcc
+endif
TARGET_CXX:= ${TARGET_COMPILER_PREFIX}g++
TARGET_LD:= ${TARGET_COMPILER_PREFIX}ld
TARGET_AR:= ${TARGET_COMPILER_PREFIX}ar
@@ -94,8 +99,8 @@ TARGET_LDFLAGS:= -L$(STAGING_TARGET_DIR)/lib -L$(STAGING_TARGET_DIR)/usr/lib \
-Wl,-rpath-link -Wl,${STAGING_TARGET_DIR}/usr/lib
ifeq ($(ADK_TARGET_BINFMT_FLAT),y)
-TARGET_CFLAGS+= -Wl,-elf2flt -msep-data
-TARGET_CXXFLAGS+= -Wl,-elf2flt -msep-data
+TARGET_CFLAGS+= -msep-data
+TARGET_CXXFLAGS+= -msep-data
TARGET_LDFLAGS+= -elf2flt
endif
diff --git a/package/simpleinit/Makefile b/package/simpleinit/Makefile
index aeeedfc08..43ea68660 100644
--- a/package/simpleinit/Makefile
+++ b/package/simpleinit/Makefile
@@ -20,10 +20,14 @@ BUILD_STYLE:= manual
INSTALL_STYLE:= manual
do-build:
+ PATH="${TOOLCHAIN_DIR}/usr/bin:$$PATH" \
${TARGET_CC} ${TARGET_CPPFLAGS} ${TARGET_CFLAGS} ${TARGET_LDFLAGS} \
-o ${WRKBUILD}/simpleinit ${WRKBUILD}/simpleinit.c
do-install:
+ ${INSTALL_DIR} ${IDIR_SIMPLEINIT}/etc
+ ${CP} ./files/rc ${IDIR_SIMPLEINIT}/etc
+ ${CP} ./files/inittab ${IDIR_SIMPLEINIT}/etc
${INSTALL_DIR} ${IDIR_SIMPLEINIT}/sbin
${INSTALL_BIN} ${WRKBUILD}/simpleinit ${IDIR_SIMPLEINIT}/sbin/init
diff --git a/package/simpleinit/files/inittab b/package/simpleinit/files/inittab
new file mode 100644
index 000000000..1c4744d6a
--- /dev/null
+++ b/package/simpleinit/files/inittab
@@ -0,0 +1,2 @@
+# example
+#inet:unknown:/bin/inetd
diff --git a/package/simpleinit/files/rc b/package/simpleinit/files/rc
index 33d60a4b6..ec8ace337 100755
--- a/package/simpleinit/files/rc
+++ b/package/simpleinit/files/rc
@@ -1,47 +1,15 @@
#!/bin/sh
-set -x
-export PATH=/bin:/sbin:/usr/bin:/usr/sbin
-ln -s /proc/self/fd/2 /dev/stderr
-: ${rcquiet=0}
-if [ $rcquiet -ne 1 ];then
- echo "System initialization ..."
-fi
-
-# remount /dev with smaller size
-mount -o remount,nosuid,size=128k,mode=0755 -t tmpfs mdev /dev
-
-# start mdev dynamic device node management
-echo >/dev/mdev.seq
-if [ -f /proc/sys/kernel/hotplug ];then
- echo "/sbin/mdev" >/proc/sys/kernel/hotplug
-fi
-# creates f.e. /dev/root
-mdev -s
-
-# seed some random
-cat /etc/.rnd >/dev/urandom 2>&1
-
-# setup cfgfs
-[ -x /sbin/cfgfs ] && {
- cfgfs setup
- mount -o remount,ro /
-}
-
-# remount /tmp with smaller size
-size=$(cat /etc/tmpfs 2>/dev/null)
-[ -z $size ] && size=2048
-mount -o remount,nosuid,nodev,mode=1777,size=${size}k -t tmpfs tmpfs /tmp
-
-# create some useful directories in tmpfs
+echo Starting OpenADK
+hostname openadk
+mount -t proc proc /proc
+mount -t sysfs sys /sys
+mkdir -m 755 /dev/pts
+mount -t devpts devpts /dev/pts
+mount -t tmpfs -o size=8M tmpfs /tmp
+chmod 1777 /tmp
mkdir -p /var/log
mkdir -p /var/run
mkdir -p /var/tmp
-touch /var/log/lastlog
-touch /var/log/wtmp
-
-HOSTNAME=
-[[ -s /etc/hostname ]] && HOSTNAME=$(cat /etc/hostname)
-HOSTNAME=${HOSTNAME%%.*}
-echo ${HOSTNAME:=openadk} >/proc/sys/kernel/hostname
-
-chown 0:0 /tmp; chmod 1777 /tmp
+mdev -s
+mount
+ifconfig lo 127.0.0.1 up
diff --git a/package/uclibc/Makefile b/package/uclibc/Makefile
index 9b2fa1da1..c148a19d8 100644
--- a/package/uclibc/Makefile
+++ b/package/uclibc/Makefile
@@ -34,7 +34,7 @@ do-install:
test -z $(ADK_RUNTIME_TIMEZONE) || \
grep $(ADK_RUNTIME_TIMEZONE) ./files/tz.lst | \
cut -f 2 > $(IDIR_UCLIBC)/etc/TZ
-ifneq ($(ADK_TARGET_USE_STATIC_LIBS),y)
+ifneq ($(ADK_TARGET_USE_STATIC_LIBS)$(ADK_TARGET_UCLINUX),y)
$(CP) $(STAGING_TARGET_DIR)/lib/libc.so.* $(IDIR_UCLIBC)/$(ADK_TARGET_LIBC_PATH)
$(CP) $(STAGING_TARGET_DIR)/lib/libuClibc-$(PKG_VERSION).so \
$(IDIR_UCLIBC)/$(ADK_TARGET_LIBC_PATH)
diff --git a/target/config/Config.in b/target/config/Config.in
index 3982b9cc9..7393bfe9c 100644
--- a/target/config/Config.in
+++ b/target/config/Config.in
@@ -15,7 +15,6 @@ config ADK_TARGET_TOOLCHAIN
boolean
config ADK_TARGET_UCLINUX
- select ADK_TARGET_USE_STATIC_LIBS
select ADK_PACKAGE_SASH
select ADK_PACKAGE_SIMPLEINIT
boolean
diff --git a/target/config/Config.in.target b/target/config/Config.in.target
index 6cb858450..ad1e8dfe0 100644
--- a/target/config/Config.in.target
+++ b/target/config/Config.in.target
@@ -3,7 +3,7 @@
config ADK_TARGET_CFLAGS
string
- default "-march=isaaplus -mcpu=5208" if ADK_CPU_CF_5208
+ default "-mcpu=5208" if ADK_CPU_CF_5208
default "-mcpu=v7.10.d" if ADK_CPU_MICROBLAZE
default "-m4 -ml" if ADK_CPU_SH4 && ADK_little
default "-m4 -mb" if ADK_CPU_SH4 && ADK_big
diff --git a/target/m68k/uclibc.config b/target/m68k/uclibc.config
index 2612dfe40..49c804c17 100644
--- a/target/m68k/uclibc.config
+++ b/target/m68k/uclibc.config
@@ -53,7 +53,7 @@ UCLIBC_HAS_FLOATS=y
UCLIBC_HAS_SOFT_FLOAT=y
DO_C99_MATH=y
# DO_XSI_MATH is not set
-UCLIBC_HAS_FENV=y
+# UCLIBC_HAS_FENV is not set
UCLIBC_HAS_LONG_DOUBLE_MATH=y
KERNEL_HEADERS=""
UCLIBC_UCLINUX_BROKEN_MUNMAP=y
@@ -62,7 +62,7 @@ HAVE_DOT_CONFIG=y
#
# General Library Settings
#
-DOPIC=y
+# DOPIC is not set
ARCH_HAS_NO_SHARED=y
ARCH_HAS_NO_LDSO=y
UCLIBC_CTOR_DTOR=y
@@ -72,12 +72,12 @@ HAS_NO_THREADS=y
# UCLIBC_HAS_THREADS_NATIVE is not set
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
-MALLOC=y
-# MALLOC_SIMPLE is not set
+# MALLOC is not set
+MALLOC_SIMPLE=y
# MALLOC_STANDARD is not set
-MALLOC_GLIBC_COMPAT=y
+# MALLOC_GLIBC_COMPAT is not set
UCLIBC_DYNAMIC_ATEXIT=y
-# COMPAT_ATEXIT is not set
+COMPAT_ATEXIT=y
UCLIBC_SUSV3_LEGACY=y
# UCLIBC_SUSV3_LEGACY_MACROS is not set
UCLIBC_SUSV4_LEGACY=y
@@ -194,8 +194,8 @@ UCLIBC_HAS_NFTW=y
UCLIBC_HAS_FTW=y
UCLIBC_HAS_FTS=y
UCLIBC_HAS_GLOB=y
-UCLIBC_HAS_GNU_GLOB=y
-UCLIBC_HAS_UTMPX=y
+# UCLIBC_HAS_GNU_GLOB is not set
+# UCLIBC_HAS_UTMPX is not set
#
# Library Installation Options
@@ -208,7 +208,7 @@ HARDWIRED_ABSPATH=y
#
# Security options
#
-UCLIBC_HAS_ARC4RANDOM=y
+# UCLIBC_HAS_ARC4RANDOM is not set
# UCLIBC_HAS_SSP is not set
UCLIBC_BUILD_NOEXECSTACK=y
diff --git a/toolchain/elf2flt/Makefile b/toolchain/elf2flt/Makefile
index 72cb6f755..a42398a3e 100644
--- a/toolchain/elf2flt/Makefile
+++ b/toolchain/elf2flt/Makefile
@@ -11,7 +11,7 @@ BINUTILS_VERSION:= 2.24
$(WRKBUILD)/.headers:
$(WRKBUILD)/.configured:
(cd $(WRKBUILD); ./configure --prefix=$(STAGING_HOST_DIR)/usr \
- --target=$(ADK_TARGET_ARCH) \
+ --target=$(GNU_TARGET_NAME) \
--with-bfd-include-dir=$(TOOLCHAIN_BUILD_DIR)/w-binutils-${BINUTILS_VERSION}-1/binutils-${BINUTILS_VERSION}/bfd \
--with-binutils-include-dir=$(TOOLCHAIN_BUILD_DIR)/w-binutils-${BINUTILS_VERSION}-1/binutils-${BINUTILS_VERSION}/include \
--with-libbfd=$(TOOLCHAIN_BUILD_DIR)/w-binutils-${BINUTILS_VERSION}-1/binutils-${BINUTILS_VERSION}/bfd/libbfd.a \
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index 25c396e1b..efe5231c1 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -48,12 +48,16 @@ ifneq ($(ADK_LINUX_AARCH64)$(ADK_LINUX_ALPHA)$(ADK_LINUX_XTENSA)$(ADK_LINUX_M68K
GCC_FINAL_CONFOPTS+= --enable-cxx-flags='$(TARGET_CXXFLAGS)'
endif
+ifeq ($(ADK_TARGET_UCLINUX),y)
+GCC_FINAL_CONFOPTS+= --disable-shared
+else
# uClibc/glibc uses libgcc_s.so.1 for pthread_cancel with dlopen
ifeq (ADK_TARGET_LIB_MUSL),y)
GCC_FINAL_CONFOPTS+= --enable-shared='libstdc++'
else
GCC_FINAL_CONFOPTS+= --enable-shared='libstdc++,libgcc'
endif
+endif
ifeq ($(ADK_LINUX_M68K)$(ADK_LINUX_SH)$(ADK_LINUX_X86_64)$(ADK_LINUX_X86),)
GCC_FINAL_CONFOPTS+= --disable-biarch --disable-multilib
@@ -267,6 +271,10 @@ endif
ln -sf libstdc++.so.6.0.19 libstdc++.so.6
# cleanup unneeded docs
rm -rf $(TOOLCHAIN_DIR)/usr/share
+ # create gcc wrapper for uClinux/m68k
+ echo "#!/bin/sh" > $(TOOLCHAIN_DIR)/usr/bin/adk-uclinux-gcc
+ echo "exec ${GNU_TARGET_NAME}-gcc \"$$@\" -specs $(ADK_TOPDIR)/toolchain/gcc/m68k-uclinux-gcc.specs" >> $(TOOLCHAIN_DIR)/usr/bin/adk-uclinux-gcc
+ chmod a+x $(TOOLCHAIN_DIR)/usr/bin/adk-uclinux-gcc
touch $@
include ${ADK_TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/gcc/m68k-uclinux-gcc.specs b/toolchain/gcc/m68k-uclinux-gcc.specs
new file mode 100644
index 000000000..3b74701b9
--- /dev/null
+++ b/toolchain/gcc/m68k-uclinux-gcc.specs
@@ -0,0 +1,147 @@
+*asm:
+%(asm_cpu_spec) %(asm_pcrel_spec)
+
+*asm_debug:
+%{!g0:%{gstabs*:--gstabs}%{!gstabs*:%{g*:--gdwarf2}}} %{fdebug-prefix-map=*:--debug-prefix-map %*}
+
+*asm_final:
+%{gsplit-dwarf:
+ objcopy --extract-dwo %{c:%{o*:%*}%{!o*:%b%O}}%{!c:%U%O} %{c:%{o*:%:replace-extension(%{o*:%*} .dwo)}%{!o*:%b.dwo}}%{!c:%b.dwo}
+ objcopy --strip-dwo %{c:%{o*:%*}%{!o*:%b%O}}%{!c:%U%O} }
+
+*asm_options:
+%{-target-help:%:print-asm-header()} %{v} %{w:-W} %{I*} %a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}
+
+*invoke_as:
+%{!fwpa: %{fcompare-debug=*|fdump-final-insns=*:%:compare-debug-dump-opt()} %{!S:-o %|.s |
+ as %(asm_options) %m.s %A } }
+
+*cpp:
+%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}
+
+*cpp_options:
+%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w} %{f*} %{g*:%{!g0:%{g*} %{!fno-working-directory:-fworking-directory}}} %{O*} %{undef} %{save-temps*:-fpch-preprocess}
+
+*cpp_debug_options:
+%{d*}
+
+*cpp_unique_options:
+%{!Q:-quiet} %{nostdinc*} %{C} %{CC} %{v} %{I*&F*} %{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:%{!MT:%{!MQ:%{MD|MMD:%{o*:-MQ %*}}}}}}} %{remap} %{g3|ggdb3|gstabs3|gcoff3|gxcoff3|gvms3:-dD} %{!iplugindir*:%{fplugin*:%:find-plugindir()}} %{H} %C %{D*&U*&A*} %{i*} %Z %i %{fmudflap:-D_MUDFLAP -include mf-runtime.h} %{fmudflapth:-D_MUDFLAP -D_MUDFLAPTH -include mf-runtime.h} %{E|M|MM:%W{o*}}
+
+*trad_capable_cpp:
+cc1 -E %{traditional|traditional-cpp:-traditional-cpp}
+
+*cc1:
+%{profile:-p}
+
+*cc1_options:
+%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}} %{!iplugindir*:%{fplugin*:%:find-plugindir()}} %1 %{!Q:-quiet} %{!dumpbase:-dumpbase %B} %{d*} %{m*} %{aux-info*} %{fcompare-debug-second:%:compare-debug-auxbase-opt(%b)} %{!fcompare-debug-second:%{c|S:%{o*:-auxbase-strip %*}%{!o*:-auxbase %b}}}%{!c:%{!S:-auxbase %b}} %{g*} %{O*} %{W*&pedantic*} %{w} %{std*&ansi&trigraphs} %{v:-version} %{pg:-p} %{p} %{f*} %{undef} %{Qn:-fno-ident} %{Qy:} %{-help:--help} %{-target-help:--target-help} %{-version:--version} %{-help=*:--help=%*} %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}} %{fsyntax-only:-o %j} %{-param*} %{fmudflap|fmudflapth:-fno-builtin -fno-merge-constants} %{coverage:-fprofile-arcs -ftest-coverage}
+
+*cc1plus:
+
+
+*link_gcc_c_sequence:
+%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}
+
+*link_ssp:
+%{fstack-protector:}
+
+*endfile:
+crtn.o%s
+
+*link:
+%{!static:--eh-frame-hdr} %{!elf2flt*:-elf2flt} %{mid-shared-library: %{mshared-library-id=*:-shared-lib-id %*;:-shared-lib-id 0}}
+
+*lib:
+%{mid-shared-library:%{!static-libc:-R libc.gdb%s}} %{pthread:-lpthread} -lc
+
+*mfwrap:
+ %{static: %{fmudflap|fmudflapth: --wrap=malloc --wrap=free --wrap=calloc --wrap=realloc --wrap=mmap --wrap=mmap64 --wrap=munmap --wrap=alloca} %{fmudflapth: --wrap=pthread_create}} %{fmudflap|fmudflapth: --wrap=main}
+
+*mflib:
+%{fmudflap|fmudflapth: -export-dynamic}
+
+*link_gomp:
+
+
+*libgcc:
+-lgcc
+
+*startfile:
+%{mshared-library-id=0|!mshared-library-id=*: crt1.o%s ;: Scrt1.o%s} crti.o%s
+
+*cross_compile:
+1
+
+*version:
+4.8.3
+
+*multilib:
+. !mcpu=51qe !mcpu=5206 !mcpu=5206e !mcpu=5307 !mcpu=5329 !mcpu=5407 !mcpu=54455 !msep-data !mid-shared-library;m51qe mcpu=51qe !mcpu=5206 !mcpu=5206e !mcpu=5307 !mcpu=5329 !mcpu=5407 !mcpu=54455 !msep-data !mid-shared-library;m5206 !mcpu=51qe mcpu=5206 !mcpu=5206e !mcpu=5307 !mcpu=5329 !mcpu=5407 !mcpu=54455 !msep-data !mid-shared-library;m5206e !mcpu=51qe !mcpu=5206 mcpu=5206e !mcpu=5307 !mcpu=5329 !mcpu=5407 !mcpu=54455 !msep-data !mid-shared-library;m5307 !mcpu=51qe !mcpu=5206 !mcpu=5206e mcpu=5307 !mcpu=5329 !mcpu=5407 !mcpu=54455 !msep-data !mid-shared-library;m5329 !mcpu=51qe !mcpu=5206 !mcpu=5206e !mcpu=5307 mcpu=5329 !mcpu=5407 !mcpu=54455 !msep-data !mid-shared-library;m5407 !mcpu=51qe !mcpu=5206 !mcpu=5206e !mcpu=5307 !mcpu=5329 mcpu=5407 !mcpu=54455 !msep-data !mid-shared-library;m54455 !mcpu=51qe !mcpu=5206 !mcpu=5206e !mcpu=5307 !mcpu=5329 !mcpu=5407 mcpu=54455 !msep-data !mid-shared-library;msep-data !mcpu=51qe !mcpu=5206 !mcpu=5206e !mcpu=5307 !mcpu=5329 !mcpu=5407 !mcpu=54455 msep-data !mid-shared-library;mid-shared-library !mcpu=51qe !mcpu=5206 !mcpu=5206e !mcpu=5307 !mcpu=5329 !mcpu=5407 !mcpu=54455 !msep-data mid-shared-library;m51qe/msep-data mcpu=51qe !mcpu=5206 !mcpu=5206e !mcpu=5307 !mcpu=5329 !mcpu=5407 !mcpu=54455 msep-data !mid-shared-library;m51qe/mid-shared-library mcpu=51qe !mcpu=5206 !mcpu=5206e !mcpu=5307 !mcpu=5329 !mcpu=5407 !mcpu=54455 !msep-data mid-shared-library;m5206/msep-data !mcpu=51qe mcpu=5206 !mcpu=5206e !mcpu=5307 !mcpu=5329 !mcpu=5407 !mcpu=54455 msep-data !mid-shared-library;m5206/mid-shared-library !mcpu=51qe mcpu=5206 !mcpu=5206e !mcpu=5307 !mcpu=5329 !mcpu=5407 !mcpu=54455 !msep-data mid-shared-library;m5206e/msep-data !mcpu=51qe !mcpu=5206 mcpu=5206e !mcpu=5307 !mcpu=5329 !mcpu=5407 !mcpu=54455 msep-data !mid-shared-library;m5206e/mid-shared-library !mcpu=51qe !mcpu=5206 mcpu=5206e !mcpu=5307 !mcpu=5329 !mcpu=5407 !mcpu=54455 !msep-data mid-shared-library;m5307/msep-data !mcpu=51qe !mcpu=5206 !mcpu=5206e mcpu=5307 !mcpu=5329 !mcpu=5407 !mcpu=54455 msep-data !mid-shared-library;m5307/mid-shared-library !mcpu=51qe !mcpu=5206 !mcpu=5206e mcpu=5307 !mcpu=5329 !mcpu=5407 !mcpu=54455 !msep-data mid-shared-library;m5329/msep-data !mcpu=51qe !mcpu=5206 !mcpu=5206e !mcpu=5307 mcpu=5329 !mcpu=5407 !mcpu=54455 msep-data !mid-shared-library;m5329/mid-shared-library !mcpu=51qe !mcpu=5206 !mcpu=5206e !mcpu=5307 mcpu=5329 !mcpu=5407 !mcpu=54455 !msep-data mid-shared-library;m5407/msep-data !mcpu=51qe !mcpu=5206 !mcpu=5206e !mcpu=5307 !mcpu=5329 mcpu=5407 !mcpu=54455 msep-data !mid-shared-library;m5407/mid-shared-library !mcpu=51qe !mcpu=5206 !mcpu=5206e !mcpu=5307 !mcpu=5329 mcpu=5407 !mcpu=54455 !msep-data mid-shared-library;m54455/msep-data !mcpu=51qe !mcpu=5206 !mcpu=5206e !mcpu=5307 !mcpu=5329 !mcpu=5407 mcpu=54455 msep-data !mid-shared-library;m54455/mid-shared-library !mcpu=51qe !mcpu=5206 !mcpu=5206e !mcpu=5307 !mcpu=5329 !mcpu=5407 mcpu=54455 !msep-data mid-shared-library;
+
+*multilib_defaults:
+
+
+*multilib_extra:
+Wa,-mno-mac
+
+*multilib_matches:
+march=isaa mcpu=5206e;march=isaaplus mcpu=5208;march=isab mcpu=5407;mcpu=51 mcpu=51qe;mcpu=51ac mcpu=51qe;mcpu=51ag mcpu=51qe;mcpu=51cn mcpu=51qe;mcpu=51em mcpu=51qe;mcpu=51je mcpu=51qe;mcpu=51jf mcpu=51qe;mcpu=51jg mcpu=51qe;mcpu=51jm mcpu=51qe;mcpu=51mm mcpu=51qe;mcpu=51qm mcpu=51qe;mcpu=5202 mcpu=5206;mcpu=5204 mcpu=5206;mcpu=5207 mcpu=5208;mcpu=5210a mcpu=5208;mcpu=5211a mcpu=5208;mcpu=5211 mcpu=5208;mcpu=5212 mcpu=5208;mcpu=5213 mcpu=5208;mcpu=5214 mcpu=5208;mcpu=5216 mcpu=5208;mcpu=5221x mcpu=5208;mcpu=52221 mcpu=5208;mcpu=52223 mcpu=5208;mcpu=52230 mcpu=5208;mcpu=52231 mcpu=5208;mcpu=52232 mcpu=5208;mcpu=52233 mcpu=5208;mcpu=52234 mcpu=5208;mcpu=52235 mcpu=5208;mcpu=5224 mcpu=5208;mcpu=5225 mcpu=5208;mcpu=52252 mcpu=5208;mcpu=52254 mcpu=5208;mcpu=52255 mcpu=5208;mcpu=52256 mcpu=5208;mcpu=52258 mcpu=5208;mcpu=52259 mcpu=5208;mcpu=52274 mcpu=5208;mcpu=52277 mcpu=5208;mcpu=5232 mcpu=5208;mcpu=5233 mcpu=5208;mcpu=5234 mcpu=5208;mcpu=5235 mcpu=5208;mcpu=523x mcpu=5208;mcpu=5249 mcpu=5206e;mcpu=5250 mcpu=5206e;mcpu=5253 mcpu=5206e;mcpu=5270 mcpu=5208;mcpu=5271 mcpu=5208;mcpu=5272 mcpu=5206e;mcpu=5274 mcpu=5208;mcpu=5275 mcpu=5208;mcpu=5280 mcpu=5208;mcpu=5281 mcpu=5208;mcpu=5282 mcpu=5208;mcpu=528x mcpu=5208;mcpu=53011 mcpu=5329;mcpu=53012 mcpu=5329;mcpu=53013 mcpu=5329;mcpu=53014 mcpu=5329;mcpu=53015 mcpu=5329;mcpu=53016 mcpu=5329;mcpu=53017 mcpu=5329;mcpu=5327 mcpu=5329;mcpu=5328 mcpu=5329;mcpu=532x mcpu=5329;mcpu=5372 mcpu=5329;mcpu=5373 mcpu=5329;mcpu=537x mcpu=5329;mcpu=54410 mcpu=54455;mcpu=54415 mcpu=54455;mcpu=54416 mcpu=54455;mcpu=54417 mcpu=54455;mcpu=54418 mcpu=54455;mcpu=54450 mcpu=54455;mcpu=54451 mcpu=54455;mcpu=54452 mcpu=54455;mcpu=54453 mcpu=54455;mcpu=54454 mcpu=54455;mcpu=51qe mcpu=51qe;mcpu=5206 mcpu=5206;mcpu=5206e mcpu=5206e;mcpu=5307 mcpu=5307;mcpu=5329 mcpu=5329;mcpu=5407 mcpu=5407;mcpu=54455 mcpu=54455;msep-data msep-data;mid-shared-library mid-shared-library;
+
+*multilib_exclusions:
+
+
+*multilib_options:
+mcpu=51qe/mcpu=5206/mcpu=5206e/mcpu=5307/mcpu=5329/mcpu=5407/mcpu=54455 msep-data/mid-shared-library
+
+*multilib_reuse:
+
+
+*linker:
+collect2
+
+*linker_plugin_file:
+
+
+*lto_wrapper:
+
+
+*lto_gcc:
+
+
+*link_libgcc:
+%D
+
+*md_exec_prefix:
+
+
+*md_startfile_prefix:
+
+
+*md_startfile_prefix_1:
+
+
+*startfile_prefix_spec:
+
+
+*sysroot_spec:
+--sysroot=%R
+
+*sysroot_suffix_spec:
+
+
+*sysroot_hdrs_suffix_spec:
+
+
+*self_spec:
+
+
+*asm_cpu_spec:
+%{m68851}%{mno-68851} %{m68881}%{mno-68881} %{msoft-float:-mno-float} %{m68020-40:-m68040}%{m68020-60:-m68040}%{mcpu=*:-mcpu=%*}%{march=*:-march=%*}
+
+*asm_pcrel_spec:
+%{fPIC|fpic|mpcrel:--pcrel} %{msep-data|mid-shared-library:--pcrel}
+
+*link_command:
+%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S: %(linker) %{fuse-linker-plugin: %e-fuse-linker-plugin is not supported in this configuration}%{flto|flto=*:%<fcompare-debug*} %{flto} %{flto=*} %l %{pie:-pie} %{fuse-ld=*:-fuse-ld=%*} %X %{o*} %{e*} %{N} %{n} %{r} %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}} %{static:} %{L*} %(mfwrap) %(link_libgcc) %{!nostdlib:%{!nodefaultlibs:%{fsanitize=address:%{!shared:libasan_preinit%O%s} %{static-libasan:%{!shared:-Bstatic --whole-archive -lasan --no-whole-archive -Bdynamic}}%{!static-libasan:-lasan}} %{fsanitize=thread:%{static-libtsan:%{!shared:-Bstatic --whole-archive -ltsan --no-whole-archive -Bdynamic}}%{!static-libtsan:-ltsan}}}} %o %{fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)} %{fgnu-tm:%:include(libitm.spec)%(link_itm)} %(mflib) %{fsplit-stack: --wrap=pthread_create} %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} %{!nostdlib:%{!nodefaultlibs:%{fsanitize=address: %{static-libasan:-ldl -lpthread} %{static:%ecannot specify -static with -fsanitize=address} %{fsanitize=thread:%e-fsanitize=address is incompatible with -fsanitize=thread}} %{fsanitize=thread: %{static-libtsan:-ldl -lpthread} %{!pie:%{!shared:%e-fsanitize=thread linking must be done with -pie or -shared}}}}} %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}} %{!nostdlib:%{!nostartfiles:%E}} %{T*} }}}}}}
+
diff --git a/toolchain/gcc/patches/4.8.3/disable-tm.m68k b/toolchain/gcc/patches/4.8.3/disable-tm.m68k
new file mode 100644
index 000000000..02b5cb854
--- /dev/null
+++ b/toolchain/gcc/patches/4.8.3/disable-tm.m68k
@@ -0,0 +1,14 @@
+diff -Nur gcc-4.8.3.orig/gcc/config/m68k/uclinux.h gcc-4.8.3/gcc/config/m68k/uclinux.h
+--- gcc-4.8.3.orig/gcc/config/m68k/uclinux.h 2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.3/gcc/config/m68k/uclinux.h 2014-08-25 17:03:59.543127685 +0200
+@@ -20,6 +20,10 @@
+ along with GCC; see the file COPYING3. If not see
+ <http://www.gnu.org/licenses/>. */
+
++/* Do not use TM clone registry. It breaks -msep-data (-fPIC) code. */
++/* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54584 */
++#define USE_TM_CLONE_REGISTRY 0
++
+ #undef STARTFILE_SPEC
+ #define STARTFILE_SPEC \
+ "%{mshared-library-id=0|!mshared-library-id=*: crt1.o%s ;: Scrt1.o%s} \
diff --git a/toolchain/uclibc/patches/0.9.33.2/0007-disable-test-for-non-MMU-systems.patch b/toolchain/uclibc/patches/0.9.33.2/0007-disable-test-for-non-MMU-systems.patch
new file mode 100644
index 000000000..b21cffbd3
--- /dev/null
+++ b/toolchain/uclibc/patches/0.9.33.2/0007-disable-test-for-non-MMU-systems.patch
@@ -0,0 +1,30 @@
+From 325f778f3bbb1b13c436e7754dd22097d31c04d2 Mon Sep 17 00:00:00 2001
+From: Waldemar Brodkorb <wbx@uclibc-ng.org>
+Date: Thu, 21 Aug 2014 22:02:26 +0200
+Subject: [PATCH 7/9] disable test for non-MMU systems
+
+This test fails for non-MMU systems, because it uses fork()
+
+Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
+---
+ test/Makefile | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/test/Makefile b/test/Makefile
+index 787c530..d51bb62 100644
+--- a/test/Makefile
++++ b/test/Makefile
+@@ -42,6 +42,10 @@ endif
+ ifeq ($(HAS_NO_THREADS),y)
+ DIRS := $(filter-out pthread,$(DIRS))
+ endif
++# librt test needs fork()
++ifneq ($(ARCH_USE_MMU),y)
++ DIRS := $(filter-out librt,$(DIRS))
++endif
+
+ test check all: run
+
+--
+1.8.5.2 (Apple Git-48)
+
diff --git a/toolchain/uclibc/patches/0.9.33.2/0008-disable-test-for-systems-without-FPU.patch b/toolchain/uclibc/patches/0.9.33.2/0008-disable-test-for-systems-without-FPU.patch
new file mode 100644
index 000000000..bf29909ef
--- /dev/null
+++ b/toolchain/uclibc/patches/0.9.33.2/0008-disable-test-for-systems-without-FPU.patch
@@ -0,0 +1,30 @@
+From 012dfda4b27ad92edb6a9ea14e5ce4c5567d1c91 Mon Sep 17 00:00:00 2001
+From: Waldemar Brodkorb <wbx@uclibc-ng.org>
+Date: Thu, 21 Aug 2014 22:04:59 +0200
+Subject: [PATCH 8/9] disable test for systems without FPU
+
+This test fails for systems without fpu.
+For example m68k build for non-mmu/non-fpu systems fail.
+
+Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
+---
+ test/math/Makefile.in | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/test/math/Makefile.in b/test/math/Makefile.in
+index d241baa..147d579 100644
+--- a/test/math/Makefile.in
++++ b/test/math/Makefile.in
+@@ -13,6 +13,9 @@ endif
+ ifeq ($(DO_C99_MATH),)
+ TESTS_DISABLED += test-float test-ifloat test-double test-idouble rint signgam ilogb
+ endif
++ifeq ($(UCLIBC_HAS_FPU),)
++TESTS_DISABLED += test-fpucw
++endif
+
+ DODIFF_rint := 1
+ DODIFF_signgam := 1
+--
+1.8.5.2 (Apple Git-48)
+