This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Building a cross-compiler for a Raspberry Pi
- From: YuGiOhJCJ Mailing-List <yugiohjcj-mailinglist at laposte dot net>
- To: gcc-help at gcc dot gnu dot org
- Date: Sun, 13 Mar 2016 13:51:07 +0100
- Subject: Re: Building a cross-compiler for a Raspberry Pi
- Authentication-results: sourceware.org; auth=none
- References: <20160313060143 dot 4e5a89b4c428e989bc0351c9 at laposte dot net> <56E547C3 dot 7010009 at redhat dot com>
> On 13/03/16 05:01, YuGiOhJCJ Mailing-List wrote:
> > 1) How we determine the correct machine name?
>
> It looks correct.
>
OK it is correct but how to know it is correct?
I mean, I have chance to find people who have written articles where I can see the good machine name.
But alone, it is hard to guess.
I read [1] and it gives me the idea to use the config.guess script:
$ scp /usr/share/automake-1.11/config.guess root@raspberrypi:~/
root@raspberrypi's password:
config.guess 100% 44KB 43.8KB/s 00:00
$ ssh root@raspberrypi
root@raspberrypi's password:
Last login: Fri Jan 2 07:32:11 1970 from 192.168.0.6
Linux 4.1.19+.
$ ./config.guess
armv6l-unknown-linux-gnueabihf
So, I think I could use this machine name too.
I don't like this solution with the config.guess script because it supposes to have an access to the target system in order to run the script on it.
Is there something (like a documentation) in the gcc source code that helps to guess the best machine name for an ARMv6 CPU on Linux?
> > 2) How to build my cross-compiler without glibc?
>
> Copy the root filesystem from a Raspberry Pi onto your machine, then
> configure gcc with --sysroot=<dirname>, the RPi root filesystem. GCC
> will then pull all target headers and libraries from the sysroot.
>
I prefer a solution that does not require to have an access to the target machine.
Also, I would like a solution that does not depend on binaries if that's possible.
Why the method for a Raspberry Pi cross-compiler is so different from an i686-w64-mingw32 or avr cross-compiler please?
[1] https://www.gnu.org/software/autoconf/manual/autoconf-2.65/html_node/Specifying-Target-Triplets.html