diff options
| author | Peter Maydell | 2011-02-22 14:02:26 +0100 |
|---|---|---|
| committer | Aurelien Jarno | 2011-03-06 19:06:27 +0100 |
| commit | 0c1592d93585ddce572a71a77534ca765c5f5d34 (patch) | |
| tree | 16845c422b05e50130611c851d4e7ac2f115b046 /docs | |
| parent | hw/realview: Wire up the MMC card status (diff) | |
| download | qemu-0c1592d93585ddce572a71a77534ca765c5f5d34.tar.gz qemu-0c1592d93585ddce572a71a77534ca765c5f5d34.tar.xz qemu-0c1592d93585ddce572a71a77534ca765c5f5d34.zip | |
linux-user: Fix large seeks by 32 bit guest on 64 bit host
When emulating a 32 bit Linux user-mode program on a 64 bit target
we implement the llseek syscall in terms of lseek. Correct a bug
which meant we were silently casting the result of host lseek()
to a 32 bit integer as it passed through get_errno() and thus
throwing away the top half.
We also don't try to store the result back to userspace unless
the seek succeeded; this matches the kernel behaviour.
Thanks to Eoghan Sherry for identifying the problem and suggesting
a solution.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'docs')
0 files changed, 0 insertions, 0 deletions
