mailing list of musl libc
 help / color / mirror / code / Atom feed
* RE: [PATCH] MIPS64 atomic_arch.h Clang complains about input type
@ 2016-03-09  5:00 Jaydeep Patil
  2016-03-11  5:19 ` Rich Felker (dalias@libc.org)
  0 siblings, 1 reply; 3+ messages in thread
From: Jaydeep Patil @ 2016-03-09  5:00 UTC (permalink / raw)
  To: Rich Felker (dalias@libc.org); +Cc: musl

[-- Attachment #1: Type: text/plain, Size: 2611 bytes --]

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@imgtec.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@libc.org)
Cc: 'musl@lists.openwall.com'
Subject: RE: [PATCH] MIPS64 atomic_arch.h Clang complains about input type

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

From: Jaydeep Patil
Sent: 08 March 2016 PM 03:38
To: Rich Felker (dalias@libc.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@imgtec.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


[-- Attachment #2: Type: text/html, Size: 11380 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: RE: [PATCH] MIPS64 atomic_arch.h Clang complains about input type
  2016-03-09  5:00 [PATCH] MIPS64 atomic_arch.h Clang complains about input type Jaydeep Patil
@ 2016-03-11  5:19 ` Rich Felker (dalias@libc.org)
  0 siblings, 0 replies; 3+ messages in thread
From: Rich Felker (dalias@libc.org) @ 2016-03-11  5:19 UTC (permalink / raw)
  To: musl

On Wed, Mar 09, 2016 at 05:00:42AM +0000, Jaydeep Patil wrote:
> 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@imgtec.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");

I've committed this fix and also fixed the pointer types to match the
actual types they operate on.

Rich


^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [PATCH] MIPS64 atomic_arch.h Clang complains about input type
@ 2016-03-08 10:09 Jaydeep Patil
  0 siblings, 0 replies; 3+ messages in thread
From: Jaydeep Patil @ 2016-03-08 10:09 UTC (permalink / raw)
  To: Rich Felker (dalias@libc.org); +Cc: musl

[-- Attachment #1: Type: text/plain, Size: 1361 bytes --]

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

From: Jaydeep Patil
Sent: 08 March 2016 PM 03:38
To: Rich Felker (dalias@libc.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@imgtec.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


[-- Attachment #2: Type: text/html, Size: 6088 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-03-11  5:19 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-09  5:00 [PATCH] MIPS64 atomic_arch.h Clang complains about input type Jaydeep Patil
2016-03-11  5:19 ` Rich Felker (dalias@libc.org)
  -- strict thread matches above, loose matches on Subject: below --
2016-03-08 10:09 Jaydeep Patil

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).