diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2014-07-28 10:14:40 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2014-07-28 10:25:06 +0200 |
commit | c43854da4d87c25f54cce20ad188a6877dc15f71 (patch) | |
tree | 2fce408ef916b6c205e3f74a5ce2c1b0fc969beb /toolchain | |
parent | 86e450dac4a6d50ebda79f80081525462d1bb68b (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/Makefile | 11 | ||||
-rw-r--r-- | toolchain/gcc/patches/4.8.3/disable-atomics.m68k | 12 |
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 |