summaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-07-28 10:14:40 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2014-07-28 10:25:06 +0200
commitc43854da4d87c25f54cce20ad188a6877dc15f71 (patch)
tree2fce408ef916b6c205e3f74a5ce2c1b0fc969beb /toolchain
parent86e450dac4a6d50ebda79f80081525462d1bb68b (diff)
add some basic infrastructure for qemu-system-m68k
Qemu emulates a Coldfire Evaluation board without MMU. As that is the first non-MMU platform in OpenADK I added ADK_TARGET_UCLINUX. Mksh can not be used for non-MMU, because it requires fork() for job control and other things. We use hush here. non-MMU support in uClibc does not have shared library support. Kernel does not start yet. So no runtime testing, but at least coldfire toolchain can be tested with uClibc-ng. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/gcc/Makefile11
-rw-r--r--toolchain/gcc/patches/4.8.3/disable-atomics.m68k12
2 files changed, 21 insertions, 2 deletions
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index abc938ffb..7dcf79e0a 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -55,7 +55,7 @@ else
GCC_FINAL_CONFOPTS+= --enable-shared='libstdc++,libgcc'
endif
-ifeq ($(ADK_LINUX_SH)$(ADK_LINUX_X86_64)$(ADK_LINUX_X86),)
+ifeq ($(ADK_LINUX_M68K)$(ADK_LINUX_SH)$(ADK_LINUX_X86_64)$(ADK_LINUX_X86),)
GCC_FINAL_CONFOPTS+= --disable-biarch --disable-multilib
endif
@@ -136,6 +136,10 @@ ifeq ($(ADK_CPU_SPARC_V9),y)
GCC_CONFOPTS+= --with-cpu=ultrasparc
endif
+ifeq ($(ADK_CPU_CF_5208),y)
+GCC_CONFOPTS+= --enable-multilib --with-arch=cf --with-cpu=5208
+endif
+
ifneq ($(ADK_TARGET_MIPS_ABI),)
GCC_CONFOPTS+= --with-abi=${ADK_TARGET_MIPS_ABI}
endif
@@ -144,7 +148,11 @@ ifeq (${ADK_MAKE_PARALLEL},y)
GCC_MAKEOPTS+= -j${ADK_MAKE_JOBS}
endif
+ifeq ($(ADK_TARGET_UCLINUX),y)
+LANGUAGES:=c
+else
LANGUAGES:=c,c++
+endif
include ${ADK_TOPDIR}/mk/buildhlp.mk
@@ -177,7 +185,6 @@ endif
$(WRKBUILD)/configure \
${GCC_CONFOPTS} \
--enable-languages=c \
- --disable-multilib \
--disable-libssp \
--disable-shared \
--without-headers
diff --git a/toolchain/gcc/patches/4.8.3/disable-atomics.m68k b/toolchain/gcc/patches/4.8.3/disable-atomics.m68k
new file mode 100644
index 000000000..4ab553218
--- /dev/null
+++ b/toolchain/gcc/patches/4.8.3/disable-atomics.m68k
@@ -0,0 +1,12 @@
+diff -Nur gcc-4.8.3.orig/libgcc/config.host gcc-4.8.3/libgcc/config.host
+--- gcc-4.8.3.orig/libgcc/config.host 2014-03-20 17:12:30.000000000 +0100
++++ gcc-4.8.3/libgcc/config.host 2014-07-26 13:15:06.359463368 +0200
+@@ -689,7 +689,7 @@
+ m68k*-*-openbsd*)
+ ;;
+ m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc
+- tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux"
++ tmake_file="$tmake_file m68k/t-floatlib"
+ md_unwind_header=m68k/linux-unwind.h
+ ;;
+ m68k-*-linux*) # Motorola m68k's running GNU/Linux