This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
etc:users:jcmvbkbc:gcc-xtensa-call0 [2018/10/24 09:20] jcmvbkbc add uclinux test specifics |
etc:users:jcmvbkbc:gcc-xtensa-call0 [2018/11/05 22:31] jcmvbkbc uclinux target/sysroot location update |
||
---|---|---|---|
Line 6: | Line 6: | ||
* configure and build gcc with sysroot of that toolchain: <code> | * configure and build gcc with sysroot of that toolchain: <code> | ||
export TOOLCHAIN=/home/jcmvbkbc/tmp/br/build-toolchain | export TOOLCHAIN=/home/jcmvbkbc/tmp/br/build-toolchain | ||
+ | export TARGET=xtensa-buildroot-linux-uclibc # use for linux | ||
+ | # export TARGET=xtensa-buildroot-uclinux-uclibc # use for uclinux | ||
PATH=$TOOLCHAIN/host/usr/bin:$PATH ../gcc/configure \ | PATH=$TOOLCHAIN/host/usr/bin:$PATH ../gcc/configure \ | ||
- | --prefix=`pwd`/root --target=xtensa-buildroot-linux-uclibc \ | + | --prefix=`pwd`/root --target=$TARGET \ |
--disable-shared --disable-libssp --disable-libisl --enable-languages=c,c++ \ | --disable-shared --disable-libssp --disable-libisl --enable-languages=c,c++ \ | ||
--enable-tls --enable-threads --enable-__cxa_atexit \ | --enable-tls --enable-threads --enable-__cxa_atexit \ | ||
- | --with-sysroot=$TOOLCHAIN/host/usr/xtensa-buildroot-linux-uclibc/sysroot | + | --with-sysroot=$TOOLCHAIN/host/usr/$TARGET/sysroot |
PATH=$TOOLCHAIN/host/usr/bin:$PATH make -j8 all | PATH=$TOOLCHAIN/host/usr/bin:$PATH make -j8 all | ||
</code> | </code> | ||
* run it on your board (board configuration is a file in a directory specified in the ~/.dejagnurc e.g. ~/boards): <code> | * run it on your board (board configuration is a file in a directory specified in the ~/.dejagnurc e.g. ~/boards): <code> | ||
DEJAGNU_TIMEOUT=1200 PATH=$TOOLCHAIN/host/usr/bin:$PATH \ | DEJAGNU_TIMEOUT=1200 PATH=$TOOLCHAIN/host/usr/bin:$PATH \ | ||
- | RUNTESTFLAGS="CFLAGS_FOR_TARGET=--sysroot=$TOOLCHAIN/host/usr/xtensa-buildroot-linux-uclibc/sysroot --target_board=qemu-xtensa" \ | + | RUNTESTFLAGS="CFLAGS_FOR_TARGET=--sysroot=$TOOLCHAIN/host/usr/$TARGET/sysroot --target_board=qemu-xtensa" \ |
make -k check | make -k check | ||
</code> Timeouts are weird. See gcc/testsuite/lib/timeout.exp for some timeouts, the rest are TBD. | </code> Timeouts are weird. See gcc/testsuite/lib/timeout.exp for some timeouts, the rest are TBD. | ||
Line 21: | Line 23: | ||
PATH=$TOOLCHAIN/host/usr/bin:$PATH \ | PATH=$TOOLCHAIN/host/usr/bin:$PATH \ | ||
QEMU_LD_PREFIX=$ROOTFS \ | QEMU_LD_PREFIX=$ROOTFS \ | ||
- | RUNTESTFLAGS="CFLAGS_FOR_TARGET=--sysroot=$TOOLCHAIN/host/usr/xtensa-buildroot-linux-uclibc/sysroot\ -mauto-litpools" \ | + | RUNTESTFLAGS="CFLAGS_FOR_TARGET=--sysroot=$TOOLCHAIN/host/usr/$TARGET/sysroot\ -mauto-litpools" \ |
make -k check | make -k check | ||
</code> File system in $ROOTFS should have sysroot libraries installed, but nothing else. | </code> File system in $ROOTFS should have sysroot libraries installed, but nothing else. | ||
- | * to run uclinux tests provide environment variable FLTFLAGS='-s 0x01000000'. -Wl,-elf2flt='-s 0x01000000' passed in CFLAGS_FOR_TARGET breaks precompiled header tests. | + | * to run uclinux tests use TARGET=xtensa-buildroot-uclinux-uclibc and provide environment variable FLTFLAGS='-s 0x01000000'. -Wl,-elf2flt='-s 0x01000000' passed in CFLAGS_FOR_TARGET breaks precompiled header tests. |
==== Compiler build for debug ==== | ==== Compiler build for debug ==== | ||
<code>../gcc/configure \ | <code>../gcc/configure \ | ||
- | --prefix=`pwd`/root --target=xtensa-buildroot-linux-uclibc \ | + | --prefix=`pwd`/root --target=$TARGET \ |
--disable-shared --disable-libssp --disable-libisl --enable-languages=c,c++ \ | --disable-shared --disable-libssp --disable-libisl --enable-languages=c,c++ \ | ||
--enable-debug --enable-valgrind-annotations --disable-docs \ | --enable-debug --enable-valgrind-annotations --disable-docs \ |