05.10.2024 19:22, Michael Tokarev wrote:
05.10.2024 19:20, Richard Henderson wrote:
No, it doesn't fail to link.  That's why it took so long to notice.

It does here quite often during bisection between 9.0 and 9.1.
Lemme see..

So, it is just 2 steps:

$ git bisect start v9.0.0 v9.1.0   # at 2529ea2d561ea9fe359fb19ebdcfeb8b6cddd219
$ configure --target-list=x86_64-softmmu
$ ninja qemu-system-x86_64   # this one will work
$ git bisect bad    # at 544595e73007c824b7435b52519cc578586783a6
$ ninja qemu-system-x86_64   # this breaks:

[2/2] Linking target qemu-system-x86_64
FAILED: qemu-system-x86_64
cc -m64 @qemu-system-x86_64.rsp
/usr/bin/ld: libqemu-x86_64-softmmu.fa.p/accel_tcg_cputlb.c.o: in function 
`atomic16_read_rw':
/build/qemu/master/host/include/x86_64/host/atomic128-ldst.h:51: undefined 
reference to `__sync_val_compare_and_swap_16'
/usr/bin/ld: /build/qemu/master/host/include/x86_64/host/atomic128-ldst.h:51: 
undefined reference to `__sync_val_compare_and_swap_16'
/usr/bin/ld: /build/qemu/master/host/include/x86_64/host/atomic128-ldst.h:51: 
undefined reference to `__sync_val_compare_and_swap_16'
/usr/bin/ld: /build/qemu/master/host/include/x86_64/host/atomic128-ldst.h:51: 
undefined reference to `__sync_val_compare_and_swap_16'
/usr/bin/ld: /build/qemu/master/host/include/x86_64/host/atomic128-ldst.h:51: 
undefined reference to `__sync_val_compare_and_swap_16'
/usr/bin/ld: libqemu-x86_64-softmmu.fa.p/accel_tcg_cputlb.c.o: in function 
`atomic16_set':
/build/qemu/master/host/include/x86_64/host/atomic128-ldst.h:67: undefined 
reference to `__sync_bool_compare_and_swap_16'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

So it requires second step.
configure is re-run at the second build. So we're holding
some data between rebuilds which we shouldn't.

/mjt


Reply via email to