On 13 March 2014 07:42, Felipe Rocha da Rosa wrote:
>
>> On 12 March 2014 09:57, Renato Golin wrote:
>> > On 11 March 2014 23:47, Felipe Rocha da Rosa
>> > wrote:
>> >> I'm trying to build the native compiler to a arm a9 using this
>> >> tutorial,
>> >> https://wiki.linaro.org/WorkingGroups/ToolChain/Using/GCCNative.
>> >> However, I need to compile in a x86_64 platform ubuntu,
>> >> like this --target=arm-unknown-eabi --build=i686-pc-linux-gnu
>> >> --host=arm-unknown-eabi, but without success.
>> >
>> > It's odd that you have to set --host as ARM, since your host is x86_64.
>> >
>> > Also, GCC might be different, but arm-unknown-eabi is a bare metal
>> > toolchain, not a linux one, maybe that's another source of problems.
>> > Try arm-linux-gnueabi for soft-float and arm-linux-gnueabihf for
>> > hard-float.
>> >
>>
>> IIUC, what you are trying to do is called "Canadian Cross" build,
>> which involves to use a cross-compiler:
>> - you'll use an x86_64 compiler to build a cross-compiler, running on
>> x86_64 and producing code for ARM.
>> - then you'll use this cross-compiler to cross-build the native-ARM
>> compiler.
>>
>> I believe there is some documentation in GCC about Canadian Cross
>> builds, and I think cbuild2 supports such builds too.
>>
>> Christophe.
>
> Let's me explain, I want to compile that will be hosted and working in a
> ARM A9 Linux producing ARM binary (cross-native), but I need to create this
> compiler in my machine ubuntu x86_x64. Canadian cross, I think is when the
> three are different archs
But the process is similar.
Please try my hack based on Linaro crosstool-ng Canadian windows build.
(1) wget
http://cbuild.validation.linaro.org/snapshots/crosstool-ng-linaro-1.13.1-4.8-2014.02.tar.bz2
(2) tar -xf crosstool-ng-linaro-1.13.1-4.8-2014.02.tar.bz2
(3) cd crosstool-ng-linaro-1.13.1-4.8-2014.02
(4) patch -p1 < hack.patch (attached. It changes HOST from
i586-mingw32msvc to arm-linux-gnueabi)
(5) make -f contrib/linaro/build.mk TARGETS=arm-linux-gnueabi
Please ignore the fails at the end to package windows staffs. And you
will get a toolchain at
./builds/arm-linux-gnueabi-win32/install
To build your gcc,
(1) Replace the gcc-linaro-4.8-2014.02 at
./builds/arm-linux-gnueabi-win32/.build/src
(2) Remove builds/stamp/arm-linux-gnueabi-win32-build
(3) make -f contrib/linaro/build.mk TARGETS=arm-linux-gnueabi
Good luck!
-Zhenqiang
> I 'm compiling now this ../configure --target=arm-none-linux-gnueabi
> --build=x86_64-linux-gnu --host=arm-none-linux-gnueabi,
>
> Thank you.
>
>
>
>
> ___
> linaro-toolchain mailing list
> linaro-toolchain@lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/linaro-toolchain
>
diff -aru crosstool-ng-linaro-1.13.1-4.8-2014.02/contrib/linaro/build.mk modified/contrib/linaro/build.mk
--- crosstool-ng-linaro-1.13.1-4.8-2014.02/contrib/linaro/build.mk 2014-02-20 18:16:14.0 +0800
+++ modified/contrib/linaro/build.mk 2014-03-13 09:12:39.261004793 +0800
@@ -321,7 +321,6 @@
-exec $(FINAL)/bin/*-objcopy $(SECTIONS) {} \;
# Override in local.mk to skip using the LSB compilers
-USE_LSBCC ?= CT_BUILD_USE_LSBCC=y
# Settings to add just for Linux
LINUX_ADD = \
@@ -330,7 +329,7 @@
# Settings to add just for win32
WIN32_ADD = \
CT_CANADIAN=y \
- CT_HOST=\"i586-mingw32msvc\" \
+ CT_HOST=\"arm-linux-gnueabi\" \
CT_BINUTILS_GOLD_THREADS=n
WIN32_REMOVE = \
diff -aru crosstool-ng-linaro-1.13.1-4.8-2014.02/samples/linaro-arm-linux-gnueabi/crosstool.config modified/samples/linaro-arm-linux-gnueabi/crosstool.config
--- crosstool-ng-linaro-1.13.1-4.8-2014.02/samples/linaro-arm-linux-gnueabi/crosstool.config 2014-02-20 18:16:14.0 +0800
+++ modified/samples/linaro-arm-linux-gnueabi/crosstool.config 2014-03-13 09:17:10.333505006 +0800
@@ -1,11 +1,10 @@
#
# Automatically generated make config: don't edit
-# crosstool-NG linaro-1.13.1+bzr2559 Configuration
-# Fri Apr 26 16:32:16 2013
+# crosstool-NG linaro-1.13.1-4.8-2014.02 Configuration
+# Thu Mar 13 09:16:54 2014
#
CT_CONFIGURE_has_xzutils=y
CT_CONFIGURE_has_cvs=y
-CT_CONFIGURE_has_svn=y
CT_MODULES=y
#
@@ -115,7 +114,7 @@
CT_ARCH_LE=y
CT_ARCH_32=y
CT_ARCH_BITNESS=32
-CT_ARCH_FLOAT_HW=y
+# CT_ARCH_FLOAT_HW is not set
# CT_ARCH_FLOAT_SW is not set
CT_TARGET_CFLAGS="-g -O2"
CT_TARGET_LDFLAGS=""
@@ -173,9 +172,7 @@
#
CT_FORCE_SYSROOT=y
CT_USE_SYSROOT=y
-CT_PREBUILT_SYSROOT=y
-CT_PREBUILT_NAME="linaro-prebuilt-sysroot-2013.10"
-CT_PREBUILT_BASE_URL="http://launchpad.net/linaro-toolchain-binaries/support/01/+download";
+# CT_PREBUILT_SYSROOT is not set
CT_SYSROOT_NAME="libc"
CT_SYSROOT_DIR_PREFIX=""
# CT_STATIC_TOOLCHAIN is not set
@@ -210,20 +207,19 @@
# Misc options
#
CT_TOOLCHAIN_ENABLE_NLS=y
-CT_TOOLCHAIN_ENABLE_MULTILIB=y
+# CT_TOOLCHAIN_ENABLE_MULTILIB is not set
#
# Operating System
#
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
CT_KERNEL="linux"
+CT_KERNEL_VERSION="3.1.1"
# CT_KERNEL_bare_metal is not set
CT_KERNE