mbox

[PULL,00/24] linux-user changes

Message ID cover.1466760944.git.riku.voipio@linaro.org
State New
Headers show

Pull-request

git://git.linaro.org/people/riku.voipio/qemu.git tags/pull-linux-user-20160624

Message

Riku Voipio June 24, 2016, 9:52 a.m. UTC
From: Riku Voipio <riku.voipio@linaro.org>

The following changes since commit c7288767523f6510cf557707d3eb5e78e519b90d:

  Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.7-20160623' into staging (2016-06-23 11:53:14 +0100)

are available in the git repository at:

  git://git.linaro.org/people/riku.voipio/qemu.git tags/pull-linux-user-20160624

for you to fetch changes up to 895b3c88e8ed1017bbcf0aa9aaf3d90754494ab5:

  linux-user: Provide safe_syscall for ppc64 (2016-06-24 11:57:35 +0300)

----------------------------------------------------------------
Drop building linux-user targets on HPPA or m68k host systems
and add safe_syscall support for i386, aarch64, arm, ppc64 and
s390x.

----------------------------------------------------------------

Laurent Vivier (7):
  linux-user: add socketcall() strace
  linux-user: add socket() strace
  linux-user: fix clone() strace
  linux-user: update get_thread_area/set_thread_area strace
  linux-user: add missing return in netlink switch statement
  linux-user: fd_trans_host_to_target_data() must process only received
    data
  linux-user: don't swap NLMSG_DATA() fields

Peter Maydell (11):
  linux-user: Avoid possible misalignment in host_to_target_siginfo()
  linux-user: Use __get_user() and __put_user() to handle structs in
    do_fcntl()
  linux-user: Use safe_syscall wrapper for fcntl
  linux-user: Don't use sigfillset() on uc->uc_sigmask
  configure: Don't override ARCH=unknown if enabling TCI
  configure: Don't allow user-only targets for unknown CPU architectures
  user-exec: Delete now-unused hppa and m68k cpu_signal_handler() code
  user-exec: Remove unused code for OSX hosts
  linux-user: Create a hostdep.h for each host architecture
  linux-user: Fix wrong type used for argument to rt_sigqueueinfo
  linux-user: Support F_GETPIPE_SZ and F_SETPIPE_SZ fcntls

Richard Henderson (6):
  linux-user: fix x86_64 safe_syscall
  linux-user: Provide safe_syscall for i386
  linux-user: Provide safe_syscall for arm
  linux-user: Provide safe_syscall for aarch64
  linux-user: Provide safe_syscall for s390x
  linux-user: Provide safe_syscall for ppc64

 Makefile.target                            |   5 +-
 configure                                  |   8 +-
 linux-user/host/aarch64/hostdep.h          |  38 ++
 linux-user/host/aarch64/safe-syscall.inc.S |  75 ++++
 linux-user/host/arm/hostdep.h              |  38 ++
 linux-user/host/arm/safe-syscall.inc.S     |  90 +++++
 linux-user/host/generic/hostdep.h          |  20 -
 linux-user/host/i386/hostdep.h             |  38 ++
 linux-user/host/i386/safe-syscall.inc.S    | 112 ++++++
 linux-user/host/ia64/hostdep.h             |  15 +
 linux-user/host/mips/hostdep.h             |  15 +
 linux-user/host/ppc/hostdep.h              |  15 +
 linux-user/host/ppc64/hostdep.h            |  38 ++
 linux-user/host/ppc64/safe-syscall.inc.S   |  92 +++++
 linux-user/host/s390/hostdep.h             |  15 +
 linux-user/host/s390x/hostdep.h            |  38 ++
 linux-user/host/s390x/safe-syscall.inc.S   |  90 +++++
 linux-user/host/sparc/hostdep.h            |  15 +
 linux-user/host/sparc64/hostdep.h          |  15 +
 linux-user/host/x32/hostdep.h              |  15 +
 linux-user/host/x86_64/safe-syscall.inc.S  |   6 +-
 linux-user/qemu.h                          |   5 +
 linux-user/signal.c                        |  23 +-
 linux-user/strace.c                        | 621 ++++++++++++++++++++++++++++-
 linux-user/strace.list                     |  10 +-
 linux-user/syscall.c                       | 419 ++++++++++---------
 linux-user/syscall_defs.h                  |  24 +-
 user-exec.c                                | 107 +----
 28 files changed, 1657 insertions(+), 345 deletions(-)
 create mode 100644 linux-user/host/aarch64/hostdep.h
 create mode 100644 linux-user/host/aarch64/safe-syscall.inc.S
 create mode 100644 linux-user/host/arm/hostdep.h
 create mode 100644 linux-user/host/arm/safe-syscall.inc.S
 delete mode 100644 linux-user/host/generic/hostdep.h
 create mode 100644 linux-user/host/i386/hostdep.h
 create mode 100644 linux-user/host/i386/safe-syscall.inc.S
 create mode 100644 linux-user/host/ia64/hostdep.h
 create mode 100644 linux-user/host/mips/hostdep.h
 create mode 100644 linux-user/host/ppc/hostdep.h
 create mode 100644 linux-user/host/ppc64/hostdep.h
 create mode 100644 linux-user/host/ppc64/safe-syscall.inc.S
 create mode 100644 linux-user/host/s390/hostdep.h
 create mode 100644 linux-user/host/s390x/hostdep.h
 create mode 100644 linux-user/host/s390x/safe-syscall.inc.S
 create mode 100644 linux-user/host/sparc/hostdep.h
 create mode 100644 linux-user/host/sparc64/hostdep.h
 create mode 100644 linux-user/host/x32/hostdep.h

