Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Nov 2010 18:14:18 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r215823 - head/sys/i386/isa
Message-ID:  <201011251814.oAPIEI4M012917@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Thu Nov 25 18:14:18 2010
New Revision: 215823
URL: http://svn.freebsd.org/changeset/base/215823

Log:
  Use unambiguous inline assembly to load a float variable.  GNU as
  silently converts 'fld' to 'flds', without taking the actual variable
  type into account (!), but clang's integrated assembler rightfully
  complains about it.
  
  Discussed with:	cperciva

Modified:
  head/sys/i386/isa/npx.c

Modified: head/sys/i386/isa/npx.c
==============================================================================
--- head/sys/i386/isa/npx.c	Thu Nov 25 16:21:56 2010	(r215822)
+++ head/sys/i386/isa/npx.c	Thu Nov 25 18:14:18 2010	(r215823)
@@ -938,7 +938,7 @@ fpu_clean_state(void)
 	 * the x87 stack, but we don't care since we're about to call
 	 * fxrstor() anyway.
 	 */
-	__asm __volatile("ffree %%st(7); fld %0" : : "m" (dummy_variable));
+	__asm __volatile("ffree %%st(7); flds %0" : : "m" (dummy_variable));
 }
 #endif /* CPU_ENABLE_SSE */
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201011251814.oAPIEI4M012917>