Fix committed by Nick Hudson, 12/11/2015. See below.
From: "Nick Hudson" <skrll%netbsd.org@localhost>
Subject: PR/50513 CVS commit: src/common/lib/libc/arch/arm/atomic
Date: Fri, 11 Dec 2015 12:41:10 +0000
Module Name: src
Committed By: skrll
Date: Fri Dec 11 12:41:10 UTC 2015
src/common/lib/libc/arch/arm/atomic: atomic_nand_16.S atomic_nand_32.S
atomic_nand_64.S atomic_nand_8.S sync_fetch_and_nand_8.S
Use gcc 4.4 and later operation for nand, i.e.
*ptr = ~(tmp & value) instead of *ptr = ~tmp & value
There was also another bug in sync_fetch_and_nand_8 which I've also fixed.
PR port-arm32/50513: Incorrect logic for atomic_nand_xx.S
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/common/lib/libc/arch/arm/atomic/atomic_nand_16.S \
cvs rdiff -u -r1.3 -r1.4 src/common/lib/libc/arch/arm/atomic/atomic_nand_64.S
cvs rdiff -u -r1.4 -r1.5 \
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.