Comments

Peter Maydell June 24, 2016, 1:36 p.m. UTC | #1
On 24 June 2016 at 10:52,  <riku.voipio@linaro.org> wrote:
> From: Riku Voipio <riku.voipio@linaro.org>
>
> The following changes since commit c7288767523f6510cf557707d3eb5e78e519b90d:
>
>   Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.7-20160623' into staging (2016-06-23 11:53:14 +0100)
>
> are available in the git repository at:
>
>   git://git.linaro.org/people/riku.voipio/qemu.git tags/pull-linux-user-20160624
>
> for you to fetch changes up to 895b3c88e8ed1017bbcf0aa9aaf3d90754494ab5:
>
>   linux-user: Provide safe_syscall for ppc64 (2016-06-24 11:57:35 +0300)
>
> ----------------------------------------------------------------
> Drop building linux-user targets on HPPA or m68k host systems
> and add safe_syscall support for i386, aarch64, arm, ppc64 and
> s390x.
>
> ----------------------------------------------------------------

Unfortunately this doesn't build with clang:

/home/petmay01/linaro/qemu-for-merges/linux-user/syscall.c:5665:24:
error: unused function 'copy_from_user_eabi_flock64'
[-Werror,-Wunused-function]
static inline abi_long copy_from_user_eabi_flock64(struct flock64 *fl,
                       ^
/home/petmay01/linaro/qemu-for-merges/linux-user/syscall.c:5685:24:
error: unused function 'copy_to_user_eabi_flock64'
[-Werror,-Wunused-function]
static inline abi_long copy_to_user_eabi_flock64(abi_ulong target_flock_addr,
                       ^
2 errors generated.

These functions need to be guarded by
#if defined(TARGET_ARM) && TARGET_ABI_BITS == 32
not just #ifdef TARGET_ARM.

Sorry about that...

thanks
-- PMM
Riku Voipio June 26, 2016, 10:34 a.m. UTC | #2
On 24 June 2016 at 16:36, Peter Maydell <peter.maydell@linaro.org> wrote:
> On 24 June 2016 at 10:52,  <riku.voipio@linaro.org> wrote:
>> From: Riku Voipio <riku.voipio@linaro.org>
>>
>> The following changes since commit c7288767523f6510cf557707d3eb5e78e519b90d:
>>
>>   Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.7-20160623' into staging (2016-06-23 11:53:14 +0100)
>>
>> are available in the git repository at:
>>
>>   git://git.linaro.org/people/riku.voipio/qemu.git tags/pull-linux-user-20160624
>>
>> for you to fetch changes up to 895b3c88e8ed1017bbcf0aa9aaf3d90754494ab5:
>>
>>   linux-user: Provide safe_syscall for ppc64 (2016-06-24 11:57:35 +0300)
>>
>> ----------------------------------------------------------------
>> Drop building linux-user targets on HPPA or m68k host systems
>> and add safe_syscall support for i386, aarch64, arm, ppc64 and
>> s390x.
>>
>> ----------------------------------------------------------------
>
> Unfortunately this doesn't build with clang:
>
> /home/petmay01/linaro/qemu-for-merges/linux-user/syscall.c:5665:24:
> error: unused function 'copy_from_user_eabi_flock64'
> [-Werror,-Wunused-function]
> static inline abi_long copy_from_user_eabi_flock64(struct flock64 *fl,
>                        ^
> /home/petmay01/linaro/qemu-for-merges/linux-user/syscall.c:5685:24:
> error: unused function 'copy_to_user_eabi_flock64'
> [-Werror,-Wunused-function]
> static inline abi_long copy_to_user_eabi_flock64(abi_ulong target_flock_addr,
>                        ^
> 2 errors generated.

interestingly I didn't see this error with my (clang-3.5) compile..

> These functions need to be guarded by
> #if defined(TARGET_ARM) && TARGET_ABI_BITS == 32
> not just #ifdef TARGET_ARM.

I've changed the patch in linux-user-for-upstream branch, retest and submit
tomorrow..

Riku