From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: Re: [PATCH] kvm-unit-tests: Fix GCC's 4.8 labels as values for nVMX tests. Date: Mon, 24 Feb 2014 16:58:45 +0100 Message-ID: <530B6C35.2090605@siemens.com> References: <1393255552-7147-1-git-send-email-mv@sec.uni-passau.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit To: Marius Vlad , kvm@vger.kernel.org, Paolo Bonzini Return-path: Received: from goliath.siemens.de ([192.35.17.28]:50647 "EHLO goliath.siemens.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752545AbaBXP6x (ORCPT ); Mon, 24 Feb 2014 10:58:53 -0500 In-Reply-To: <1393255552-7147-1-git-send-email-mv@sec.uni-passau.de> Sender: kvm-owner@vger.kernel.org List-ID: On 2014-02-24 16:25, Marius Vlad wrote: > Commit 3b1274463fa8d074dd3bc77efe25b59a4ddd491e uses GCCs extension > labels as values to handle exceptions, but GCC 4.8 ``mistakingly'' > uses the next body function as a jump label, for functions which > do not return. Fixed by returning a int value for those functions. > > See http://thread.gmane.org/gmane.comp.emulators.kvm.devel/119186 > > Signed-off-by: Marius Vlad > --- > x86/vmx.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/x86/vmx.c b/x86/vmx.c > index fe950e6..0c895af 100644 > --- a/x86/vmx.c > +++ b/x86/vmx.c > @@ -548,7 +548,7 @@ static void exception_handler(struct ex_regs *regs) > regs->rip = (u64)exception_return; > } > > -static int test_for_exception(unsigned int ex, void (*func)(void)) > +static int test_for_exception(unsigned int ex, int (*func)(void)) > { > handle_exception(ex, exception_handler); > exception = false; > @@ -557,23 +557,23 @@ static int test_for_exception(unsigned int ex, void (*func)(void)) > return exception; > } > > -static void do_vmxon_off(void) > +static int do_vmxon_off(void) > { > exception_return = &&resume; > barrier(); > vmx_on(); > vmx_off(); > resume: > - return; > + return 0; > } > > -static void do_write_feature_control(void) > +static int do_write_feature_control(void) > { > exception_return = &&resume; > barrier(); > wrmsr(MSR_IA32_FEATURE_CONTROL, 0); > resume: > - return; > + return 0; > } > > static int test_vmx_feature_control(void) > Argh, getting old. I remembered that issue but forgot that I already had a fix for this queued: http://thread.gmane.org/gmane.comp.emulators.kvm.devel/117866 I don't mind which version to pick, but maybe Paolo has mine already in his queue. Sorry for the duplicate work. Jan -- Siemens AG, Corporate Technology, CT RTC ITP SES-DE Corporate Competence Center Embedded Linux