On Wed, 31 Oct 2018 at 16:43, Christophe Lyon <christophe.l...@linaro.org> wrote: > > On Fri, 26 Oct 2018 at 19:54, Max Filippov <jcmvb...@gmail.com> wrote: > > > > On Fri, Oct 26, 2018 at 6:51 AM Christophe Lyon > > <christophe.l...@linaro.org> wrote: > > > On Sun, 21 Oct 2018 at 04:06, Max Filippov <jcmvb...@gmail.com> wrote: > > > > Probably the easiest way to get all xtensa toolchain parts correctly it > > > > by using existing buildroot configuration. E.g. the following > > > > configuration > > > > may be used to build uclinux xtensa toolchain for the dc233c core: > > > > https://git.buildroot.net/buildroot/tree/configs/qemu_xtensa_lx60_nommu_defconfig > > > > > > > OK, thanks for your suggestion. I think I managed to build it. > > > Now, how/where can I run 'make check' for gcc? > > > I do not see the GCC build tree. > > > > The gcc build tree is usually in the build/host-gcc-final in the buildroot > > build tree. But that's gcc version selected in the buildroot, you probably > > want a different version. Usually after the buildroot toolchain is ready I > > build gcc separately using binutils and sysroot produced by the buildroot. > > I have a few examples here: > > > > http://wiki.osll.ru/doku.php/etc:users:jcmvbkbc:gcc-xtensa-call0 > > > > Please note that you'd need to apply gcc part of the xtensa overlay to > > your gcc source for it to correctly generate code for that configuration. > > > > I've run the tests with the current gcc trunk and a lot of execution > > tests related to TLS (which is expected) and exceptions (which I > > didn't expect) are failing. I'm looking at it. > > > > I'm not sure if I followed the instructions correctly: > make qemu_xtensa_lx60_nommu_defconfig > make all > which built: > ./output/host/bin/xtensa-buildroot-uclinux-uclibc-gcc (which is 7.3) > then I tried to follow the wiki above: > export TOOLCHAIN=$PWD/output > PATH=$TOOLCHAIN/host/bin:$PATH ..../gcc/configure [...] > > I also built qemu from the branch you mentioned, > and used the "run it on linux-user QEMU" section in the wiki > > I see many execution errors, now realizing that I didn't > do what you said above: "apply gcc part of the xtensa overlay". > But what is this? Do you mean the patches in buildroot/packages/gcc/8.2.0 ? > I tried to apply 0004-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch > but patch says it's already applied (I'm using GCC trunk) > > And while writing this reply, I'm just realizing that buildroot builds > for uclinux-uclibc-gcc, while the wiki uses linux-uclibc :( > Does the wiki need an update wrt target name? >
I re-ran the wiki instructions with --target=xtensa-buildroot-uclinux-uclibc and while gcc/g++ results looks mostly OK, the libstdc++ ones only show: Running ...f/trunk/libstdc++-v3/testsuite/libstdc++-abi/abi.exp ... ERROR: could not compile testsuite_abi.cc ERROR: tcl error sourcing.../trunk/libstdc++-v3/testsuite/libstdc++-abi/abi.exp. Running.../trunk/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp ... ERROR: could not compile testsuite_abi.cc etc... libstdc++.log show many instances of: .../trunk/libstdc++-v3/testsuite/util/testsuite_abi.cc: In function 'symbols create_symbols(const char*)':^M .../trunk/libstdc++-v3/testsuite/util/testsuite_abi.cc:565: note: non-delegitimized UNSPEC 3 found in variable location^M .../trunk/libstdc++-v3/testsuite/util/testsuite_abi.cc: In function 'void examine_symbol(const char*, const char*)':^M .../trunk/libstdc++-v3/testsuite/util/testsuite_abi.cc:355: note: non-delegitimized UNSPEC 3 found in variable location^M ERROR: tcl error sourcing .../trunk/libstdc++-v3/testsuite/libstdc++-abi/abi.exp. ERROR: could not compile testsuite_abi.cc while executing "error "could not compile $f"" (procedure "v3-build_support" line 62) invoked from within "v3-build_support" (file ".../trunk/libstdc++-v3/testsuite/libstdc++-abi/abi.exp" line 34) invoked from within "source .../trunk/libstdc++-v3/testsuite/libstdc++-abi/abi.exp" ("uplevel" body line 1) invoked from within "uplevel #0 source .../trunk/libstdc++-v3/testsuite/libstdc++-abi/abi.exp" invoked from within "catch "uplevel #0 source $test_file_name"" Do you know what the problem is in my setup? Or with GCC trunk? > > > > Also bFLT executable format is currently not supported for linux-user > > > > xtensa QEMU. The following branch adds that support: > > > > https://github.com/OSLL/qemu-xtensa/commits/xtensa-bflt > > > > > > > > qemu-xtensa built from this QEMU then may be registered as a binfmt > > > > handler for bFLT executable images allowing to run gcc tests that want > > > > to run target binaries. > > > Do you have the magic commands for this? > > > > If you build QEMU from the link above you can use the following command > > to register binfmt handler for bFLT binaries assuming that you've installed > > it into $QEMU_PREFIX: > > > > sudo scripts/qemu-binfmt-conf.sh --qemu-path=$QEMU_PREFIX/bin --flat > > 'xtensa' > > > > The --flat switch is not final, it will likely change before it's accepted > > to > > the QEMU mainline. > > -- > > Thanks. > > -- Max