On 20.04.21 15:00, Claudio Fontana wrote:
On 4/20/21 2:54 PM, David Hildenbrand wrote:
On 20.04.21 12:36, Claudio Fontana wrote:
now that we protect all calls to the tcg-specific functions
with if (tcg_enabled()), we do not need the TCG stub anymore.

You need compile-time checks, not runtime checks. Any calls have to be
protected by #ifdef, otherwise the compiler might bail out.

This is not true though, tcg_enabled() is #defined as 0 if tcg is not enabled.

#define kvm_enabled()           (0)

Compiler will elide the code if after the preprocessor pass the code is:

if (0) {
}


Just that we are talking about the same thing:

The following will fail to compile

void main(void)
{
        if (0) {
                return hello("Test");
        }
}

You at least need the prototypes. But I guess we still keep them and really only remove the stubs -- which works because the linker will never stumble over them.


--
Thanks,

David / dhildenb


Reply via email to