You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by GitBox <gi...@apache.org> on 2021/05/17 14:27:19 UTC
[GitHub] [tvm] microbuilder opened a new pull request #8055: apps: microtvm: Disable `CONFIG_FPU ` for Zephyr runtime
microbuilder opened a new pull request #8055:
URL: https://github.com/apache/tvm/pull/8055
`CONFIG_FPU` was being enabled by default for every platform, regardless
of whether or not the platform using the sample app actually had a HW FPU
unit. As a result, FPU instructions may be included on platforms that aren't
able to support them, or in a best-case scenario we will get a warning about
the conflct during builds, which pollutes the CI output, in a worst-case scenario
a fault.
This change removes the `CONFIG_FPU=y` setting from being set at the
application level, since this flag should be set at the chip level for any platform
that has an FPU. The default value of this is also `y`, so it should have no
effect on boards unless that don't have FPU HW, such as the MPS2_AN521.
Signed-off-by: Kevin Townsend <ke...@linaro.org>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [tvm] gromero edited a comment on pull request #8055: apps: microtvm: Disable `CONFIG_FPU ` for Zephyr runtime
Posted by GitBox <gi...@apache.org>.
gromero edited a comment on pull request #8055:
URL: https://github.com/apache/tvm/pull/8055#issuecomment-842421598
@microbuilder Hi Kevin. Thanks a lot for addressing those annoying warnings related to `CONFIG_FPU=y` on MPS2 boards that currently happens in the CI. I did a quick test and with your change I get an error, which seems that FPU is not enable by default by x86 (although I haven't look at Zephyr's config files):
```
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: ../app/libapp.a(main.c.obj): in function `TVMPlatformTimerStop':
/home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:203: undefined reference to `__floatunsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:203: undefined reference to `__floatunsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:202: undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:206: undefined reference to `__gtdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:207: undefined reference to `__floatunsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:207: undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:189: undefined reference to `__floatunsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:189: undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:209: undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/libtvm__libcommon.a(crt_runtime_api.c.obj): in function `RunTimeEvaluator':
/home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:519: undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:519: undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:545: undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:546: undefined reference to `__gtdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:547: undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:547: undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/x86_64-zephyr-elf/lib/32/soft-float/libc.a(lib_a-dtoa.o): in function `_dtoa_r':
dtoa.c:(.text._dtoa_r+0x149): undefined reference to `__eqdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x272): undefined reference to `__floatunsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x2bf): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x2d9): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x2f3): undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x30d): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x323): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x339): undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x350): undefined reference to `__fixdfsi'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x36d): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x37f): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x38f): undefined reference to `__nedf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x3d2): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x611): undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x650): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x67e): undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x6d6): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x726): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x766): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x7a5): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x7c2): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x7da): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x7f4): undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x84a): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x87a): undefined reference to `__gtdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x8b1): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x8f0): undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x90c): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x938): undefined reference to `__fixdfsi'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x95b): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x967): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x9ad): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x9d7): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x9f3): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xa2c): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xa5a): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xa95): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xac1): undefined reference to `__fixdfsi'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xae4): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xaf0): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xb4c): undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xb58): undefined reference to `__gtdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xb8e): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xb9a): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xbd9): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xc99): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xca5): undefined reference to `__ledf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xcd5): undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xce2): undefined reference to `__fixdfsi'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xd05): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xd15): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xd21): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xd67): undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xd8f): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xdaf): undefined reference to `__eqdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xe28): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xe56): undefined reference to `__eqdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/x86_64-zephyr-elf/lib/32/soft-float/libc.a(lib_a-svfprintf.o): in function `_svfprintf_r':
vfprintf.c:(.text._svfprintf_r+0x4ad): undefined reference to `__unorddf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text._svfprintf_r+0x4d1): undefined reference to `__ledf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text._svfprintf_r+0x506): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text._svfprintf_r+0x54b): undefined reference to `__unorddf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text._svfprintf_r+0x110f): undefined reference to `__eqdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text._svfprintf_r+0x1947): undefined reference to `__nedf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/x86_64-zephyr-elf/lib/32/soft-float/libc.a(lib_a-svfprintf.o): in function `cvt':
vfprintf.c:(.text.cvt+0xdd): undefined reference to `__nedf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text.cvt+0x112): undefined reference to `__eqdf2'
collect2: error: ld returned 1 exit status
make[2]: *** [zephyr/CMakeFiles/zephyr_prebuilt.dir/build.make:112: zephyr/zephyr_prebuilt.elf] Error 1
make[1]: *** [CMakeFiles/Makefile2:2315: zephyr/CMakeFiles/zephyr_prebuilt.dir/all] Error 2
make: *** [Makefile:94: all] Error 2
FAILED
```
I hope CI will catch it too, but it can take a while to do so, hence I'm sharing it here with you.
You can reproduce it with locally by running, for instance: `$ tests/scripts/task_python_microtvm.sh`
So, even if that works, I'm wondering how to disable it for the MPS2 board only, since CONFIG_FPU=y will be enabled by default anyway for all the boards, and apparently CONFIG_FPU=n is not enough to disable (override) it per board?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [tvm] gromero commented on pull request #8055: apps: microtvm: Disable `CONFIG_FPU ` for Zephyr runtime
Posted by GitBox <gi...@apache.org>.
gromero commented on pull request #8055:
URL: https://github.com/apache/tvm/pull/8055#issuecomment-868153637
@microbuilder friendly ping :)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [tvm] gromero edited a comment on pull request #8055: apps: microtvm: Disable `CONFIG_FPU ` for Zephyr runtime
Posted by GitBox <gi...@apache.org>.
gromero edited a comment on pull request #8055:
URL: https://github.com/apache/tvm/pull/8055#issuecomment-860863569
@microbuilder @mehrdadh Hi folks, sorry for the delay on reviewing it.
@mehrdadh thanks for the additional checks!
I figured out why the link error pasted above happened on my local environment but not on the CI.
It happens that the CI is using Zephyr SDK 0.12 whilst I was using Zephyr SDK 0.11 and the following Zephyr SDK fix is only in 0.12:
```
commit 2c1077298b169c39a1badb4d4a4236a2f2eaf769
Author: Daniel Leung <da...@intel.com>
Date: Thu Dec 10 12:27:08 2020 -0800
x86_64: fix soft float for x86 32-bit
This fixes soft-float build for x86 32-bit (-m32 -msoft-float)
under x86_64-zephyr-elf multilib build. This now actually
includes the soft float functions.
Signed-off-by: Daniel Leung <da...@intel.com>
```
hence the soft-float functions were not present in my environment, causing the linking errors when the patch in question is applied.
That, on the other hand, exposed the fact that `qemu_x86` .elf image was not really using `CONFIG_FPU=y` and that can be confirmed by looking for soft-float specific functions present (or absent) in the final .elf image when its built with Zephyr SDK 0.12 (fixed version). Hence no soft-float functions are present in the `qemu_x86` image without the patch applied:
```
$ objdump -t ./zephyr.elf | fgrep float
$
```
but are included (and used) in the .elf image when the patch is applied (for `CONFIG_FPU=y` is not kicking in):
```
$ objdump -t ./zephyr.elf | fgrep float
00000000 l df *ABS* 00000000 floatunsidf.c
00000000 l df *ABS* 00000000 floatsidf.c
00000000 l df *ABS* 00000000 soft_float_stubs.c
00103020 g F text 0000007f .hidden __floatsidf
00101dd0 g F text 00000084 .hidden __floatunsidf
$
$ objdump -t ./zephyr.elf | fgrep __subdf3
001012b0 g F text 00000b1e .hidden __subdf3
```
This seems expected because although `CPU_HAS_FPU` is selected in Zephyr's `boards/x86/qemu_x86/Kconfig.board` `CONFIG_FPU=y` is not set by default in Zephyr for that board. `CONFIG_FPU` depends on `CPU_HAS_FPU` to be set but setting `CPU_HAS_FPU` doesn't imply `CONFIG_FPU=y` in my understanding.
Thus one might think it was just a matter of enabling `CONFIG_FPU` per board, like:
```
diff --git a/apps/microtvm/zephyr/host_driven/boards/qemu_x86.conf b/apps/microtvm/zephyr/host_driven/boards/qemu_x86.conf
index f314f59a5..12c67367f 100644
--- a/apps/microtvm/zephyr/host_driven/boards/qemu_x86.conf
+++ b/apps/microtvm/zephyr/host_driven/boards/qemu_x86.conf
@@ -23,3 +23,5 @@ CONFIG_TIMER_RANDOM_GENERATOR=y
# Default stack size is 1k, this is required for debug mode.
CONFIG_MAIN_STACK_SIZE=1536
+
+CONFIG_FPU=y
```
However although the build will finish ok the following error will be caught by the CI when testing against models that rely on floating point operations:
```
____________________________________________________________________ test_byoc_utvm[host] ____________________________________________________________________
platform = 'host', west_cmd = 'west', skip_build = False, tvm_debug = False
def test_byoc_utvm(platform, west_cmd, skip_build, tvm_debug):
"""This is a simple test case to check BYOC capabilities of uTVM"""
model, zephyr_board = PLATFORMS[platform]
build_config = {"skip_build": skip_build, "debug": tvm_debug}
x = relay.var("x", shape=(10, 10))
w0 = relay.var("w0", shape=(10, 10))
w1 = relay.var("w1", shape=(10, 10))
w2 = relay.var("w2", shape=(10, 10))
w3 = relay.var("w3", shape=(10, 10))
w4 = relay.var("w4", shape=(10, 10))
w5 = relay.var("w5", shape=(10, 10))
w6 = relay.var("w6", shape=(10, 10))
w7 = relay.var("w7", shape=(10, 10))
# C compiler
z0 = relay.add(x, w0)
p0 = relay.subtract(z0, w1)
q0 = relay.multiply(p0, w2)
z1 = relay.add(x, w3)
p1 = relay.subtract(z1, w4)
q1 = relay.multiply(p1, w5)
# Other parts on TVM
z2 = relay.add(x, w6)
q2 = relay.subtract(z2, w7)
r = relay.concatenate((q0, q1, q2), axis=0)
f = relay.Function([x, w0, w1, w2, w3, w4, w5, w6, w7], r)
mod = tvm.IRModule()
ann = CcompilerAnnotator()
mod["main"] = ann.visit(f)
mod = tvm.relay.transform.PartitionGraph()(mod)
mod = tvm.relay.transform.InferType()(mod)
x_data = np.random.rand(10, 10).astype("float32")
w_data = []
for _ in range(8):
w_data.append(np.random.rand(10, 10).astype("float32"))
map_inputs = {"w{}".format(i): w_data[i] for i in range(8)}
map_inputs["x"] = x_data
> check_result(
relay_mod=mod,
map_inputs=map_inputs,
out_shape=(30, 10),
result=np.concatenate(
(
((x_data + w_data[0]) - w_data[1]) * w_data[2],
((x_data + w_data[3]) - w_data[4]) * w_data[5],
x_data + w_data[6] - w_data[7],
),
axis=0,
),
model=model,
zephyr_board=zephyr_board,
west_cmd=west_cmd,
build_config=build_config,
)
tests/micro/zephyr/test_zephyr.py:379:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/micro/zephyr/test_zephyr.py:334: in check_result
tvm.testing.assert_allclose(out.numpy(), results[idx], rtol=TOL, atol=TOL)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
actual = array([[-0.0e+00, 7.0e-44, 7.0e-44, 7.0e-44, -0.0e+00, -0.0e+00,
7.0e-44, 7.0e-44, 7.0e-44, 7.0e-44],
...-44, 4.8e-44, -0.0e+00, 4.8e-44, 4.8e-44, -0.0e+00,
4.8e-44, 4.8e-44, 4.8e-44, 4.8e-44]], dtype=float32)
desired = array([[ 3.30861807e-01, 2.14869566e-02, -3.43096778e-02,
-3.45205562e-03, 2.59472132e-01, 2.34518517e-02,
..., 1.21057093e+00,
5.22404790e-01, 8.47700536e-01, -2.38762259e-01,
-7.96570182e-02]], dtype=float32)
rtol = 1e-05, atol = 1e-05
def assert_allclose(actual, desired, rtol=1e-7, atol=1e-7):
"""Version of np.testing.assert_allclose with `atol` and `rtol` fields set
in reasonable defaults.
Arguments `actual` and `desired` are not interchangable, since the function
compares the `abs(actual-desired)` with `atol+rtol*abs(desired)`. Since we
often allow `desired` to be close to zero, we generally want non-zero `atol`.
"""
actual = np.asanyarray(actual)
desired = np.asanyarray(desired)
np.testing.assert_allclose(actual.shape, desired.shape)
> np.testing.assert_allclose(actual, desired, rtol=rtol, atol=atol, verbose=True)
E AssertionError:
E Not equal to tolerance rtol=1e-05, atol=1e-05
E
E Mismatched elements: 300 / 300 (100%)
E Max absolute difference: 1.7392546
E Max relative difference: 1.
E x: array([[-0.0e+00, 7.0e-44, 7.0e-44, 7.0e-44, -0.0e+00, -0.0e+00,
E 7.0e-44, 7.0e-44, 7.0e-44, 7.0e-44],
E [ 7.0e-44, -0.0e+00, 7.0e-44, -0.0e+00, -0.0e+00, 7.0e-44,...
E y: array([[ 3.308618e-01, 2.148696e-02, -3.430968e-02, -3.452056e-03,
E 2.594721e-01, 2.345185e-02, 6.401843e-01, -9.157152e-02,
E 7.447193e-01, -9.966984e-03],...
python/tvm/testing.py:82: AssertionError
```
This happens because microTVM-Zephyr build system ends up linking mixed objects, i.e. objects built with soft-float and without soft-float functions. This bug was recently fixed by PR https://github.com/apache/tvm/pull/8230, which now allows to set `CONFIG_FPU` per board correctly.
Kevin, since Zephyr defaults regarding CONFIG_FPU might not be what microTVM needs (which is ok) I think we need to enabled FPU per board, for each board (@areusch and @mehrdadh are you ok with that?) So could you please update your patch? It also needs to be rebased since `demo_runtime` was renamed to `host_driven`. Also, there is now an app for AOT, so `CONFIG_FPU` configs in `host_driven` must now be set for `aot_driven`. As a reference, here is a change that works ok for me:
```
diff --git a/apps/microtvm/zephyr/aot_demo/boards/nrf5340dk_nrf5340_cpuapp.conf b/apps/microtvm/zephyr/aot_demo/boards/nrf5340dk_nrf5340_cpuapp.conf
index d298325eb..6c588c86b 100644
--- a/apps/microtvm/zephyr/aot_demo/boards/nrf5340dk_nrf5340_cpuapp.conf
+++ b/apps/microtvm/zephyr/aot_demo/boards/nrf5340dk_nrf5340_cpuapp.conf
@@ -29,3 +29,6 @@ CONFIG_TEST_RANDOM_GENERATOR=y
# For debugging.
CONFIG_LED=y
+
+# For models with floating point.
+CONFIG_FPU=y
diff --git a/apps/microtvm/zephyr/aot_demo/boards/qemu_x86.conf b/apps/microtvm/zephyr/aot_demo/boards/qemu_x86.conf
index 5f3c4a4be..4b0e49406 100644
--- a/apps/microtvm/zephyr/aot_demo/boards/qemu_x86.conf
+++ b/apps/microtvm/zephyr/aot_demo/boards/qemu_x86.conf
@@ -23,3 +23,6 @@ CONFIG_TIMER_RANDOM_GENERATOR=y
# Default stack size is 1k, this is required for debug mode.
CONFIG_MAIN_STACK_SIZE=2000
+
+# For models with floating point.
+CONFIG_FPU=y
diff --git a/apps/microtvm/zephyr/aot_demo/prj.conf b/apps/microtvm/zephyr/aot_demo/prj.conf
index 5f4d7a068..c6ab10e9d 100644
--- a/apps/microtvm/zephyr/aot_demo/prj.conf
+++ b/apps/microtvm/zephyr/aot_demo/prj.conf
@@ -28,8 +28,5 @@ CONFIG_UART_INTERRUPT_DRIVEN=y
CONFIG_CPLUSPLUS=y
CONFIG_NEWLIB_LIBC=y
-# For models with floating point.
-CONFIG_FPU=y
-
# For TVMPlatformAbort().
CONFIG_REBOOT=y
diff --git a/apps/microtvm/zephyr/host_driven/boards/nrf5340dk_nrf5340_cpuapp.conf b/apps/microtvm/zephyr/host_driven/boards/nrf5340dk_nrf5340_cpuapp.conf
index 149a69ea3..511ff0121 100644
--- a/apps/microtvm/zephyr/host_driven/boards/nrf5340dk_nrf5340_cpuapp.conf
+++ b/apps/microtvm/zephyr/host_driven/boards/nrf5340dk_nrf5340_cpuapp.conf
@@ -29,3 +29,6 @@ CONFIG_TEST_RANDOM_GENERATOR=y
# For debugging.
CONFIG_LED=y
+
+# For models with floating point.
+CONFIG_FPU=y
diff --git a/apps/microtvm/zephyr/host_driven/boards/nucleo_f746zg.conf b/apps/microtvm/zephyr/host_driven/boards/nucleo_f746zg.conf
index eba023294..33b08032c 100644
--- a/apps/microtvm/zephyr/host_driven/boards/nucleo_f746zg.conf
+++ b/apps/microtvm/zephyr/host_driven/boards/nucleo_f746zg.conf
@@ -28,3 +28,6 @@ CONFIG_ENTROPY_GENERATOR=y
# For debugging.
CONFIG_LED=y
+
+# For models with floating point.
+CONFIG_FPU=y
diff --git a/apps/microtvm/zephyr/host_driven/boards/qemu_riscv32.conf b/apps/microtvm/zephyr/host_driven/boards/qemu_riscv32.conf
index 3733568ed..b94d96b11 100644
--- a/apps/microtvm/zephyr/host_driven/boards/qemu_riscv32.conf
+++ b/apps/microtvm/zephyr/host_driven/boards/qemu_riscv32.conf
@@ -24,6 +24,9 @@ CONFIG_TIMER_RANDOM_GENERATOR=y
# Default is 512, raised here for operations with large floating point data.
CONFIG_MAIN_STACK_SIZE=2048
+# For models with floating point.
+CONFIG_FPU=y
+
# For floating point operations. It has exception on floating point operations
# without this flag.
CONFIG_FPU_SHARING=y
diff --git a/apps/microtvm/zephyr/host_driven/boards/qemu_riscv64.conf b/apps/microtvm/zephyr/host_driven/boards/qemu_riscv64.conf
index a8a055bcc..1da5f054d 100644
--- a/apps/microtvm/zephyr/host_driven/boards/qemu_riscv64.conf
+++ b/apps/microtvm/zephyr/host_driven/boards/qemu_riscv64.conf
@@ -23,3 +23,6 @@ CONFIG_TIMER_RANDOM_GENERATOR=y
# Default 512, for operations with large floating point data.
CONFIG_MAIN_STACK_SIZE=2048
+
+# For models with floating point.
+CONFIG_FPU=y
diff --git a/apps/microtvm/zephyr/host_driven/boards/qemu_x86.conf b/apps/microtvm/zephyr/host_driven/boards/qemu_x86.conf
index f314f59a5..12c67367f 100644
--- a/apps/microtvm/zephyr/host_driven/boards/qemu_x86.conf
+++ b/apps/microtvm/zephyr/host_driven/boards/qemu_x86.conf
@@ -23,3 +23,5 @@ CONFIG_TIMER_RANDOM_GENERATOR=y
# Default stack size is 1k, this is required for debug mode.
CONFIG_MAIN_STACK_SIZE=1536
+
+CONFIG_FPU=y
diff --git a/apps/microtvm/zephyr/host_driven/boards/stm32f746g_disco.conf b/apps/microtvm/zephyr/host_driven/boards/stm32f746g_disco.conf
index 505f1babc..542faf28c 100644
--- a/apps/microtvm/zephyr/host_driven/boards/stm32f746g_disco.conf
+++ b/apps/microtvm/zephyr/host_driven/boards/stm32f746g_disco.conf
@@ -26,3 +26,6 @@ CONFIG_TEST_RANDOM_GENERATOR=y
# For debugging.
CONFIG_LED=n
+
+# For models with floating point.
+CONFIG_FPU=y
diff --git a/apps/microtvm/zephyr/host_driven/prj.conf b/apps/microtvm/zephyr/host_driven/prj.conf
index 5f4d7a068..c6ab10e9d 100644
--- a/apps/microtvm/zephyr/host_driven/prj.conf
+++ b/apps/microtvm/zephyr/host_driven/prj.conf
@@ -28,8 +28,5 @@ CONFIG_UART_INTERRUPT_DRIVEN=y
CONFIG_CPLUSPLUS=y
CONFIG_NEWLIB_LIBC=y
-# For models with floating point.
-CONFIG_FPU=y
-
# For TVMPlatformAbort().
CONFIG_REBOOT=y
```
----
For the records, the "best-case scenario warning" about conflicts during builds mentioned by Kevin in his original commit message is the one that currently happens on the CI, i.e. [0]:
```
Including boilerplate (Zephyr base): /opt/zephyrproject/zephyr/cmake/app/boilerplate.cmake
warning: FPU (defined at soc/arm/nxp_imx/mcimx6x_m4/Kconfig.defconfig.mcimx6x_m4:11,
arch/Kconfig:744) was assigned the value 'y' but got the value 'n'. Check these unsatisfied
dependencies: ((SOC_MCIMX6X_M4 && SOC_SERIES_IMX_6X_M4) || (CPU_HAS_FPU && (ARC || ARM || RISCV ||
SPARC || X86))) (=n). See http://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_FPU.html
and/or look up FPU in the menuconfig/guiconfig interface. The Application Development Primer,
Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be
helpful too.
CMake Deprecation Warning at /opt/zephyrproject/modules/lib/civetweb/CMakeLists.txt:2 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
```
[0] In https://ci.tlcpack.ai/blue/rest/organizations/jenkins/pipelines/tvm/branches/PR-8110/runs/44/nodes/46/steps/154/log/?start=0
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [tvm] mehrdadh commented on pull request #8055: apps: microtvm: Disable `CONFIG_FPU ` for Zephyr runtime
Posted by GitBox <gi...@apache.org>.
mehrdadh commented on pull request #8055:
URL: https://github.com/apache/tvm/pull/8055#issuecomment-843266069
@gromero I tested this on microtvm reference virtual machine with mps2_an521 platform and it was fine.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [tvm] gromero commented on pull request #8055: apps: microtvm: Disable `CONFIG_FPU ` for Zephyr runtime
Posted by GitBox <gi...@apache.org>.
gromero commented on pull request #8055:
URL: https://github.com/apache/tvm/pull/8055#issuecomment-842421598
@microbuilder Hi Kevin. Thanks a lot for addressing those annoying warning related to `CONFIG_FPU=y` on MPS2 boards that currently appear on CI. I did a quick test and with your change I get an error, which seems that FPU is not enable by default by x86 (although I haven't look at Zephyr's config files):
```
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: ../app/libapp.a(main.c.obj): in function `TVMPlatformTimerStop':
/home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:203: undefined reference to `__floatunsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:203: undefined reference to `__floatunsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:202: undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:206: undefined reference to `__gtdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:207: undefined reference to `__floatunsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:207: undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:189: undefined reference to `__floatunsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:189: undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:209: undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/libtvm__libcommon.a(crt_runtime_api.c.obj): in function `RunTimeEvaluator':
/home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:519: undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:519: undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:545: undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:546: undefined reference to `__gtdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:547: undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:547: undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/x86_64-zephyr-elf/lib/32/soft-float/libc.a(lib_a-dtoa.o): in function `_dtoa_r':
dtoa.c:(.text._dtoa_r+0x149): undefined reference to `__eqdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x272): undefined reference to `__floatunsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x2bf): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x2d9): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x2f3): undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x30d): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x323): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x339): undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x350): undefined reference to `__fixdfsi'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x36d): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x37f): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x38f): undefined reference to `__nedf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x3d2): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x611): undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x650): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x67e): undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x6d6): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x726): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x766): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x7a5): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x7c2): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x7da): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x7f4): undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x84a): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x87a): undefined reference to `__gtdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x8b1): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x8f0): undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x90c): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x938): undefined reference to `__fixdfsi'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x95b): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x967): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x9ad): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x9d7): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x9f3): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xa2c): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xa5a): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xa95): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xac1): undefined reference to `__fixdfsi'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xae4): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xaf0): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xb4c): undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xb58): undefined reference to `__gtdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xb8e): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xb9a): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xbd9): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xc99): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xca5): undefined reference to `__ledf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xcd5): undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xce2): undefined reference to `__fixdfsi'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xd05): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xd15): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xd21): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xd67): undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xd8f): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xdaf): undefined reference to `__eqdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xe28): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xe56): undefined reference to `__eqdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/x86_64-zephyr-elf/lib/32/soft-float/libc.a(lib_a-svfprintf.o): in function `_svfprintf_r':
vfprintf.c:(.text._svfprintf_r+0x4ad): undefined reference to `__unorddf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text._svfprintf_r+0x4d1): undefined reference to `__ledf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text._svfprintf_r+0x506): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text._svfprintf_r+0x54b): undefined reference to `__unorddf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text._svfprintf_r+0x110f): undefined reference to `__eqdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text._svfprintf_r+0x1947): undefined reference to `__nedf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/x86_64-zephyr-elf/lib/32/soft-float/libc.a(lib_a-svfprintf.o): in function `cvt':
vfprintf.c:(.text.cvt+0xdd): undefined reference to `__nedf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text.cvt+0x112): undefined reference to `__eqdf2'
collect2: error: ld returned 1 exit status
make[2]: *** [zephyr/CMakeFiles/zephyr_prebuilt.dir/build.make:112: zephyr/zephyr_prebuilt.elf] Error 1
make[1]: *** [CMakeFiles/Makefile2:2315: zephyr/CMakeFiles/zephyr_prebuilt.dir/all] Error 2
make: *** [Makefile:94: all] Error 2
FAILED
```
I hope CI will catch it too, but it can take a while to do so, hence I'm sharing it here with you.
You can reproduce it with locally by running, for instance: `$ tests/scripts/task_python_microtvm.sh`
So, even if that works, I'm wondering how to disable it for the MPS2 board only, since CONFIG_FPU=y will be enabled by default anyway for all the boards, and apparently CONFIG_FPU=n is not enough to disable (override) it per board?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [tvm] areusch merged pull request #8055: apps: microtvm: Disable `CONFIG_FPU ` for Zephyr runtime
Posted by GitBox <gi...@apache.org>.
areusch merged pull request #8055:
URL: https://github.com/apache/tvm/pull/8055
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@tvm.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [tvm] gromero commented on pull request #8055: apps: microtvm: Disable `CONFIG_FPU ` for Zephyr runtime
Posted by GitBox <gi...@apache.org>.
gromero commented on pull request #8055:
URL: https://github.com/apache/tvm/pull/8055#issuecomment-842421598
@microbuilder Hi Kevin. Thanks a lot for addressing those annoying warning related to `CONFIG_FPU=y` on MPS2 boards that currently appear on CI. I did a quick test and with your change I get an error, which seems that FPU is not enable by default by x86 (although I haven't look at Zephyr's config files):
```
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: ../app/libapp.a(main.c.obj): in function `TVMPlatformTimerStop':
/home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:203: undefined reference to `__floatunsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:203: undefined reference to `__floatunsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:202: undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:206: undefined reference to `__gtdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:207: undefined reference to `__floatunsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:207: undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:189: undefined reference to `__floatunsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:189: undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:209: undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/libtvm__libcommon.a(crt_runtime_api.c.obj): in function `RunTimeEvaluator':
/home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:519: undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:519: undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:545: undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:546: undefined reference to `__gtdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:547: undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:547: undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/x86_64-zephyr-elf/lib/32/soft-float/libc.a(lib_a-dtoa.o): in function `_dtoa_r':
dtoa.c:(.text._dtoa_r+0x149): undefined reference to `__eqdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x272): undefined reference to `__floatunsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x2bf): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x2d9): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x2f3): undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x30d): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x323): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x339): undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x350): undefined reference to `__fixdfsi'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x36d): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x37f): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x38f): undefined reference to `__nedf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x3d2): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x611): undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x650): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x67e): undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x6d6): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x726): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x766): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x7a5): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x7c2): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x7da): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x7f4): undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x84a): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x87a): undefined reference to `__gtdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x8b1): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x8f0): undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x90c): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x938): undefined reference to `__fixdfsi'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x95b): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x967): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x9ad): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x9d7): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x9f3): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xa2c): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xa5a): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xa95): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xac1): undefined reference to `__fixdfsi'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xae4): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xaf0): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xb4c): undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xb58): undefined reference to `__gtdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xb8e): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xb9a): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xbd9): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xc99): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xca5): undefined reference to `__ledf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xcd5): undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xce2): undefined reference to `__fixdfsi'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xd05): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xd15): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xd21): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xd67): undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xd8f): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xdaf): undefined reference to `__eqdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xe28): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xe56): undefined reference to `__eqdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/x86_64-zephyr-elf/lib/32/soft-float/libc.a(lib_a-svfprintf.o): in function `_svfprintf_r':
vfprintf.c:(.text._svfprintf_r+0x4ad): undefined reference to `__unorddf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text._svfprintf_r+0x4d1): undefined reference to `__ledf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text._svfprintf_r+0x506): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text._svfprintf_r+0x54b): undefined reference to `__unorddf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text._svfprintf_r+0x110f): undefined reference to `__eqdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text._svfprintf_r+0x1947): undefined reference to `__nedf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/x86_64-zephyr-elf/lib/32/soft-float/libc.a(lib_a-svfprintf.o): in function `cvt':
vfprintf.c:(.text.cvt+0xdd): undefined reference to `__nedf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text.cvt+0x112): undefined reference to `__eqdf2'
collect2: error: ld returned 1 exit status
make[2]: *** [zephyr/CMakeFiles/zephyr_prebuilt.dir/build.make:112: zephyr/zephyr_prebuilt.elf] Error 1
make[1]: *** [CMakeFiles/Makefile2:2315: zephyr/CMakeFiles/zephyr_prebuilt.dir/all] Error 2
make: *** [Makefile:94: all] Error 2
FAILED
```
I hope CI will catch it too, but it can take a while to do so, hence I'm sharing it here with you.
You can reproduce it with locally by running, for instance: `$ tests/scripts/task_python_microtvm.sh`
So, even if that works, I'm wondering how to disable it for the MPS2 board only, since CONFIG_FPU=y will be enabled by default anyway for all the boards, and apparently CONFIG_FPU=n is not enough to disable (override) it per board?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [tvm] mehrdadh commented on pull request #8055: apps: microtvm: Disable `CONFIG_FPU ` for Zephyr runtime
Posted by GitBox <gi...@apache.org>.
mehrdadh commented on pull request #8055:
URL: https://github.com/apache/tvm/pull/8055#issuecomment-843308915
I tested this with `nrf5340dk` and `stm32f746xx_nucleo` boards as well and they passed.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [tvm] gromero commented on pull request #8055: apps: microtvm: Disable `CONFIG_FPU ` for Zephyr runtime
Posted by GitBox <gi...@apache.org>.
gromero commented on pull request #8055:
URL: https://github.com/apache/tvm/pull/8055#issuecomment-880905796
@microbuilder Thanks! There is only a nit, a typo in the commit message that I'd like to get it fixed: `about the conflct during builds`. Sorry, I missed it on my review. Otherwise, LGTM.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@tvm.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [tvm] gromero commented on pull request #8055: apps: microtvm: Disable `CONFIG_FPU ` for Zephyr runtime
Posted by GitBox <gi...@apache.org>.
gromero commented on pull request #8055:
URL: https://github.com/apache/tvm/pull/8055#issuecomment-880954754
@microbuilder Thanks! LGTM!
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@tvm.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [tvm] gromero commented on pull request #8055: apps: microtvm: Disable `CONFIG_FPU ` for Zephyr runtime
Posted by GitBox <gi...@apache.org>.
gromero commented on pull request #8055:
URL: https://github.com/apache/tvm/pull/8055#issuecomment-860863569
@microbuilder @mehrdadh Hi folks, sorry for the delay on reviewing it.
@mehrdadh thanks for the additional checks!
I figured out why the link error pasted above happened on my local environment but not on the CI.
It happens that the CI is using Zephyr SDK 0.12 whilst I was using Zephyr SDK 0.11 and the following Zephyr SDK fix is only in 0.12:
```
commit 2c1077298b169c39a1badb4d4a4236a2f2eaf769
Author: Daniel Leung <da...@intel.com>
Date: Thu Dec 10 12:27:08 2020 -0800
x86_64: fix soft float for x86 32-bit
This fixes soft-float build for x86 32-bit (-m32 -msoft-float)
under x86_64-zephyr-elf multilib build. This now actually
includes the soft float functions.
Signed-off-by: Daniel Leung <da...@intel.com>
```
hence the soft-float functions were not present in my environment, causing the linking errors when the patch in question is applied.
That, on the other hand, exposed the fact that `qemu_x86` .elf image was not really using `CONFIG_FPU=y` and that can be confirmed by looking for soft-float specific functions present (or absent) in the final .elf image when its built with Zephyr SDK 0.12 (fixed version). Hence no soft-float functions are present in the `qemu_x86` image without the patch applied:
```
$ objdump -t ./zephyr.elf | fgrep float
$
```
but are included (and used) in the .elf image when the patch is applied (for `CONFIG_FPU=y` is not kicking in):
```
$ objdump -t ./zephyr.elf | fgrep float
00000000 l df *ABS* 00000000 floatunsidf.c
00000000 l df *ABS* 00000000 floatsidf.c
00000000 l df *ABS* 00000000 soft_float_stubs.c
00103020 g F text 0000007f .hidden __floatsidf
00101dd0 g F text 00000084 .hidden __floatunsidf
$
$ objdump -t ./zephyr.elf | fgrep __subdf3
001012b0 g F text 00000b1e .hidden __subdf3
```
This seems expected because although `CPU_HAS_FPU` is selected in Zephyr's `boards/x86/qemu_x86/Kconfig.board` `CONFIG_FPU=y` is not set by default in Zephyr for that board. `CONFIG_FPU` depends on `CPU_HAS_FPU` to be set but setting `CPU_HAS_FPU` doesn't imply `CONFIG_FPU=y` in my understanding.
Thus one might think it was just a matter of enabling `CONFIG_FPU` per board, like:
```
diff --git a/apps/microtvm/zephyr/host_driven/boards/qemu_x86.conf b/apps/microtvm/zephyr/host_driven/boards/qemu_x86.conf
index f314f59a5..12c67367f 100644
--- a/apps/microtvm/zephyr/host_driven/boards/qemu_x86.conf
+++ b/apps/microtvm/zephyr/host_driven/boards/qemu_x86.conf
@@ -23,3 +23,5 @@ CONFIG_TIMER_RANDOM_GENERATOR=y
# Default stack size is 1k, this is required for debug mode.
CONFIG_MAIN_STACK_SIZE=1536
+
+CONFIG_FPU=y
```
However although the build will finish ok the following error will be caught by the CI when testing against models that rely on floating point operations:
```
____________________________________________________________________ test_byoc_utvm[host] ____________________________________________________________________
platform = 'host', west_cmd = 'west', skip_build = False, tvm_debug = False
def test_byoc_utvm(platform, west_cmd, skip_build, tvm_debug):
"""This is a simple test case to check BYOC capabilities of uTVM"""
model, zephyr_board = PLATFORMS[platform]
build_config = {"skip_build": skip_build, "debug": tvm_debug}
x = relay.var("x", shape=(10, 10))
w0 = relay.var("w0", shape=(10, 10))
w1 = relay.var("w1", shape=(10, 10))
w2 = relay.var("w2", shape=(10, 10))
w3 = relay.var("w3", shape=(10, 10))
w4 = relay.var("w4", shape=(10, 10))
w5 = relay.var("w5", shape=(10, 10))
w6 = relay.var("w6", shape=(10, 10))
w7 = relay.var("w7", shape=(10, 10))
# C compiler
z0 = relay.add(x, w0)
p0 = relay.subtract(z0, w1)
q0 = relay.multiply(p0, w2)
z1 = relay.add(x, w3)
p1 = relay.subtract(z1, w4)
q1 = relay.multiply(p1, w5)
# Other parts on TVM
z2 = relay.add(x, w6)
q2 = relay.subtract(z2, w7)
r = relay.concatenate((q0, q1, q2), axis=0)
f = relay.Function([x, w0, w1, w2, w3, w4, w5, w6, w7], r)
mod = tvm.IRModule()
ann = CcompilerAnnotator()
mod["main"] = ann.visit(f)
mod = tvm.relay.transform.PartitionGraph()(mod)
mod = tvm.relay.transform.InferType()(mod)
x_data = np.random.rand(10, 10).astype("float32")
w_data = []
for _ in range(8):
w_data.append(np.random.rand(10, 10).astype("float32"))
map_inputs = {"w{}".format(i): w_data[i] for i in range(8)}
map_inputs["x"] = x_data
> check_result(
relay_mod=mod,
map_inputs=map_inputs,
out_shape=(30, 10),
result=np.concatenate(
(
((x_data + w_data[0]) - w_data[1]) * w_data[2],
((x_data + w_data[3]) - w_data[4]) * w_data[5],
x_data + w_data[6] - w_data[7],
),
axis=0,
),
model=model,
zephyr_board=zephyr_board,
west_cmd=west_cmd,
build_config=build_config,
)
tests/micro/zephyr/test_zephyr.py:379:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/micro/zephyr/test_zephyr.py:334: in check_result
tvm.testing.assert_allclose(out.numpy(), results[idx], rtol=TOL, atol=TOL)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
actual = array([[-0.0e+00, 7.0e-44, 7.0e-44, 7.0e-44, -0.0e+00, -0.0e+00,
7.0e-44, 7.0e-44, 7.0e-44, 7.0e-44],
...-44, 4.8e-44, -0.0e+00, 4.8e-44, 4.8e-44, -0.0e+00,
4.8e-44, 4.8e-44, 4.8e-44, 4.8e-44]], dtype=float32)
desired = array([[ 3.30861807e-01, 2.14869566e-02, -3.43096778e-02,
-3.45205562e-03, 2.59472132e-01, 2.34518517e-02,
..., 1.21057093e+00,
5.22404790e-01, 8.47700536e-01, -2.38762259e-01,
-7.96570182e-02]], dtype=float32)
rtol = 1e-05, atol = 1e-05
def assert_allclose(actual, desired, rtol=1e-7, atol=1e-7):
"""Version of np.testing.assert_allclose with `atol` and `rtol` fields set
in reasonable defaults.
Arguments `actual` and `desired` are not interchangable, since the function
compares the `abs(actual-desired)` with `atol+rtol*abs(desired)`. Since we
often allow `desired` to be close to zero, we generally want non-zero `atol`.
"""
actual = np.asanyarray(actual)
desired = np.asanyarray(desired)
np.testing.assert_allclose(actual.shape, desired.shape)
> np.testing.assert_allclose(actual, desired, rtol=rtol, atol=atol, verbose=True)
E AssertionError:
E Not equal to tolerance rtol=1e-05, atol=1e-05
E
E Mismatched elements: 300 / 300 (100%)
E Max absolute difference: 1.7392546
E Max relative difference: 1.
E x: array([[-0.0e+00, 7.0e-44, 7.0e-44, 7.0e-44, -0.0e+00, -0.0e+00,
E 7.0e-44, 7.0e-44, 7.0e-44, 7.0e-44],
E [ 7.0e-44, -0.0e+00, 7.0e-44, -0.0e+00, -0.0e+00, 7.0e-44,...
E y: array([[ 3.308618e-01, 2.148696e-02, -3.430968e-02, -3.452056e-03,
E 2.594721e-01, 2.345185e-02, 6.401843e-01, -9.157152e-02,
E 7.447193e-01, -9.966984e-03],...
python/tvm/testing.py:82: AssertionError
```
This happens because microTVM-Zephyr build system ends up linking mixed objects, i.e. objects built with soft-float and without soft-float functions. This bug was recently fixed by PR https://github.com/apache/tvm/pull/8230, which now allows to set `CONFIG_FPU` per board correctly.
Kevin, since Zephyr defaults regarding CONFIG_FPU might not be what microTVM needs (which is ok) I think we need to enabled FPU per board, for each board (@) So could you please update your patch? It also needs to be rebased since `demo_runtime` was renamed to `host_driven`. Also, there is now an app for AOT, so `CONFIG_FPU` configs in `host_driven` must now be set for `aot_driven`. As a reference, here is a change that works ok for me:
```
diff --git a/apps/microtvm/zephyr/aot_demo/boards/nrf5340dk_nrf5340_cpuapp.conf b/apps/microtvm/zephyr/aot_demo/boards/nrf5340dk_nrf5340_cpuapp.conf
index d298325eb..6c588c86b 100644
--- a/apps/microtvm/zephyr/aot_demo/boards/nrf5340dk_nrf5340_cpuapp.conf
+++ b/apps/microtvm/zephyr/aot_demo/boards/nrf5340dk_nrf5340_cpuapp.conf
@@ -29,3 +29,6 @@ CONFIG_TEST_RANDOM_GENERATOR=y
# For debugging.
CONFIG_LED=y
+
+# For models with floating point.
+CONFIG_FPU=y
diff --git a/apps/microtvm/zephyr/aot_demo/boards/qemu_x86.conf b/apps/microtvm/zephyr/aot_demo/boards/qemu_x86.conf
index 5f3c4a4be..4b0e49406 100644
--- a/apps/microtvm/zephyr/aot_demo/boards/qemu_x86.conf
+++ b/apps/microtvm/zephyr/aot_demo/boards/qemu_x86.conf
@@ -23,3 +23,6 @@ CONFIG_TIMER_RANDOM_GENERATOR=y
# Default stack size is 1k, this is required for debug mode.
CONFIG_MAIN_STACK_SIZE=2000
+
+# For models with floating point.
+CONFIG_FPU=y
diff --git a/apps/microtvm/zephyr/aot_demo/prj.conf b/apps/microtvm/zephyr/aot_demo/prj.conf
index 5f4d7a068..c6ab10e9d 100644
--- a/apps/microtvm/zephyr/aot_demo/prj.conf
+++ b/apps/microtvm/zephyr/aot_demo/prj.conf
@@ -28,8 +28,5 @@ CONFIG_UART_INTERRUPT_DRIVEN=y
CONFIG_CPLUSPLUS=y
CONFIG_NEWLIB_LIBC=y
-# For models with floating point.
-CONFIG_FPU=y
-
# For TVMPlatformAbort().
CONFIG_REBOOT=y
diff --git a/apps/microtvm/zephyr/host_driven/boards/nrf5340dk_nrf5340_cpuapp.conf b/apps/microtvm/zephyr/host_driven/boards/nrf5340dk_nrf5340_cpuapp.conf
index 149a69ea3..511ff0121 100644
--- a/apps/microtvm/zephyr/host_driven/boards/nrf5340dk_nrf5340_cpuapp.conf
+++ b/apps/microtvm/zephyr/host_driven/boards/nrf5340dk_nrf5340_cpuapp.conf
@@ -29,3 +29,6 @@ CONFIG_TEST_RANDOM_GENERATOR=y
# For debugging.
CONFIG_LED=y
+
+# For models with floating point.
+CONFIG_FPU=y
diff --git a/apps/microtvm/zephyr/host_driven/boards/nucleo_f746zg.conf b/apps/microtvm/zephyr/host_driven/boards/nucleo_f746zg.conf
index eba023294..33b08032c 100644
--- a/apps/microtvm/zephyr/host_driven/boards/nucleo_f746zg.conf
+++ b/apps/microtvm/zephyr/host_driven/boards/nucleo_f746zg.conf
@@ -28,3 +28,6 @@ CONFIG_ENTROPY_GENERATOR=y
# For debugging.
CONFIG_LED=y
+
+# For models with floating point.
+CONFIG_FPU=y
diff --git a/apps/microtvm/zephyr/host_driven/boards/qemu_riscv32.conf b/apps/microtvm/zephyr/host_driven/boards/qemu_riscv32.conf
index 3733568ed..b94d96b11 100644
--- a/apps/microtvm/zephyr/host_driven/boards/qemu_riscv32.conf
+++ b/apps/microtvm/zephyr/host_driven/boards/qemu_riscv32.conf
@@ -24,6 +24,9 @@ CONFIG_TIMER_RANDOM_GENERATOR=y
# Default is 512, raised here for operations with large floating point data.
CONFIG_MAIN_STACK_SIZE=2048
+# For models with floating point.
+CONFIG_FPU=y
+
# For floating point operations. It has exception on floating point operations
# without this flag.
CONFIG_FPU_SHARING=y
diff --git a/apps/microtvm/zephyr/host_driven/boards/qemu_riscv64.conf b/apps/microtvm/zephyr/host_driven/boards/qemu_riscv64.conf
index a8a055bcc..1da5f054d 100644
--- a/apps/microtvm/zephyr/host_driven/boards/qemu_riscv64.conf
+++ b/apps/microtvm/zephyr/host_driven/boards/qemu_riscv64.conf
@@ -23,3 +23,6 @@ CONFIG_TIMER_RANDOM_GENERATOR=y
# Default 512, for operations with large floating point data.
CONFIG_MAIN_STACK_SIZE=2048
+
+# For models with floating point.
+CONFIG_FPU=y
diff --git a/apps/microtvm/zephyr/host_driven/boards/qemu_x86.conf b/apps/microtvm/zephyr/host_driven/boards/qemu_x86.conf
index f314f59a5..12c67367f 100644
--- a/apps/microtvm/zephyr/host_driven/boards/qemu_x86.conf
+++ b/apps/microtvm/zephyr/host_driven/boards/qemu_x86.conf
@@ -23,3 +23,5 @@ CONFIG_TIMER_RANDOM_GENERATOR=y
# Default stack size is 1k, this is required for debug mode.
CONFIG_MAIN_STACK_SIZE=1536
+
+CONFIG_FPU=y
diff --git a/apps/microtvm/zephyr/host_driven/boards/stm32f746g_disco.conf b/apps/microtvm/zephyr/host_driven/boards/stm32f746g_disco.conf
index 505f1babc..542faf28c 100644
--- a/apps/microtvm/zephyr/host_driven/boards/stm32f746g_disco.conf
+++ b/apps/microtvm/zephyr/host_driven/boards/stm32f746g_disco.conf
@@ -26,3 +26,6 @@ CONFIG_TEST_RANDOM_GENERATOR=y
# For debugging.
CONFIG_LED=n
+
+# For models with floating point.
+CONFIG_FPU=y
diff --git a/apps/microtvm/zephyr/host_driven/prj.conf b/apps/microtvm/zephyr/host_driven/prj.conf
index 5f4d7a068..c6ab10e9d 100644
--- a/apps/microtvm/zephyr/host_driven/prj.conf
+++ b/apps/microtvm/zephyr/host_driven/prj.conf
@@ -28,8 +28,5 @@ CONFIG_UART_INTERRUPT_DRIVEN=y
CONFIG_CPLUSPLUS=y
CONFIG_NEWLIB_LIBC=y
-# For models with floating point.
-CONFIG_FPU=y
-
# For TVMPlatformAbort().
CONFIG_REBOOT=y
```
----
For the records, the "best-case scenario warning" about conflicts during builds mentioned by Kevin in his original commit message is the one that currently happens on the CI, i.e. [0]:
```
Including boilerplate (Zephyr base): /opt/zephyrproject/zephyr/cmake/app/boilerplate.cmake
warning: FPU (defined at soc/arm/nxp_imx/mcimx6x_m4/Kconfig.defconfig.mcimx6x_m4:11,
arch/Kconfig:744) was assigned the value 'y' but got the value 'n'. Check these unsatisfied
dependencies: ((SOC_MCIMX6X_M4 && SOC_SERIES_IMX_6X_M4) || (CPU_HAS_FPU && (ARC || ARM || RISCV ||
SPARC || X86))) (=n). See http://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_FPU.html
and/or look up FPU in the menuconfig/guiconfig interface. The Application Development Primer,
Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be
helpful too.
CMake Deprecation Warning at /opt/zephyrproject/modules/lib/civetweb/CMakeLists.txt:2 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
```
[0] In https://ci.tlcpack.ai/blue/rest/organizations/jenkins/pipelines/tvm/branches/PR-8110/runs/44/nodes/46/steps/154/log/?start=0
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [tvm] areusch commented on pull request #8055: apps: microtvm: Disable `CONFIG_FPU ` for Zephyr runtime
Posted by GitBox <gi...@apache.org>.
areusch commented on pull request #8055:
URL: https://github.com/apache/tvm/pull/8055#issuecomment-875759778
@microbuilder please address @gromero's comment and rebase the PR
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@tvm.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [tvm] gromero edited a comment on pull request #8055: apps: microtvm: Disable `CONFIG_FPU ` for Zephyr runtime
Posted by GitBox <gi...@apache.org>.
gromero edited a comment on pull request #8055:
URL: https://github.com/apache/tvm/pull/8055#issuecomment-842421598
@microbuilder Hi Kevin. Thanks a lot for addressing those annoying warnings related to `CONFIG_FPU=y` on MPS2 boards that currently happens in the CI. I did a quick test and with your change I get an error, which seems that FPU is not enable by default by x86 (although I haven't look at Zephyr's config files):
```
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: ../app/libapp.a(main.c.obj): in function `TVMPlatformTimerStop':
/home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:203: undefined reference to `__floatunsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:203: undefined reference to `__floatunsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:202: undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:206: undefined reference to `__gtdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:207: undefined reference to `__floatunsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:207: undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:189: undefined reference to `__floatunsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:189: undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/src/main.c:209: undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/apps/microtvm/zephyr/demo_runtime/libtvm__libcommon.a(crt_runtime_api.c.obj): in function `RunTimeEvaluator':
/home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:519: undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:519: undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:545: undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:546: undefined reference to `__gtdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:547: undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/git/tvm_u_main/build/standalone_crt/src/runtime/crt/common/crt_runtime_api.c:547: undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/x86_64-zephyr-elf/lib/32/soft-float/libc.a(lib_a-dtoa.o): in function `_dtoa_r':
dtoa.c:(.text._dtoa_r+0x149): undefined reference to `__eqdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x272): undefined reference to `__floatunsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x2bf): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x2d9): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x2f3): undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x30d): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x323): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x339): undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x350): undefined reference to `__fixdfsi'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x36d): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x37f): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x38f): undefined reference to `__nedf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x3d2): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x611): undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x650): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x67e): undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x6d6): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x726): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x766): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x7a5): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x7c2): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x7da): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x7f4): undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x84a): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x87a): undefined reference to `__gtdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x8b1): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x8f0): undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x90c): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x938): undefined reference to `__fixdfsi'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x95b): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x967): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x9ad): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x9d7): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0x9f3): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xa2c): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xa5a): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xa95): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xac1): undefined reference to `__fixdfsi'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xae4): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xaf0): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xb4c): undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xb58): undefined reference to `__gtdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xb8e): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xb9a): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xbd9): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xc99): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xca5): undefined reference to `__ledf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xcd5): undefined reference to `__divdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xce2): undefined reference to `__fixdfsi'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xd05): undefined reference to `__floatsidf'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xd15): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xd21): undefined reference to `__subdf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xd67): undefined reference to `__adddf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xd8f): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xdaf): undefined reference to `__eqdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xe28): undefined reference to `__muldf3'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: dtoa.c:(.text._dtoa_r+0xe56): undefined reference to `__eqdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/x86_64-zephyr-elf/lib/32/soft-float/libc.a(lib_a-svfprintf.o): in function `_svfprintf_r':
vfprintf.c:(.text._svfprintf_r+0x4ad): undefined reference to `__unorddf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text._svfprintf_r+0x4d1): undefined reference to `__ledf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text._svfprintf_r+0x506): undefined reference to `__ltdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text._svfprintf_r+0x54b): undefined reference to `__unorddf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text._svfprintf_r+0x110f): undefined reference to `__eqdf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text._svfprintf_r+0x1947): undefined reference to `__nedf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: /home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/x86_64-zephyr-elf/lib/32/soft-float/libc.a(lib_a-svfprintf.o): in function `cvt':
vfprintf.c:(.text.cvt+0xdd): undefined reference to `__nedf2'
/home/gromero/zephyr-sdk-0.11.4/x86_64-zephyr-elf/bin/../lib/gcc/x86_64-zephyr-elf/9.2.0/../../../../x86_64-zephyr-elf/bin/ld: vfprintf.c:(.text.cvt+0x112): undefined reference to `__eqdf2'
collect2: error: ld returned 1 exit status
make[2]: *** [zephyr/CMakeFiles/zephyr_prebuilt.dir/build.make:112: zephyr/zephyr_prebuilt.elf] Error 1
make[1]: *** [CMakeFiles/Makefile2:2315: zephyr/CMakeFiles/zephyr_prebuilt.dir/all] Error 2
make: *** [Makefile:94: all] Error 2
FAILED
```
I hope CI will catch it too, but it can take a while to do so, hence I'm sharing it here with you.
You can reproduce it with locally by running, for instance: `$ tests/scripts/task_python_microtvm.sh`
So, even if that works, I'm wondering how to disable it for the MPS2 board only, since CONFIG_FPU=y will be enabled by default anyway for all the boards, and apparently CONFIG_FPU=n is not enough to disable (override) it per board?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org