Il sab 11 nov 2023, 03:40 Michael Tokarev ha scritto: > Hi! > > It looks like --disable-pie configure, which uses -fno-pie -no-pie flags > for the compiler, is broken: it does not not tell the *linker* about the > option, so the link fails (at least on debian bookworm): > > /usr/bin/ld: libcommon.fa.p/hw_core_cpu-common.c.o: relocation R_X86_64_32 > against `.rodata' can not be used when making a PIE object; recompile with > -fPIE > /usr/bin/ld: failed to set dynamic section sizes: bad value > > This is failing for *all* executables, including tests, qemu-img, etc. > Is this new in bookworm? And also can you compare 8.0, 8.1 and 8.2? Paolo The following change fixes it: > > diff --git a/meson.build b/meson.build > index a9c4f28247..0b7ca45d48 100644 > --- a/meson.build > +++ b/meson.build > @@ -278,7 +278,8 @@ endif > # tries to build an executable instead of a shared library and fails. So > # don't add -no-pie anywhere and cross fingers. :( > if not get_option('b_pie') > - qemu_common_flags += cc.get_supported_arguments('-fno-pie', '-no-pie') > + qemu_common_flags += cc.get_supported_arguments('-fno-pie') > + qemu_ldflags += cc.get_supported_arguments('-no-pie') > endif > > if not get_option('stack_protector').disabled() > > >