GCC 3.1 whines about these two instances of va_arg() and generates
code which calls "int 5" if they are executed.
This workaround works for me, but I don't know if this is the
correct fix so I won't commit it.
In light of this, we may want to change the kernels panic message
for these traps to be more informative.
Poul-Henning
Index: bios.c
===================================================================
RCS file: /home/ncvs/src/sys/i386/i386/bios.c,v
retrieving revision 1.52
diff -u -r1.52 bios.c
--- bios.c 17 Apr 2002 13:06:35 -0000 1.52
+++ bios.c 13 May 2002 13:53:27 -0000
@@ -363,7 +363,11 @@
break;
case 's': /* 16-bit integer */
+#if 0
i = va_arg(ap, u_short);
+#else
+ i = va_arg(ap, u_int);
+#endif
stack -= 2;
break;
@@ -435,7 +439,11 @@
break;
case 's': /* 16-bit integer */
+#if 0
i = va_arg(ap, u_short);
+#else
+ i = va_arg(ap, u_int);
+#endif
*(u_short *)stack = i;
stack += 2;
break;
--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
[EMAIL PROTECTED] | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message