Commit 1c8e10e0 authored by Alexey Brodkin's avatar Alexey Brodkin Committed by Peter Korsgaard
Browse files

uclibc: get rid of ARC's uClibc fork



For quite some time all ARC changes have been pushed upstream.
So both uClibc master branch and uClibc-ng have full ARC support
including the most recent changes.

I.e. finally we have reached the point when there's no need in
Synopsys fork of uClibc on GitHub and it will soon be obsoleted and
removed at some pint of time.

Now since vanilla uClibc hasn't seen any releases for many years we cannot
really use it for ARC. Fortunately there exists uClibc-ng and Waldemar
cuts releases regularly - that works perfectly fine for us.

That patch removes all mentions of ARC's uClibc which in turn makes
uClibc-ng default libc for ARC.

Cc: Waldemar Brodkorb <wbx@openadk.org>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: default avatarAlexey Brodkin <abrodkin@synopsys.com>
Reviewed-by: default avatarArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-By: default avatarWaldemar Brodkorb <wbx@uclibc-ng.org>
Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent 4ca1cba1
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -29,13 +29,6 @@ choice
		select BR2_UCLIBC_VERSION_SUPPORTS_NPTL if !BR2_x86_i386
		depends on !(BR2_arc || BR2_mips64 || BR2_mips64el || BR2_xtensa)

	config BR2_UCLIBC_VERSION_ARC_GIT
		bool "uClibc Git ARC"
		select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS
		select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD
		select BR2_UCLIBC_VERSION_SUPPORTS_NPTL
		depends on BR2_arc

	config BR2_UCLIBC_VERSION_NG
		bool "uClibc-ng"
		select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS if BR2_m68k
@@ -64,7 +57,6 @@ config BR2_USE_UCLIBC_SNAPSHOT
config BR2_UCLIBC_VERSION_STRING
	string
	default "0.9.33.2"	if BR2_UCLIBC_VERSION_0_9_33
	default "arc-2015.06" if BR2_UCLIBC_VERSION_ARC_GIT
	default "1.0.8"		if BR2_UCLIBC_VERSION_NG
	default BR2_USE_UCLIBC_SNAPSHOT	if BR2_UCLIBC_VERSION_SNAPSHOT

@@ -72,7 +64,6 @@ config BR2_UCLIBC_CONFIG
	string "uClibc configuration file to use?"
	default "package/uclibc/uClibc-0.9.33.config" if BR2_UCLIBC_VERSION_0_9_33
	default "package/uclibc/uClibc-ng.config" if BR2_UCLIBC_VERSION_NG
	default "package/uclibc/uClibc-snapshot.config" if BR2_UCLIBC_VERSION_ARC_GIT
	default "package/uclibc/uClibc-snapshot.config" if BR2_UCLIBC_VERSION_SNAPSHOT
	help
	  Some people may wish to use their own modified uClibc configuration
+0 −722

File deleted.

Preview size limit exceeded, changes collapsed.

+0 −81
Original line number Diff line number Diff line
From 9b79d39b027f0a44215c4c13f7fd23b710727c37 Mon Sep 17 00:00:00 2001
From: Alexey Brodkin <abrodkin@synopsys.com>
Date: Thu, 16 Jul 2015 11:38:29 +0300
Subject: [PATCH] ARCv2: update memset() so it could be used without double
 load/stores

Existing version of memset() relies on existence of 64-bit load/stores.
While ARC HS38 may not have those instructions implemented in SoC.

Proposed implementation checks if "-mno-ll64" option was passed to gcc
(for ARCv2 "-mll64" is set implicitly by default) by checking __LL64__
definition and if it is not defined uses 32-bit load/stores.

Signed-off-by: Claudiu Zissulescu <claziss@synopsys.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
---
 libc/string/arc/arcv2/memset.S | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/libc/string/arc/arcv2/memset.S b/libc/string/arc/arcv2/memset.S
index d076ad1..0918d37 100644
--- a/libc/string/arc/arcv2/memset.S
+++ b/libc/string/arc/arcv2/memset.S
@@ -52,6 +52,7 @@ ENTRY(memset)
 	lpnz	@.Lset64bytes
 	;; LOOP START
 	PREWRITE(r3, 64)	;Prefetch the next write location
+#ifdef __LL64__
 	std.ab	r4, [r3, 8]
 	std.ab	r4, [r3, 8]
 	std.ab	r4, [r3, 8]
@@ -60,16 +61,45 @@ ENTRY(memset)
 	std.ab	r4, [r3, 8]
 	std.ab	r4, [r3, 8]
 	std.ab	r4, [r3, 8]
+#else
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+#endif
 .Lset64bytes:
 
 	lsr.f	lp_count, r2, 5 ;Last remaining  max 124 bytes
 	lpnz	.Lset32bytes
 	;; LOOP START
 	prefetchw [r3, 32]	;Prefetch the next write location
+#ifdef __LL64__
 	std.ab	r4, [r3, 8]
 	std.ab	r4, [r3, 8]
 	std.ab	r4, [r3, 8]
 	std.ab	r4, [r3, 8]
+#else
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+	st.ab	r4, [r3, 4]
+#endif
 .Lset32bytes:
 
 	and.f	lp_count, r2, 0x1F ;Last remaining 31 bytes
-- 
2.4.3
+0 −3
Original line number Diff line number Diff line
@@ -15,9 +15,6 @@ BR_NO_CHECK_HASH_FOR += $(UCLIBC_SOURCE)
else ifeq ($(BR2_UCLIBC_VERSION_NG),y)
UCLIBC_SITE = http://downloads.uclibc-ng.org/releases/$(UCLIBC_VERSION)
UCLIBC_SOURCE = uClibc-ng-$(UCLIBC_VERSION).tar.xz
else ifeq ($(BR2_UCLIBC_VERSION_ARC_GIT),y)
UCLIBC_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,uClibc,$(UCLIBC_VERSION))
UCLIBC_SOURCE = uClibc-$(UCLIBC_VERSION).tar.gz
else
UCLIBC_SITE = http://www.uclibc.org/downloads
UCLIBC_SOURCE = uClibc-$(UCLIBC_VERSION).tar.xz