[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/2] linux-user: Drop direct use of openat etc s
From: |
Claudio Fontana |
Subject: |
Re: [Qemu-devel] [PATCH 0/2] linux-user: Drop direct use of openat etc syscalls |
Date: |
Wed, 5 Jun 2013 13:17:41 +0200 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20130509 Thunderbird/17.0.6 |
On 02.06.2013 00:35, Peter Maydell wrote:
> The linux-user syscall emulation layer currently supports the openat
> family of syscalls via two mechanisms: simply calling the corresponding
> libc functions, and making direct syscalls. Since glibc has supported
> these functions since at least glibc 2.5, there's no real need to
> retain the (essentially untested) direct syscall fallback code, so
> this patchset simply deletes it.
>
> This allows us to remove some ifdeffery that was attempting to disable
> provision of some of the syscalls if the host didn't seem to support
> them, which in some cases was actually wrong. For example where there
> are several flavours of the syscall, we only need one of them, not
> necessarily the exact one the guest has, as with the fstatat* calls.
> And if the guest needs the futimesat() syscall we can provide it
> via glibc, even if that syscall is deprecated or not provided in the
> host (because the host implements utimensat instead). AArch64 in
> particular hits the last of these, which resulted in a compile
> failure due to an unused function, because the syscall implementation's
> ifdef was inconsistent with the ifdef used to define the sys_futimesat()
> function.
>
> Basically, removing the ugly direct syscall access seemed nicer
> than trying to fix up and render consistent the broken ifdefs :-)
>
> [RHEL5 has glibc2.5 and provides these functions. RHEL4 did not
> but we don't build on RHEL4 anyhow because its glib is too old.
> uClibc provides these functions.]
>
> Peter Maydell (2):
> linux-user: Drop direct use of openat etc syscalls
> configure: Drop CONFIG_ATFILE test
>
> configure | 26 ------
> linux-user/syscall.c | 218
> ++++++--------------------------------------------
> 2 files changed, 24 insertions(+), 220 deletions(-)
>
Tested on aarch64 with Foundation v8.
Tested-by: Claudio Fontana <address@hidden>