On 07/19/2017 05:08 PM, Emilio G. Cota wrote:
Convert all existing readers of tb->cflags to tb_cflags, so that we use atomic_read and therefore avoid undefined behaviour in C11.Note that the remaining setters/getters of the field are protected by tb_lock, and therefore do not need conversion. Luckily all readers access the field via 'tb->cflags' (so no foo.cflags, bar->cflags in the code base), which makes the conversion easily scriptable: FILES=$(git grep 'tb->cflags' target include/exec/gen-icount.h | \ cut -f 1 -d':' | sort | uniq) perl -pi -e 's/([^>])tb->cflags/$1tb_cflags(tb)/g' $FILES perl -pi -e 's/([a-z]*)->tb->cflags/tb_cflags($1->tb)/g' $FILES Then manually fixed the few errors that checkpatch reported. Compile-tested for all targets. Suggested-by: Richard Henderson<[email protected]> Signed-off-by: Emilio G. Cota<[email protected]> ---
Reviewed-by: Richard Henderson <[email protected]> r~
