> -----Original Message----- > From: Alex Bennée [mailto:alex.ben...@linaro.org] > Sent: Friday, July 27, 2018 7:45 PM > To: Pavel Dovgalyuk > Cc: 'Pavel Dovgalyuk'; qemu-devel@nongnu.org; kw...@redhat.com; > peter.mayd...@linaro.org; > war2jor...@live.com; crosthwaite.pe...@gmail.com; boost.li...@gmail.com; > quint...@redhat.com; > ciro.santi...@gmail.com; jasow...@redhat.com; m...@redhat.com; > zuban...@gmail.com; > arm...@redhat.com; maria.klimushenk...@ispras.ru; kra...@redhat.com; > thomas.dull...@googlemail.com; pbonz...@redhat.com; mre...@redhat.com; > dgilb...@redhat.com; > r...@twiddle.net > Subject: Re: [PATCH v5 23/24] replay: add BH oneshot event for block layer > > > Pavel Dovgalyuk <dovga...@ispras.ru> writes: > > >> From: Alex Bennée [mailto:alex.ben...@linaro.org] > >> > Replay is capable of recording normal BH events, but sometimes > >> > there are single use callbacks scheduled with aio_bh_schedule_oneshot > >> > function. This patch enables recording and replaying such callbacks. > >> > Block layer uses these events for calling the completion function. > >> > Replaying these calls makes the execution deterministic. > >> > > >> > Signed-off-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> > >> > >> I'm not sure what about this commit causes the compile breakage I'm > >> seeing: > >> > >> LINK aarch64-linux-user/qemu-aarch64 > >> ../libqemuutil.a(cpu-get-icount.o):(.bss+0x0): multiple definition of > >> `use_icount' > >> exec.o:(.bss+0x58): first defined here > >> collect2: error: ld returned 1 exit status > >> Makefile:199: recipe for target 'qemu-aarch64' failed > >> make[1]: *** [qemu-aarch64] Error 1 > >> Makefile:481: recipe for target 'subdir-aarch64-linux-user' failed > >> make: *** [subdir-aarch64-linux-user] Error 2 > >> > >> It only occurs on a make clean && make -j on that commit though. It's > >> hidden if you do incremental builds. > > > > make distclean works for me in such cases. > > Hmmm > > make distclean > ./configure > make > > And I get: > > LINK aarch64-linux-user/qemu-aarch64 > ../libqemuutil.a(cpu-get-icount.o):(.bss+0x0): multiple definition of > `use_icount' > exec.o:(.bss+0x58): first defined here > collect2: error: ld returned 1 exit status > Makefile:199: recipe for target 'qemu-aarch64' failed > make[1]: *** [qemu-aarch64] Error 1 > Makefile:481: recipe for target 'subdir-aarch64-linux-user' failed > make: *** [subdir-aarch64-linux-user] Error 2
That's strange. As I understand, linux-user emulators does not include block layer. They also don't include record/replay. Why then block- and record-related stub affects the build? Pavel Dovgalyuk