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>