Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 May 2008 17:43:10 +0100
From:      "Bruce M. Simpson" <bms@FreeBSD.org>
To:        Marcel Moolenaar <marcel@FreeBSD.org>
Cc:        cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/ia64/include atomic.h
Message-ID:  <483D8B9E.9060909@FreeBSD.org>
In-Reply-To: <200805281641.m4SGf3ix052304@repoman.freebsd.org>
References:  <200805281641.m4SGf3ix052304@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Marcel Moolenaar wrote:
> ...the cmpxchg instruction was comparing
>   0x0000000080000000LU to 0xffffffff80000000LU and obviously didn't
>   perform the exchange.
>   
>   ...Subsequent locking requests found rw_state non-zero
>   and the thread in question entered the kernel and block indefinitely.


Man, this must have been a total nightmare to track down. I guess the 
bigger question is, why was gcc sign-extending a constant marked U in 
the first place?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?483D8B9E.9060909>