From b3dcb7f981ea54b4572aee33fa41ffce238e14ac Mon Sep 17 00:00:00 2001 From: Wolfgang Thaller Date: Sat, 29 Aug 2015 19:51:21 +0200 Subject: [PATCH] Time to stop lying: binutils/gcc now configured as m68k-apple-macos instead of m68k-unknown-elf --- binutils/bfd/config.bfd | 2 +- binutils/gas/configure.tgt | 4 +++- binutils/ld/configure.tgt | 1 + build-toolchain.sh | 14 +++++++------- cmake/intree.toolchain.cmake.in | 6 +++--- cmake/retro68.toolchain.cmake.in | 10 +++++----- gcc/gcc/config.gcc | 8 ++++++++ gcc/libgcc/config.host | 4 ++++ 8 files changed, 32 insertions(+), 17 deletions(-) diff --git a/binutils/bfd/config.bfd b/binutils/bfd/config.bfd index 7bcb92afee..c3b9664e7a 100644 --- a/binutils/bfd/config.bfd +++ b/binutils/bfd/config.bfd @@ -847,7 +847,7 @@ case "${targ}" in targ_selvecs="core_cisco_be_vec ieee_vec" targ_underscore=yes ;; - m68*-*-elf* | m68*-*-sysv4* | m68*-*-uclinux*) + m68*-*-elf* | m68*-*-sysv4* | m68*-*-uclinux* | m68*-*-macos* ) targ_defvec=m68k_elf32_vec targ_selvecs="m68k_coff_vec ieee_vec" ;; diff --git a/binutils/gas/configure.tgt b/binutils/gas/configure.tgt index 9abc7681bc..e06fa8ce1d 100644 --- a/binutils/gas/configure.tgt +++ b/binutils/gas/configure.tgt @@ -303,7 +303,9 @@ case ${generic_target} in m68hc12-*-* | m6812-*-*) fmt=elf ;; m68k-*-aout) fmt=aout bfd_gas=yes ;; - m68k-*-elf*) fmt=elf ;; + m68k-*-elf*) fmt=elf ;; + m68k-*-elf*) fmt=elf ;; + m68k-*-macos*) fmt=elf ;; m68k-*-sysv4*) fmt=elf em=svr4 ;; m68k-*-rtems*) fmt=elf ;; m68k-*-linux-*) fmt=elf em=linux ;; diff --git a/binutils/ld/configure.tgt b/binutils/ld/configure.tgt index 24e36d10f0..0f3e448c13 100644 --- a/binutils/ld/configure.tgt +++ b/binutils/ld/configure.tgt @@ -401,6 +401,7 @@ m68*-motorola-sysv*) targ_emul=delta68 ;; m68*-*-aout) targ_emul=m68kaout ;; m68*-*-coff) targ_emul=m68kcoff ;; m68*-*-elf) targ_emul=m68kelf ;; +m68*-*-macos) targ_emul=m68kelf ;; m68*-*-hpux*) targ_emul=hp3hpux ;; m68k-*-linux*aout*) targ_emul=m68klinux targ_extra_emuls=m68kelf diff --git a/build-toolchain.sh b/build-toolchain.sh index 6ce327713e..3d7a2a775d 100644 --- a/build-toolchain.sh +++ b/build-toolchain.sh @@ -24,7 +24,7 @@ set -e cd binutils-build export "CFLAGS=-Wno-error" -$SRC/binutils/configure --target=m68k-unknown-elf --prefix=$PREFIX --disable-doc +$SRC/binutils/configure --target=m68k-apple-macos --prefix=$PREFIX --disable-doc make -j8 make install @@ -32,7 +32,7 @@ cd .. mkdir -p gcc-build cd gcc-build -$SRC/gcc/configure --target=m68k-unknown-elf --prefix=$PREFIX --enable-languages=c,c++ --with-arch=m68k --with-cpu=m68000 --disable-libssp MAKEINFO=missing +$SRC/gcc/configure --target=m68k-apple-macos --prefix=$PREFIX --enable-languages=c,c++ --with-arch=m68k --with-cpu=m68000 --disable-libssp MAKEINFO=missing make -j8 make install @@ -44,7 +44,7 @@ cp $SRC/elf.h $PREFIX/include/ export "CFLAGS=-I${SRC}/binutils/include -I../toolchain/include" mkdir -p elf2flt-build cd elf2flt-build -$SRC/elf2flt/configure --target=m68k-unknown-elf --prefix=$PREFIX --with-binutils-build-dir=$BINUTILS +$SRC/elf2flt/configure --target=m68k-apple-macos --prefix=$PREFIX --with-binutils-build-dir=$BINUTILS make -j8 TOOLDIR=$PREFIX/bin make install unset CFLAGS @@ -60,10 +60,10 @@ make make install cd .. -sh "$SRC/prepare-headers.sh" "$SRC/CIncludes" toolchain/m68k-unknown-elf/include +sh "$SRC/prepare-headers.sh" "$SRC/CIncludes" toolchain/m68k-apple-macos/include -mkdir -p toolchain/m68k-unknown-elf/RIncludes -sh "$SRC/prepare-rincludes.sh" "$SRC/RIncludes" toolchain/m68k-unknown-elf/RIncludes +mkdir -p toolchain/m68k-apple-macos/RIncludes +sh "$SRC/prepare-rincludes.sh" "$SRC/RIncludes" toolchain/m68k-apple-macos/RIncludes mkdir -p build-host cd build-host @@ -73,7 +73,7 @@ cd .. make -C build-host install # create an empty libretrocrt.a so that cmake's compiler test doesn't fail -$PREFIX/bin/m68k-unknown-elf-ar cqs $PREFIX/m68k-unknown-elf/lib/libretrocrt.a +$PREFIX/bin/m68k-apple-macos-ar cqs $PREFIX/m68k-apple-macos/lib/libretrocrt.a # the real libretrocrt.a is built and installed by `make -C build-target install` later mkdir -p build-target diff --git a/cmake/intree.toolchain.cmake.in b/cmake/intree.toolchain.cmake.in index 63f18f3a17..fc037f0f4f 100644 --- a/cmake/intree.toolchain.cmake.in +++ b/cmake/intree.toolchain.cmake.in @@ -19,13 +19,13 @@ set( CMAKE_SYSTEM_NAME Retro68 ) set( CMAKE_SYSTEM_VERSION 1) set( RETRO68_ROOT "@RETRO68_ROOT@" CACHE PATH "path to root of Retro68 Toolchain" ) -set( CMAKE_INSTALL_PREFIX "${RETRO68_ROOT}/m68k-unknown-elf/" CACHE PATH "installation prefix" ) +set( CMAKE_INSTALL_PREFIX "${RETRO68_ROOT}/m68k-apple-macos/" CACHE PATH "installation prefix" ) set( MAKE_APPL "@CMAKE_BINARY_DIR@/MakeAPPL/MakeAPPL" ) set( REZ "@CMAKE_BINARY_DIR@/Rez/Rez" ) set( REZ_INCLUDE_PATH "${CMAKE_INSTALL_PREFIX}/RIncludes" ) -set( CMAKE_C_COMPILER "${RETRO68_ROOT}/bin/m68k-unknown-elf-gcc" ) -set( CMAKE_CXX_COMPILER "${RETRO68_ROOT}/bin/m68k-unknown-elf-g++" ) +set( CMAKE_C_COMPILER "${RETRO68_ROOT}/bin/m68k-apple-macos-gcc" ) +set( CMAKE_CXX_COMPILER "${RETRO68_ROOT}/bin/m68k-apple-macos-g++" ) list( APPEND CMAKE_MODULE_PATH "@CMAKE_SOURCE_DIR@/cmake" ) diff --git a/cmake/retro68.toolchain.cmake.in b/cmake/retro68.toolchain.cmake.in index c4a27ad6c1..af9d4594f4 100644 --- a/cmake/retro68.toolchain.cmake.in +++ b/cmake/retro68.toolchain.cmake.in @@ -19,16 +19,16 @@ set( CMAKE_SYSTEM_NAME Retro68 ) set( CMAKE_SYSTEM_VERSION 1) set( RETRO68_ROOT "@RETRO68_ROOT@" CACHE PATH "path to root of Retro68 Toolchain" ) -set( CMAKE_INSTALL_PREFIX "${RETRO68_ROOT}/m68k-unknown-elf/" CACHE PATH "installation prefix" ) +set( CMAKE_INSTALL_PREFIX "${RETRO68_ROOT}/m68k-apple-macos/" CACHE PATH "installation prefix" ) set( MAKE_APPL "${RETRO68_ROOT}/bin/MakeAPPL" ) set( REZ "${RETRO68_ROOT}/bin/Rez" ) -set( REZ_INCLUDE_PATH "${RETRO68_ROOT}/m68k-unknown-elf/RIncludes" ) +set( REZ_INCLUDE_PATH "${RETRO68_ROOT}/m68k-apple-macos/RIncludes" ) -set( CMAKE_C_COMPILER "${RETRO68_ROOT}/bin/m68k-unknown-elf-gcc" ) -set( CMAKE_CXX_COMPILER "${RETRO68_ROOT}/bin/m68k-unknown-elf-g++" ) +set( CMAKE_C_COMPILER "${RETRO68_ROOT}/bin/m68k-apple-macos-gcc" ) +set( CMAKE_CXX_COMPILER "${RETRO68_ROOT}/bin/m68k-apple-macos-g++" ) set( REZ_TEMPLATES_PATH ${REZ_INCLUDE_PATH}) -list( APPEND CMAKE_MODULE_PATH "${RETRO68_ROOT}/m68k-unknown-elf/cmake" ) +list( APPEND CMAKE_MODULE_PATH "${RETRO68_ROOT}/m68k-apple-macos/cmake" ) include(add_application) diff --git a/gcc/gcc/config.gcc b/gcc/gcc/config.gcc index 4a5bb58afa..7b5bebd0be 100644 --- a/gcc/gcc/config.gcc +++ b/gcc/gcc/config.gcc @@ -1870,6 +1870,14 @@ m68k-*-elf* | fido-*-elf*) ;; esac ;; +m68k-*-macos* | fido-*-elf*) + default_m68k_cpu=68020 + default_cf_cpu=5206 + tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h newlib-stdint.h m68k/m68kemb.h m68k/m68020-elf.h" + tm_defines="${tm_defines} MOTOROLA=1" + tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf" + tmake_file="$tmake_file m68k/t-mlibs" + ;; m68k*-*-netbsdelf*) default_m68k_cpu=68020 default_cf_cpu=5475 diff --git a/gcc/libgcc/config.host b/gcc/libgcc/config.host index 308e4ff463..1a7c26588b 100644 --- a/gcc/libgcc/config.host +++ b/gcc/libgcc/config.host @@ -784,6 +784,10 @@ m32rle-*-linux*) m68k-*-elf* | fido-*-elf) tmake_file="$tmake_file m68k/t-floatlib" ;; +m68k-*-macos) + extra_parts="crtbegin.o crtend.o" + tmake_file="$tmake_file m68k/t-floatlib" + ;; m68k*-*-netbsdelf*) ;; m68k*-*-openbsd*)