diff options
Diffstat (limited to 'results/classifier/118/all/1895471')
| -rw-r--r-- | results/classifier/118/all/1895471 | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/results/classifier/118/all/1895471 b/results/classifier/118/all/1895471 new file mode 100644 index 000000000..5d190dea8 --- /dev/null +++ b/results/classifier/118/all/1895471 @@ -0,0 +1,109 @@ +graphic: 0.979 +virtual: 0.978 +debug: 0.975 +permissions: 0.972 +register: 0.972 +semantic: 0.972 +device: 0.971 +architecture: 0.969 +performance: 0.966 +mistranslation: 0.964 +arm: 0.964 +assembly: 0.962 +socket: 0.961 +PID: 0.957 +kernel: 0.955 +peripherals: 0.954 +user-level: 0.946 +boot: 0.942 +vnc: 0.942 +hypervisor: 0.939 +i386: 0.939 +TCG: 0.938 +ppc: 0.932 +VMM: 0.932 +x86: 0.929 +files: 0.927 +risc-v: 0.920 +network: 0.917 +KVM: 0.913 + +compilation error with clang in util/async.c + +configured with ` CC=clang CXX=clang++ ../configure --target-list=x86_64-softmmu --enable-kvm --enable-curl --enable-debug --enable-jemalloc --enable-fuzzing --enable-sdl` and after make I get the following error related to c11 atomics. I'm using clang because I'm experimenting with fuzzer + +[glitz@archlinux /code/qemu/build]$ ninja -j5 +[479/2290] Compiling C object libqemuutil.a.p/util_async.c.o +FAILED: libqemuutil.a.p/util_async.c.o +clang -Ilibqemuutil.a.p -I. -I.. -Iqapi -Itrace -Iui -Iui/shader -I/usr/include/p11-kit-1 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -Ilinux-headers -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -Werror -std=gnu99 -g -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-typedef-redefinition -Wno-tautological-type-limit-compare -fstack-protector-strong -fsanitize=fuzzer-no-link -iquote /code/qemu/tcg/i386 -isystem /code/qemu/linux-headers -iquote . -iquote /code/qemu -iquote /code/qemu/accel/tcg -iquote /code/qemu/include -iquote /code/qemu/disas/libvixl -pthread -fPIC -MD -MQ libqemuutil.a.p/util_async.c.o -MF libqemuutil.a.p/util_async.c.o.d -o libqemuutil.a.p/util_async.c.o -c ../util/async.c +../util/async.c:79:17: error: address argument to atomic operation must be a pointer to _Atomic type ('unsigned int *' invalid) + old_flags = atomic_fetch_or(&bh->flags, BH_PENDING | new_flags); + ^ ~~~~~~~~~~ +/usr/lib/clang/10.0.1/include/stdatomic.h:138:42: note: expanded from macro 'atomic_fetch_or' +#define atomic_fetch_or(object, operand) __c11_atomic_fetch_or(object, operand, __ATOMIC_SEQ_CST) + ^ ~~~~~~ +../util/async.c:105:14: error: address argument to atomic operation must be a pointer to _Atomic type ('unsigned int *' invalid) + *flags = atomic_fetch_and(&bh->flags, + ^ ~~~~~~~~~~ +/usr/lib/clang/10.0.1/include/stdatomic.h:144:43: note: expanded from macro 'atomic_fetch_and' +#define atomic_fetch_and(object, operand) __c11_atomic_fetch_and(object, operand, __ATOMIC_SEQ_CST) + ^ ~~~~~~ +2 errors generated. +[483/2290] Compiling C object libqemuutil.a.p/util_qemu-error.c.o +ninja: build stopped: subcommand failed. + +On Sun, Sep 13, 2020 at 06:56:12PM -0000, Amey Narkhede wrote: +> configured with ` CC=clang CXX=clang++ ../configure --target- +> list=x86_64-softmmu --enable-kvm --enable-curl --enable-debug --enable- +> jemalloc --enable-fuzzing --enable-sdl` and after make I get the +> following error related to c11 atomics. I'm using clang because I'm +> experimenting with fuzzer +> +> [glitz@archlinux /code/qemu/build]$ ninja -j5 +> [479/2290] Compiling C object libqemuutil.a.p/util_async.c.o +> FAILED: libqemuutil.a.p/util_async.c.o +> clang -Ilibqemuutil.a.p -I. -I.. -Iqapi -Itrace -Iui -Iui/shader -I/usr/include/p11-kit-1 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -Ilinux-headers -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -Werror -std=gnu99 -g -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-typedef-redefinition -Wno-tautological-type-limit-compare -fstack-protector-strong -fsanitize=fuzzer-no-link -iquote /code/qemu/tcg/i386 -isystem /code/qemu/linux-headers -iquote . -iquote /code/qemu -iquote /code/qemu/accel/tcg -iquote /code/qemu/include -iquote /code/qemu/disas/libvixl -pthread -fPIC -MD -MQ libqemuutil.a.p/util_async.c.o -MF libqemuutil.a.p/util_async.c.o.d -o libqemuutil.a.p/util_async.c.o -c ../util/async.c +> ../util/async.c:79:17: error: address argument to atomic operation must be a pointer to _Atomic type ('unsigned int *' invalid) +> old_flags = atomic_fetch_or(&bh->flags, BH_PENDING | new_flags); +> ^ ~~~~~~~~~~ +> /usr/lib/clang/10.0.1/include/stdatomic.h:138:42: note: expanded from macro 'atomic_fetch_or' +> #define atomic_fetch_or(object, operand) __c11_atomic_fetch_or(object, operand, __ATOMIC_SEQ_CST) +> ^ ~~~~~~ +> ../util/async.c:105:14: error: address argument to atomic operation must be a pointer to _Atomic type ('unsigned int *' invalid) +> *flags = atomic_fetch_and(&bh->flags, +> ^ ~~~~~~~~~~ +> /usr/lib/clang/10.0.1/include/stdatomic.h:144:43: note: expanded from macro 'atomic_fetch_and' +> #define atomic_fetch_and(object, operand) __c11_atomic_fetch_and(object, operand, __ATOMIC_SEQ_CST) +> ^ ~~~~~~ +> 2 errors generated. +> [483/2290] Compiling C object libqemuutil.a.p/util_qemu-error.c.o +> ninja: build stopped: subcommand failed. + +This happens when a system header file includes <stdatomic.h>. QEMU's +"atomic.h" conflicts with <stdatomic.h> in that QEMU atomic variables do +not need to be declared _Atomic. + +Please rerun the full clang command-line above from your meson build +directory with -E instead of -c. Then upload the +libqemuutil.a.p/util_async.c.o so we can see why stdatomic.h was +included. + + +Ok. So I attached the util_async.o file below + +On Mon, Sep 14, 2020 at 10:52:16AM -0000, Amey Narkhede wrote: +> Ok. So I attached the util_async.o file below + +It looks like you can work around this issue with ./configure --disable-linux-io-uring. + +I'll investigate what can be done to solve the interference between +<stdatomic.h> and QEMU's "atomic.h" next week. + + +Mailing list discussion about how to fix this: +https://lists.gnu.org/archive/html/qemu-devel/2020-09/msg07392.html + +I think this has been fixed here: +https://gitlab.com/qemu-project/qemu/-/commit/d73415a315471a +... so I'm closing this now. If you still have problems, please open a new ticket in our new issue tracker here: https://gitlab.com/qemu-project/qemu/-/issues + |