kernel cross-toolchain (Gentoo)

From: Alexey Dobriyan (adobriyan_at_gmail.com)
Date: 09/30/05

  • Next message: Anton Altaparmakov: "Re: truncate(2) sometimes updates ctime and sometimes ctime and mtime!"
    Date:	Fri, 30 Sep 2005 20:09:11 +0400
    To: Al Viro <viro@ftp.linux.org.uk>
    
    

    On Fri, Sep 30, 2005 at 01:56:45PM +0100, Al Viro wrote:
    > Easy cross-toolchain for kernel
    >
    > Requirements:
    > * should be built from the same source as native toolchain with
    > minimal patches
    > * should produce normal packages
    > * should be buildable with minimal PITA in reasonable time
    > * package metadata can (and obviously will) differ, but delta should
    > be minimal and easy to maintain
    >
    > Recipe for FC4 follows; feel free to contribute equivalents for other
    > platforms.

    Gentoo:

    1) Watch for it to install gcc 3.4.*. Chances of successful build are much
       higher than with 3.3. Use --g switch of crossdev (_especially_ with
       s390).
    2) -s1 means "binutils + C compiler and nothing more".
    3) re ia64
            I was told that "ia64 is known to not cross compile at all due
            to the unwind code". #101626.
    4) re m68k
            binutils only. Haven't investigated.
    5) re mips64
            Ditto.
    6) re mips
            Builds OK. Naive allyesconfig with CROSS_COMPILE=mips-... barfs
            at me violently mentioning some compiler switches.

    The following is the list of cross-compilers I successfully use on -git
    snapshots. Again, watch for the script to install 3.4.4[-r1].
    Always use "crossdev -p ..." first.

    # emerge crossdev
    # echo 'PORTDIR_OVERLAY="/usr/local/portage"' >>/etc/make.conf
    # crossdev -v -s1 -t alpha-unknown-linux-gnu
    # crossdev -v -s1 -t arm-unknown-linux-gnu
    # crossdev -v -s1 -t hppa-unknown-linux-gnu
    # crossdev -v -s1 -t s390-unknown-linux-gnu
    # crossdev -v -s1 -t powerpc-unknown-linux-gnu
    # crossdev -v -s1 -t powerpc64-unknown-linux-gnu
    # crossdev -v -s1 -t sparc-unknown-linux-gnu
    # crossdev -v -s1 -t sparc64-unknown-linux-gnu
    # crossdev -v -s1 -t sh-unknown-linux-gnu
    # crossdev -v -s1 -t sh64-unknown-linux-gnu
    # crossdev -v -s1 -t x86_64-unknown-linux-gnu

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: Anton Altaparmakov: "Re: truncate(2) sometimes updates ctime and sometimes ctime and mtime!"