public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] 2.2.19pre hfmodem/refclock.c asm statement error
@ 2001-03-09 17:54 Jari Ruusu
  0 siblings, 0 replies; only message in thread
From: Jari Ruusu @ 2001-03-09 17:54 UTC (permalink / raw)
  To: linux-kernel; +Cc: Thomas Sailer, Alan Cox, Jari Anttonen

drivers/char/hfmodem/refclock.c fails to compile with "gcc version 2.95.2
20000220 (Debian GNU/Linux)", but compiles normally with "gcc version
2.7.2.3". GNU assembler 2.9.5 was used in both cases. Here is the error
message:

refclock.c: In function `hfmodem_refclock_current':
refclock.c:136: Invalid `asm' statement:
refclock.c:136: fixed or forbidden register 0 (ax) was spilled for class AREG.

Here is the offending line:
__asm__("mull %2" : "=d" (tmp2), "=a" (tmp4) : "m" (scale_rdtsc), "1" (tmp0) : "ax");

It appears that above code declares register eax as output and globbered
register simultaneously. My gcc docs say: "You may not write a clobber
description in a way that overlaps with an input or output operand." Below
is a patch against 2.2.19pre16 to fix this. Please consider applying.

Regards,
Jari Ruusu <jari.ruusu@pp.inet.fi>

--- linux-2.2.19pre16/drivers/char/hfmodem/refclock.c	Tue Jan  4 20:12:14 2000
+++ linux/drivers/char/hfmodem/refclock.c	Fri Mar  9 17:59:31 2001
@@ -133,7 +133,7 @@
 			"subl %2,%%eax\n\t"
 			"sbbl %3,%%edx\n\t" : "=&a" (tmp0), "=&d" (tmp1) 
 			: "m" (dev->clk.starttime_lo), "m" (dev->clk.starttime_hi));
-		__asm__("mull %2" : "=d" (tmp2), "=a" (tmp4) : "m" (scale_rdtsc), "1" (tmp0) : "ax");
+		__asm__("mull %2" : "=d" (tmp2), "=a" (tmp4) : "m" (scale_rdtsc), "1" (tmp0));
 		__asm__("mull %1" : "=a" (tmp3) : "m" (scale_rdtsc), "a" (tmp1) : "dx");
 		curtime = tmp2 + tmp3;
 		goto time_known;

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2001-03-09 17:58 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-03-09 17:54 [PATCH] 2.2.19pre hfmodem/refclock.c asm statement error Jari Ruusu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox