tags 562887 pending thanks sending to the right bug report this time...
On Tue, Jul 05, 2011 at 12:08:23PM +0200, Wesley W. Terpstra wrote: > I also recently tried to get a mipsel debian/sid chroot running under my > amd64/ > squeeze system. As posted by Lisandro earlier this month, it didn't work. ;-) > There are several problems, the most glaring of which the attached patch > fixes. > I'll break down the changes: > > 1. Return -TARGET_ENOSYS instead of -ENOSYS from linux-user/main.c > * Caused the strange 'Level 2 synchronization messages' instead of > correctly > reporting the syscall was missing. > * Made glibc simply fail instead of using older syscalls (one important > example is the new setrlimit syscall which qemu lacks and gnupg/apt needs) > > 2. The mips syscall table wasn't kept in-sync with syscall.c > * utimensat was missing (and the cause of the ENOSYS error Lisandro was > seeing) > * Although I didn't run into problems with any other syscalls, I updated > the > table to match syscall.c as well I could anyway > > 3. Dereferencing a null pointer causes an exception 0xC (EXCP_AdEL) instead of > EXCP_TLBL. This should also trigger a segfault. > > 4. The codes for get/setrlimit do not stay constant between linux target > platforms. I added a conversion method. This is important else programs > (rsyslog, python, ...) can go into a near infinite loop trying to close all > the > file descriptors from 0 to -1. > > 5. 64-bit file system calls were failing on mipsel (ftruncate 888 created > files > 888*4GB large). arm had already work-around code for EABI which also worked > for > mipsel, so I just added the same code path for mips everywhere arm eabi has > it. > Works for both little and big endian. committed your patch to git, and will upload soon. live well, vagrant -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

