Hi, I can build dart sdk to ARMv6 using the release 1.24.3 and running the commands:
git clone https://github.com/dart-lang/sdk.git -b 1.24.3
gclient config --name=sdk --unmanaged [email protected]:dart-lang/sdk.git
gclient sync
cd sdk
./tools/gn.py -m release -a armv6 -t armv6=/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- --arm-float-abi hard --no-goma
./tools/build.py -m release -a armv6 create_sdk
However if I try to run everything to the latest version that I can find on github which is 2.0.0-dev.53.0, I get the following error:
[88/2832] CXX obj/runtime/vm/libdart_vm_jit/source_report.o
FAILED: obj/runtime/vm/libdart_vm_jit/source_report.o
../../buildtools/linux-x64/clang/bin/clang++ -MMD -MF obj/runtime/vm/libdart_vm_jit/source_report.o.d -DTOOLCHAIN_VERSION=fe9a2eb683127f4874267e0349933ccc2ff46bd5 -DNDEBUG -DTARGET_ARCH_ARM -DTARGET_ARCH_ARM_6 -DNDEBUG -DDART_USE_TCMALLOC -DTARGET_OS_LINUX -I../../runtime -I../.. -Igen -I../../third_party/tcmalloc/gperftools/src -march=armv6 -mfloat-abi=hard -fno-exceptions -fPIC -pthread --target=arm-linux-gnueabihf -fcolor-diagnostics -mfpu=vfp -Wall -Wextra -Werror -Wendif-labels -Wno-missing-field-initializers -Wno-unused-parameter -Wno-tautological-constant-compare --sysroot=../../build/linux/debian_wheezy_arm-sysroot -Wheader-hygiene -Wstring-conversion -O3 -fno-ident -fdata-sections -ffunction-sections -g3 -ggdb3 -Werror -Wall -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -Wvla -Wno-conversion-null -Woverloaded-virtual -g3 -ggdb3 -fno-rtti -fno-exceptions -O3 -fvisibility-inlines-hidden -fno-omit-frame-pointer -std=c++14 -fno-rtti -fno-exceptions -c ../../runtime/vm/source_report.cc -o obj/runtime/vm/libdart_vm_jit/source_report.o
In file included from ../../runtime/vm/source_report.cc:5:
In file included from ../../runtime/vm/source_report.h:12:
In file included from ../../runtime/vm/profiler_service.h:14:
In file included from ../../runtime/vm/thread_interrupter.h:10:
../../runtime/vm/signal_handler.h:103:5: error: non-ASM statement in naked function is not supported
register int arg0 asm("r0") = signal;
^
../../runtime/vm/signal_handler.h:92:25: note: attribute is here
static __attribute__((naked)) void SignalHandlerTrampoline(int signal,
^
1 error generated.
[89/2832] CXX obj/runtime/bin/libdart_builtin/crypto_fuchsia.o
[90/2832] CXX obj/runtime/vm/libdart_vm_jit/stack_frame.o
ninja: build stopped: subcommand failed.
ninja -C out/ReleaseXARMV6 create_sdk
BUILD FAILED
What I am doing wrong?
Thanks!
@a-siva, area-vm?
It appears that we are using the clang toolchain instead of the custom toolchain specified with the '-t' option.
Hi @anders-sandholm and @a-siva , I have created a PR for this issue: https://dart-review.googlesource.com/c/sdk/+/54904
Thanks!
Thanks for the PR @manhluong, will have @zanderso review it and merge.
Hi @a-siva I read the answer from @zanderso here: https://dart-review.googlesource.com/c/sdk/+/54904#message-7485637f9e8bb6403e356302e79c642f9fac440f
Thank you for getting back to me! :)
I managed to build the sdk for armv6 without committing to the sdk itself: https://luongbui.com/building-dart-2-sdk-for-armv6-using-docker-and-circleci/
Since there are no plans to support toolchain for now, I will then close this issue :)
Most helpful comment
Thanks for the PR @manhluong, will have @zanderso review it and merge.