Differences

This shows you the differences between two versions of the page.

Link to this comparison view

cross_compile [2014/07/10 00:30] (current)
Jan Stancek created
Line 1: Line 1:
 +<​code>​
 +===== binutils
  
 +# cd build-binutils
 +# cat a.sh
 +BUILD=`gcc -v 2>&1 | grep Target: | sed 's/.*: //'`
 +PREFIX=/​opt/​toolchain-le
 +TARGET=ppc64le-redhat-linux-gnu
 +
 +../​binutils-2.24.51/​configure --target=$TARGET --prefix="​$PREFIX"​ --disable-nls --disable-werror --with-sysroot="​$PREFIX"​
 +
 +sh a.sh
 +make
 +make install
 +
 +===== gcc core
 +
 +# cd build-gcc
 +# cat a.sh
 +BUILD=`gcc -v 2>&1 | grep Target: | sed 's/.*: //'`
 +PREFIX=/​opt/​toolchain-le
 +TARGET=ppc64le-redhat-linux-gnu
 +
 +#​../​gcc-4.8.2-20140409/​configure --target=$TARGET --prefix="​$PREFIX"​ --disable-nls \
 +#  --enable-languages=c,​c++ --without-headers --with-sysroot="​$PREFIX"​ --disable-multilib --with-gnu-as --with-gnu-ld
 +
 +../​gcc-4.8.2-20140409/​configure --target=$TARGET --prefix="​$PREFIX"​ --disable-nls \
 +  --enable-languages=c --without-headers --with-sysroot="​$PREFIX"​ --with-gnu-as --with-gnu-ld --disable-multilib
 +
 +echo '​lt_cv_shlibpath_overrides_runpath=no'​ > config.cache
 +echo '​gcc_cv_libc_provides_ssp=yes'​ >> config.cache
 +
 +sh a.sh
 +
 +make $J all-host gcc_cv_libc_provides_ssp=yes
 +make $J install-host gcc_cv_libc_provides_ssp=yes
 +
 +
 +===== kernel headers
 +# cat a.sh
 +BUILD=`gcc -v 2>&1 | grep Target: | sed 's/.*: //'`
 +PREFIX=/​opt/​toolchain-le
 +ROOTFS="​$PREFIX"​
 +TARGET=ppc64le-redhat-linux-gnu
 +KERNELARGS="​ARCH=powerpc CROSS_COMPILE=${TARGET}-"​
 +C=gcc
 +make CC=$C $KERNELARGS INSTALL_HDR_PATH=$ROOTFS/​usr headers_install
 +
 +sh a.sh
 +
 +===== glibc headers
 +[root@ibm-p750e-01-lp3 build-glibc]#​ cat a.sh
 +BUILD=`gcc -v 2>&1 | grep Target: | sed 's/.*: //'`
 +PREFIX=/​opt/​toolchain-le
 +TARGET=ppc64le-redhat-linux-gnu
 +
 +export ARCH=powerpc
 +export PATH=$PATH:​${PREFIX}/​bin
 +export GCC_PATH=${PREFIX}/​bin
 +export CROSS_COMPILE=${TARGET}-
 +
 +BUILD_CC=gcc CC=${GCC_PATH}/​${CROSS_COMPILE}gcc ../​glibc-2.19/​configure --build $BUILD \
 +  --host $TARGET --target $TARGET --prefix=${PREFIX}/​${TARGET} --disable-multilib \
 +  --disable-profile --without-cvs --with-elf --without-gd --disable-sanity-checks \
 +  --with-tls --with-__thread --enable-obsolete-rpc --enable-bind-now \
 +  --without-selinux --disable-selinux --with-glibc=../​glibc-2.19
 +
 +make $J ARCH=powerpc cross-compiling=yes install-headers install_root=/​opt/​toolchain-le
 +make $J ARCH=powerpc cross-compiling=yes install-headers install_root=/​
 +
 +mkdir -p /​opt/​toolchain-le/​usr/​include/​gnu
 +touch /​opt/​toolchain-le/​usr/​include/​gnu/​stubs.h
 +mkdir -p /​opt/​toolchain-le/​usr/​include/​bits
 +touch /​opt/​toolchain-le/​usr/​include/​bits/​stdio_lim.h
 +
 +===== gcc-libgcc half-broken
 +
 +make -k all-target-libgcc
 +make -i install-target-libgcc
 +
 +===== glibc
 +make
 +make install
 +
 +===== gcc 2pass
 +rm -rf /​opt/​toolchain-le/​opt
 +cd /​opt/​toolchain-le
 +ln -s /opt opt
 +
 +make all-target-libgcc
 +make install-target-libgcc
 +
 +make
 +make install
 +
 +</​code>​
Back to top
cross_compile.txt · Last modified: 2014/07/10 00:30 by Jan Stancek
Sitemap Search: