Mark Rutland
4d3b57da15
tools headers: Restore READ_ONCE() C++ compatibility
...
Our userspace <linux/compiler.h> defines READ_ONCE() in a way that clang
doesn't like, as we have an anonymous union in which neither field is
initialized.
WRITE_ONCE() is fine since it initializes the __val field. For
READ_ONCE() we can keep clang and GCC happy with a dummy initialization
of the __c field, so let's do that.
At the same time, let's split READ_ONCE() and WRITE_ONCE() over several
lines for legibility, as we do in the in-kernel <linux/compiler.h>.
Reported-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Reported-by: Sandipan Das <sandipan@linux.vnet.ibm.com>
Tested-by: Sandipan Das <sandipan@linux.vnet.ibm.com>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Fixes: 6aa7de0591 ("locking/atomics: COCCINELLE/treewide: Convert trivial ACCESS_ONCE() patterns to READ_ONCE()/WRITE_ONCE()")
Link: http://lkml.kernel.org/r/20180404163445.16492-1-mark.rutland@arm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2018-04-12 09:30:09 -03:00
..
sched
tools/lib/lockdep: Remove private kernel headers
2017-06-05 09:28:14 +02:00
unaligned
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
atomic.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
bitmap.h
perf tools: Add MEM_TOPOLOGY feature to perf data file
2018-03-08 11:30:46 -03:00
bitops.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
bug.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
compiler-gcc.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
compiler.h
tools headers: Restore READ_ONCE() C++ compatibility
2018-04-12 09:30:09 -03:00
coresight-pmu.h
perf: cs-etm: Fix ETMv4 CONFIGR entry in perf.data file
2017-08-28 17:35:43 +02:00
debug_locks.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
delay.h
tools/lib/lockdep: Remove private kernel headers
2017-06-05 09:28:14 +02:00
err.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
export.h
tools: Restore export.h
2015-08-25 09:44:22 +02:00
filter.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
ftrace.h
tools/lib/lockdep: Remove private kernel headers
2017-06-05 09:28:14 +02:00
gfp.h
tools/lib/lockdep: Remove private kernel headers
2017-06-05 09:28:14 +02:00
hardirq.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
hash.h
tools/headers: Synchronize kernel ABI headers
2017-11-04 09:27:46 +01:00
hashtable.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
interrupt.h
tools/lib/lockdep: Remove private kernel headers
2017-06-05 09:28:14 +02:00
irqflags.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
jhash.h
tools/lib/lockdep: Fix compilation for 4.11
2017-06-05 09:28:09 +02:00
kallsyms.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
kern_levels.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
kernel.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
linkage.h
tools/lib/lockdep: Remove private kernel headers
2017-06-05 09:28:14 +02:00
list.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
lockdep.h
tools/lib/lockdep: Add missing declaration of 'pr_cont()'
2017-12-13 11:17:35 +01:00
log2.h
tools include: Include missing headers for fls() and types in linux/log2.h
2017-04-19 13:01:49 -03:00
module.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
mutex.h
tools/lib/lockdep: Remove private kernel headers
2017-06-05 09:28:14 +02:00
poison.h
Merge branch 'linus' into perf/core, to fix conflicts
2017-11-07 10:30:18 +01:00
proc_fs.h
tools/lib/lockdep: Remove private kernel headers
2017-06-05 09:28:14 +02:00
rbtree.h
tools: Move rbtree.h from tools/perf/
2015-07-05 22:54:01 -03:00
rbtree_augmented.h
tools: Copy rbtree_augmented.h from the kernel
2015-07-05 22:59:05 -03:00
rcu.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
refcount.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
seq_file.h
tools/lib/lockdep: Remove private kernel headers
2017-06-05 09:28:14 +02:00
spinlock.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
stacktrace.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
string.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
stringify.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
time64.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
types.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00