From 409046f91d18f4f80f044f2e9c08c0e9e04eeb92 Mon Sep 17 00:00:00 2001 From: Alexey Brodkin Date: Mon, 21 May 2018 13:33:50 +0300 Subject: ARC: Update Linux samples There's no point in keeping samples which are in its essense just a sub-set of multilib toolchain. But still we'd like to cover quite unusual but really existing case - ARC750, i.e. ARC700 with MMU but without so-called atomic instructions (LLOCK/SCOND). To support this HW variation we need: 1) Compile all target binaries without "-matomics" or even better "-mno-atomics" so that's even future-proof (as we may decide to enable "-matomics" by default for Linux targets which is a recommented setup). 2) Configure libc such that it uses Linux-kernel-assisted implementation of atomic operation via "arc_usr_cmpxchg" syscall, see https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=b985fa069187e4c5a7ee84213d9fbead2f219ce5 Signed-off-by: Alexey Brodkin diff --git a/samples/arc-arc700-linux-uclibc/crosstool.config b/samples/arc-arc700-linux-uclibc/crosstool.config index e7b298b..66a0b52 100644 --- a/samples/arc-arc700-linux-uclibc/crosstool.config +++ b/samples/arc-arc700-linux-uclibc/crosstool.config @@ -1,6 +1,6 @@ CT_ARCH_ARC=y CT_TARGET_ALIAS="arc-linux" -CT_TARGET_CFLAGS="-matomic" +CT_TARGET_CFLAGS="-mno-atomic" CT_TARGET_VENDOR="snps" CT_KERNEL_LINUX=y CT_LIBC_UCLIBC=y diff --git a/samples/arc-arc700-linux-uclibc/reported.by b/samples/arc-arc700-linux-uclibc/reported.by index 9019567..a493696 100644 --- a/samples/arc-arc700-linux-uclibc/reported.by +++ b/samples/arc-arc700-linux-uclibc/reported.by @@ -1,3 +1,3 @@ reporter_name="Alexey Brodkin" reporter_url="http://embarc.org" -reporter_comment="ARCompact default Linux toolchain" +reporter_comment="ARCompact uClibc Linux toolchain without atomics" diff --git a/samples/arc-archs-linux-uclibc/crosstool.config b/samples/arc-archs-linux-uclibc/crosstool.config deleted file mode 100644 index b1792e1..0000000 --- a/samples/arc-archs-linux-uclibc/crosstool.config +++ /dev/null @@ -1,7 +0,0 @@ -CT_ARCH_ARC=y -CT_TARGET_ALIAS="arc-linux" -CT_TARGET_CFLAGS="-matomic" -CT_TARGET_VENDOR="snps" -CT_KERNEL_LINUX=y -CT_LIBC_UCLIBC=y -CT_ARCH_CPU="hs38" diff --git a/samples/arc-archs-linux-uclibc/reported.by b/samples/arc-archs-linux-uclibc/reported.by deleted file mode 100644 index 59f194c..0000000 --- a/samples/arc-archs-linux-uclibc/reported.by +++ /dev/null @@ -1,3 +0,0 @@ -reporter_name="Alexey Brodkin" -reporter_url="http://embarc.org" -reporter_comment="ARCv2 default Linux toolchain" -- cgit v0.10.2-6-g49f6