From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ingo Molnar Subject: Re: [PATCH 5/5 V2] kvm tools: Initialize and use VESA and VNC Date: Wed, 25 May 2011 11:36:11 +0200 Message-ID: <20110525093611.GD28500@elte.hu> References: <1306149553-26793-1-git-send-email-levinsasha928@gmail.com> <1306149553-26793-5-git-send-email-levinsasha928@gmail.com> <20110523113824.GE4042@elte.hu> <4DDB6E55.8080408@redhat.com> <20110524085024.GA31453@elte.hu> <4DDB77E5.4080306@redhat.com> <20110524194019.GA27634@elte.hu> <4DDCBC08.3030507@redhat.com> <20110525083200.GF21552@elte.hu> <4DDCC8A0.8050708@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Sasha Levin , penberg@kernel.org, john@jfloren.net, kvm@vger.kernel.org, asias.hejun@gmail.com, gorcunov@gmail.com, prasadjoshi124@gmail.com To: Paolo Bonzini Return-path: Received: from mx2.mail.elte.hu ([157.181.151.9]:48829 "EHLO mx2.mail.elte.hu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753000Ab1EYJgV (ORCPT ); Wed, 25 May 2011 05:36:21 -0400 Content-Disposition: inline In-Reply-To: <4DDCC8A0.8050708@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: * Paolo Bonzini 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