mailing list of musl libc
 help / color / mirror / code / Atom feed
* musl mips fails to compile with gcc 3.4.6
@ 2012-10-10 21:51 John Spencer
  2012-10-11  0:07 ` Rich Felker
  0 siblings, 1 reply; 3+ messages in thread
From: John Spencer @ 2012-10-10 21:51 UTC (permalink / raw)
  To: musl

src/aio/aio_readwrite.c: In function `io_thread':
./arch/mips/pthread_arch.h:7: error: impossible constraint in `asm'
__asm__ __volatile__ (".word 0x7c03e83b" : "=v" (self) );


#ifdef __clang__

-->

#if defined(__clang__) || (defined(__GNUC__) && (__GNUC__ < 4))

fixes it


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

* Re: musl mips fails to compile with gcc 3.4.6
  2012-10-10 21:51 musl mips fails to compile with gcc 3.4.6 John Spencer
@ 2012-10-11  0:07 ` Rich Felker
  2012-10-18 23:09   ` John Spencer
  0 siblings, 1 reply; 3+ messages in thread
From: Rich Felker @ 2012-10-11  0:07 UTC (permalink / raw)
  To: musl

On Wed, Oct 10, 2012 at 11:51:25PM +0200, John Spencer wrote:
> src/aio/aio_readwrite.c: In function `io_thread':
> ../arch/mips/pthread_arch.h:7: error: impossible constraint in `asm'
> __asm__ __volatile__ (".word 0x7c03e83b" : "=v" (self) );
> 
> 
> #ifdef __clang__
> 
> -->
> 
> #if defined(__clang__) || (defined(__GNUC__) && (__GNUC__ < 4))
> 
> fixes it

I have a potential alternate fix: using

register pthread_t self __asm__("$3");

and "=r"(self) as the constraint. This should work on any gcc version
without incurring the extra cost of the clang-workaround. And it will
work with clang too if they ever fix their register allocator to work
with this kind of code.

Can you confirm whether or not it works?

Rich


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

* Re: musl mips fails to compile with gcc 3.4.6
  2012-10-11  0:07 ` Rich Felker
@ 2012-10-18 23:09   ` John Spencer
  0 siblings, 0 replies; 3+ messages in thread
From: John Spencer @ 2012-10-18 23:09 UTC (permalink / raw)
  To: musl

On 10/11/2012 02:07 AM, Rich Felker wrote:
> register pthread_t self __asm__("$3");
>
> and "=r"(self) as the constraint.
yeah that compiles.



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

end of thread, other threads:[~2012-10-18 23:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-10 21:51 musl mips fails to compile with gcc 3.4.6 John Spencer
2012-10-11  0:07 ` Rich Felker
2012-10-18 23:09   ` John Spencer

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).