* Paolo Bonzini <[email protected]> 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
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html