Daniel P. Berrangé <[email protected]> writes:

> On Wed, Feb 18, 2026 at 10:22:27AM +0100, Markus Armbruster wrote:
>> Daniel P. Berrangé <[email protected]> writes:
>> 
>> > Functions marked with __attribute__((__constructor__)) will be
>> > invoked in linker order. In theory this is well defined, but
>> > in practice, it is hard to determine what this order will be
>> > with the layers of indirection through meson, ninja and the
>> > static libraries QEMU builds.
>> >
>> > Notably, the order currently appears different between Linux
>> > and Windows (as tested with Wine on Linux). This can cause
>> > problems when certain QEMU constructors have a dependancy on
>> > other QEMU constructors.
>> >
>> > To address this define a QEMU_CONSTRUCTOR_EARLY constant which
>> > provides a priority value that will run before other default
>> > constructors. This is to be used for QEMU constructors that
>> > are themselves self-contained, but may be relied upon by other
>> > constructors.
>> >
>> > Reviewed-by: Richard Henderson <[email protected]>
>> > Reviewed-by: Dr. David Alan Gilbert <[email protected]>
>> > Signed-off-by: Daniel P. Berrangé <[email protected]>
>> 
>> I'm no fan of doing non-trivial work in constructors.  We discussed
>> possible alternatives in review of v5.  This is an opinion, not a
>> demand.  And Paolo's opinion counts a lot more here.
>
> I think that it is worth exploring the alternative idea, but not
> as part of this series which is already getting way longer than
> I would like. This constructor usage is trivially removed later
> if we get there.

Fair!

Reply via email to