From c43854da4d87c25f54cce20ad188a6877dc15f71 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 28 Jul 2014 10:14:40 +0200 Subject: 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 --- toolchain/gcc/Makefile | 11 +++++++++-- toolchain/gcc/patches/4.8.3/disable-atomics.m68k | 12 ++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 toolchain/gcc/patches/4.8.3/disable-atomics.m68k (limited to 'toolchain/gcc') 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 -- cgit v1.2.3