Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <BD7773622145634B952E5B54ACA8E349AA2460BB@PUMAIL01.pu.imgtec.org>
Date: Wed, 9 Mar 2016 05:00:42 +0000
From: Jaydeep Patil <Jaydeep.Patil@...tec.com>
To: "Rich Felker (dalias@...c.org)" <dalias@...c.org>
CC: "musl@...ts.openwall.com" <musl@...ts.openwall.com>
Subject: RE: [PATCH] MIPS64 atomic_arch.h Clang complains about input type

Hi Rich,

> If simply using 'long' works, I think that's the cleanest/simplest
> solution. The union is uglier and less obvious what it's doing so I'd
> rather avoid it if we can.

>From e91d41f84822377ef14c675094ad904d89dbd927 Mon Sep 17 00:00:00 2001
From: Jaydeep Patil <jaydeep.patil@...tec.com>
Date: Wed, 9 Mar 2016 04:56:50 +0000
Subject: [PATCH 2/2] [MIPS64] Change a_sc_p for clang

---
arch/mips64/atomic_arch.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/mips64/atomic_arch.h b/arch/mips64/atomic_arch.h
index 8af6500..df35cf6 100644
--- a/arch/mips64/atomic_arch.h
+++ b/arch/mips64/atomic_arch.h
@@ -29,9 +29,9 @@ static inline void *a_ll_p(volatile long *p)
}

#define a_sc_p a_sc_p
-static inline void *a_sc_p(volatile long *p, void *v)
+static inline long a_sc_p(volatile long *p, void *v)
{
-       void *r;
+       long r;
        __asm__ __volatile__ (
                "scd %0, %1"
                : "=r"(r), "=m"(*p) : "0"(v) : "memory");
--
2.1.4

Regards,
Jaydeep

From: Jaydeep Patil
Sent: 08 March 2016 PM 03:40
To: Rich Felker (dalias@...c.org)
Cc: 'musl@...ts.openwall.com'
Subject: RE: [PATCH] MIPS64 atomic_arch.h Clang complains about input type

Added musl@...ts.openwall.com<mailto:musl@...ts.openwall.com> in Cc

From: Jaydeep Patil
Sent: 08 March 2016 PM 03:38
To: Rich Felker (dalias@...c.org)
Subject: [PATCH] MIPS64 atomic_arch.h Clang complains about input type

Hi Rich,

Clang (3.9.0) generates following error for a_sc_p function in atomic_arch.h:

./arch/mips64/atomic_arch.h:37:29: error: unsupported inline asm: input with type 'long *' matching output with type 'int'

Could you please consider this patch to fix it?
-----

>From 3e64da8f5db923a919cd5600e8031c158a0368a2 Mon Sep 17 00:00:00 2001
From: Jaydeep Patil <jaydeep.patil@...tec.com>
Date: Tue, 8 Mar 2016 10:06:38 +0000
Subject: [PATCH] [MIPS64] Fix Clang error

---
arch/mips64/atomic_arch.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/mips64/atomic_arch.h b/arch/mips64/atomic_arch.h
index 49d9884..8af6500 100644
--- a/arch/mips64/atomic_arch.h
+++ b/arch/mips64/atomic_arch.h
@@ -29,9 +29,9 @@ static inline void *a_ll_p(volatile long *p)
}

#define a_sc_p a_sc_p
-static inline int a_sc_p(volatile long *p, void *v)
+static inline void *a_sc_p(volatile long *p, void *v)
{
-       int r;
+       void *r;
        __asm__ __volatile__ (
                "scd %0, %1"
                : "=r"(r), "=m"(*p) : "0"(v) : "memory");
--
2.1.4

Thanks,
Jaydeep


Content of type "text/html" skipped

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.