From: Juho S. <js...@ik...> - 2009-03-24 09:16:15
|
Jean-Claude Beaudoin <jea...@gm...> writes: > Hello SBCL developers, > > Here is an issue that I came across while trying to interface to > the Java Virtual Machine from SBCL on Linux/x86 and MS-Windows XP. > > It concerns "alien" functions that have as their return type either char, > short or an unsigned version of the previous two. Basically, on the > return from an "alien" function of integral return type, SBCL is happy to > pick up the returned value in the %eax register as told to do so by > the ABI standard. The problem is that it does so irrespective of the > size of the return type therefore trusting that the upper part of the > register will be properly populated by the returning function and > SBCL will fail to recover the proper return value if the returning > function leaves some "dirty" bits in the (irrelevant?) upper part of > the %eax register. I believe this was fixed in 1.0.24.48. -- Juho Snellman |