Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:users:jcmvbkbc:gcc-xtensa-call0

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
etc:users:jcmvbkbc:gcc-xtensa-call0 [2018/10/24 09:20]
jcmvbkbc add uclinux test specifics
etc:users:jcmvbkbc:gcc-xtensa-call0 [2019/09/13 22:19]
jcmvbkbc mention call0 ABI support in qemu-xtensa
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. 
 +  * to run call0 tests provide environment variable QEMU_XTENSA_ABI_CALL0=''​ in qemu-4.2+
 ==== 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 \
etc/users/jcmvbkbc/gcc-xtensa-call0.txt · Last modified: 2019/09/13 22:19 by jcmvbkbc