Re: patmgr.c in sound driver for 2.1.5

Hannu Savolainen (hannu@voxware.pp.fi)
Tue, 22 Oct 1996 21:36:05 +0300 (EET DST)


On Tue, 22 Oct 1996, Wayne Roberts wrote:

> i get this error when compiling ossfree37-beta4-linux
>
> gcc -D__KERNEL__ -I/usr/src/v2.1.5/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strength-reduce -pipe -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=586 -c -o patmgr.o patmgr.c
> patmgr.c: In function `pmgr_read':
> patmgr.c:119: fixed or forbidden register was spilled.
> This may be due to a compiler bug or to impossible asm
> statements or clauses.
The enclosed patch should fix it.

Best regards,

Hannu
-----------------------------
Hannu Savolainen (hannu@voxware.pp.fi, hannu@4front-tech.com)
http://personal.eunet.fi/pp/voxware/hannu.html (my home page)
http://www.4Front-Tech.com/oss.html (Open Sound System (OSS))
http://personal.eunet.fi/pp/voxware (OSS Free/TASD/VoxWare)
------------- cut here -------------
*** patmgr.c.old Mon Oct 21 20:29:22 1996
--- patmgr.c Mon Oct 21 20:30:23 1996
***************
*** 104,110 ****

if (mbox[dev] && msg_direction[dev] == A_TO_S)
{
! copy_to_user (&(buf)[0], (char *) mbox[dev], count);
msg_direction[dev] = 0;
ok = 1;
}
--- 104,111 ----

if (mbox[dev] && msg_direction[dev] == A_TO_S)
{
! char *tmp = (char *) mbox[dev];
! copy_to_user (&(buf)[0], tmp, count);
msg_direction[dev] = 0;
ok = 1;
}