qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] fstat bug on armeb stll exists!


From: Thiemo Seufer
Subject: Re: [Qemu-devel] fstat bug on armeb stll exists!
Date: Sun, 2 Dec 2007 07:12:00 +0000
User-agent: Mutt/1.5.17 (2007-11-01)

Claudio Scordino wrote:
> Hi all,
>
>   more than one year ago we sent a patch on this mailing list to fix a 
> problem of the fstat syscall for armeb. See
>
> http://lists.gnu.org/archive/html/qemu-devel/2006-09/msg00137.html
>
> We found the bug compiling a Linux kernel for armeb on scratchbox.
>
> Qemu seemed to ignore the fact that in big endian systems the fields
> st_blocks and its padding are swapped (to allow future expansion of the 
> field,) so the fix consisted only in swapping the two fields (only in big 
> endian systems, of course).
>
> The patch just changed  qemu/linux-user/syscall_defs.h to
>
> #ifndef TARGET_WORDS_BIGENDIAN
>        target_ulong    st_blocks;
>        target_ulong    __pad4;
> #else
>       target_ulong    __pad4;
>       target_ulong    st_blocks;
> #endif

AFAICS this assumption matches neither the glibc 2.6 nor the Linux
2.6.23 definitions. There is, however, an endianness difference in
handling the st_dev and st_rdev fields which is not handled properly
in QEMU.

I think this needs a separate struct stat definition for (non-EABI)
big endian ARM.


Thiemo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]