Re: [PATCH 5/5 V2] kvm tools: Initialize and use VESA and VNC

Ingo Molnar
2011-05-25T09:36:21Z

* Paolo Bonzini <pbonzini@redhat.com> wrote:

> > So you claim that ((section)) is 'not portable' but concede that
> > it does in fact not port to one of the most widely used
> > compilers.
>
> Can you please avoid trimming messages? I said "the differences
> between MSVC and GCC can easily be abstracted with a macro". This
> is not unlike other differences between the two compilers (e.g.
> __forceinline vs. the ((always_inline)) attribute), and it is not
> true of linker scripts.

So ((constructor)) is unportable but it can be wrapped. So can other
portability problems be solved, such as linker scripts can be written
for non-ELF targets (should that ever become necessary), so what's
your point?

We want to use ELF sections in the future *anyway* to make tools/kvm/
scale even better, for example to use alternative instruction fixups
(for which no GCC extension exists) so a linker script will be there
anyway. ( We might also want to use sections to speed up exception
handling in tools/kvm/. )

Fact is that neither ((section)) *NOR* ((constructor)) is portable:
*both* are GCC extensions - while you falsely claimed that
((constructor)) was somehow portable and that ((section)) was an
'unportable trick'. Let me quote your initial claim:

>>>>> I know portability is not relevant to tools/kvm/, but using
>>>>> unportable tricks for the sake of using them is a direct way to
>>>>> NIH. But oh well all of tools/kvm/ is NIH after all. :)

Btw., that NIH claim was rather unfair and uncalled for as well.

Thanks,

Ingo