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]

Reply via email to