On 11/05/2017 02:03 AM, Waldemar Brodkorb wrote:
Hi Alexey,

the attached patch fixes at least 3 test suite errors for me.
tst-cancel20/21/4.
Tested with latest 2017.09 ARC binutils/gcc.

Okay to apply?

best regards
  Waldemar

Are you sure it is the list above.

I presume, https://tests.embedded-test.org/uClibc-ng/1.0.26/REPORT.arcv2.libc.uClibc-ng-1.0.26
didn't have this fix and yet the tests mentioned above are PASS there.

The reason I ask is because in my experiments here with ARC GNU 2017.09 + uClibc with and w/o this patch (actually not exactly same, but similar - attached), I don't see any consistent PASS(es) There are some changes to say tst-kill6, tst-oncex3 etc but if you run them 5 times they seem to PASS/FAIL randomly - in either setups

So this patch is not fixing anything IMO. We need to really fix the inherent race in these tests.

BTW I did post a test case fix for tst-cancel2 and that is now consistently 
PASS.

-Vineet

>From 055c35bed580c8946feaba4ba8a1f61b550f48f6 Mon Sep 17 00:00:00 2001
From: Cupertino Miranda <cmira...@synopsys.com>
Date: Tue, 21 Feb 2017 17:05:22 +0100
Subject: [PATCH] Patch to clobber blink that works.

---
 libc/sysdeps/linux/arc/bits/syscalls.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libc/sysdeps/linux/arc/bits/syscalls.h b/libc/sysdeps/linux/arc/bits/syscalls.h
index 248ef78..92c1035 100644
--- a/libc/sysdeps/linux/arc/bits/syscalls.h
+++ b/libc/sysdeps/linux/arc/bits/syscalls.h
@@ -68,6 +68,7 @@ extern int __syscall_error (int);
 #define INLINE_SYSCALL(name, nr_args, args...)				\
 ({									\
 	register int __res __asm__("r0");				\
+	__asm__ volatile ("" : : : "blink");  \
 	__res = INTERNAL_SYSCALL_NCS(__NR_##name, , nr_args, args);	\
 	if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P ((__res), ), 0))	\
 	{								\
@@ -81,6 +82,7 @@ extern int __syscall_error (int);
 #define INLINE_SYSCALL_NCS(num, nr_args, args...)			\
 ({									\
 	register int __res __asm__("r0");				\
+	__asm__ volatile ("" : : : "blink");  \
 	__res = INTERNAL_SYSCALL_NCS(num, , nr_args, args);		\
 	if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P ((__res), ), 0))	\
 	{								\
-- 
2.9.0

_______________________________________________
devel mailing list
devel@uclibc-ng.org
https://mailman.uclibc-ng.org/cgi-bin/mailman/listinfo/devel

Reply via email to