Mail Archives: djgpp/2000/02/27/05:05:51
Hello,
we would like to use Bill Currie's `serio' module in GPLed and
non-GPLed projects.
Since there is no notice about the license in the source we need
a statement from the author (Hi, Bill!:-) to clarify this point.
GPL with exception for linking (as in `glibc') would be perfect
for us, LGPL would be fine as well, but of course the license is
the author's decision.
(Unfortunately I cannot reach Bill via email; if someone could
email me his current address that would be most helpful.)
And now for two bugs we have encountered:
We could not assemble `serio.s' with current versions of `gas'.
Below is a patch that fixes this problem. We hope that it is
correct.
Second, we think that we have found a bug in _sio_write():
_sio_write:.globl _sio_write
call disable
pushl %eax
pushl %ebx
pushl %ebp
pushl %edi
movl 24(%esp),%ebp
There is the return address (4 bytes) on the stack, and we
are `pushl'ing four registers, so the parameters should be
accessible at 20(%esp). However we try to access them at
24(%esp). Did this routine ever work correctly?
Happy hacking,
Peter
--
http://home.pages.de/~Peter.Gerwinski/ - G-N-U GmbH: http://www.g-n-u.de
Maintainer GNU Pascal - http://home.pages.de/~GNU-Pascal/ - gpc-19990118
GnuPG key fingerprint: 9E7C 0FC4 8A62 5536 1730 A932 9834 65DB 2143 9422
keys: ftp://ftp.gerwinski.de/pub/keys/ - AntiSpam: http://spam.abuse.net
--- serio.s.orig Tue Feb 22 23:50:15 2000
+++ serio.s Tue Feb 22 23:50:23 2000
@@ -225,7 +225,7 @@
ret
1: andl $3,%eax ## incase 16550
# movzbl %al,%eax
- call commFuncTable(,%eax,4) ## call the appropriate comm routine
+ call *commFuncTable(,%eax,4) ## call the appropriate comm routine
## IIR==0 (%al==0) -> msr
## IIR==2 (%al==1) -> xmit
## IIR==4 (%al==2) -> rcv
@@ -997,7 +997,7 @@
inb %dx,%al
shrb $1,%al
jc 3f
- jmp init_port_case(,%eax,4)
+ jmp *init_port_case(,%eax,4)
.align 2
init_port_case:
.long ip_msr
- Raw text -