mbox

[PULL,00/38] Linux user for 7.2 patches

Message ID 20220928081517.734954-1-laurent@vivier.eu
State New
Headers show

Pull-request

https://gitlab.com/laurent_vivier/qemu.git tags/linux-user-for-7.2-pull-request

Message

Laurent Vivier Sept. 28, 2022, 8:14 a.m. UTC
The following changes since commit 6160d8ff81fb9fba70f5dad88d43ffd0fa44984c:

  Merge tag 'edgar/xilinx-next-2022-09-21.for-upstream' of https://github.com/edgarigl/qemu into staging (2022-09-22 13:24:28 -0400)

are available in the Git repository at:

  https://gitlab.com/laurent_vivier/qemu.git tags/linux-user-for-7.2-pull-request

for you to fetch changes up to b04997815dc0ead04133c043f1d0098e5db7a7ca:

  linux-user: Add parameters of getrandom() syscall for strace (2022-09-27 13:19:05 +0200)

----------------------------------------------------------------
linux-user pull request 20220928

use 'max' instead of 'qemu32' / 'qemu64'
add  pidfd_open(), pidfd_send_signal() and pidfd_getfd()
Improve madvise(MADV_DONTNEED)
futex syscal rework
strace improvement
HP/PA fixes and improvement
Misc fixes

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

Daniel P. Berrangé (1):
  linux-user: use 'max' instead of 'qemu32' / 'qemu64' by default

Helge Deller (18):
  linux-user: Add missing signals in strace output
  linux-user: Add missing clock_gettime64() syscall strace
  linux-user: Add pidfd_open(), pidfd_send_signal() and pidfd_getfd()
    syscalls
  linux-user: Log failing executable in EXCP_DUMP()
  linux-user/hppa: Use EXCP_DUMP() to show enhanced debug info
  linux-user/hppa: Dump IIR on register dump
  linux-user: Fix strace of chmod() if mode == 0
  linux-user/hppa: Set TASK_UNMAPPED_BASE to 0xfa000000 for hppa arch
  linux-user: Add strace for clock_nanosleep()
  linux-user: Show timespec on strace for futex()
  linux-user: Fix TARGET_PROT_SEM for XTENSA
  linux-user: Add proper strace format strings for
    getdents()/getdents64()
  linux-user/hppa: Add signal trampoline for hppa target
  linux-user/hppa: Drop stack guard page on hppa target
  linux-user/hppa: Increase guest stack size to 80MB for hppa target
  linux-user/hppa: Allow PROT_GROWSUP and PROT_GROWSDOWN in mprotect()
  linux-user/hppa: Fix setup_sigcontext()
  linux-user: Add parameters of getrandom() syscall for strace

Ilya Leoshkevich (6):
  linux-user: Provide MADV_* definitions
  linux-user: Fix madvise(MADV_DONTNEED) on alpha
  linux-user: Implement stracing madvise()
  linux-user: Passthrough MADV_DONTNEED for certain file mappings
  tests/tcg/linux-test: Add linux-madvise test
  linux-user/s390x: Save/restore fpc when handling a signal

Jameson Nash (1):
  linux-user: fix readlinkat handling with magic exe symlink

Jiaxun Yang (2):
  linux-user: Introduce stubs for ELF AT_BASE_PLATFORM
  linux-user: Set ELF_BASE_PLATFORM for MIPS

Peter Maydell (1):
  linux-user: Don't assume 0 is not a valid host timer_t value

Richard Henderson (8):
  linux-user: Combine do_futex and do_futex_time64
  linux-user: Sink call to do_safe_futex
  linux-user: Implement FUTEX_WAKE_BITSET
  linux-user: Convert signal number for FUTEX_FD
  linux-user: Implement PI futexes
  linux-user: Update print_futex_op
  linux-user: Lock log around strace
  linux-user: Log tid for strace

fanwenjie (1):
  linux-user: fix bug about missing signum convert of sigqueue

 accel/tcg/translate-all.c                 |   2 +-
 include/exec/cpu-all.h                    |   6 +
 linux-user/aarch64/target_mman.h          |   1 +
 linux-user/alpha/target_mman.h            |   8 +
 linux-user/arm/target_mman.h              |   1 +
 linux-user/cpu_loop-common.h              |   2 +
 linux-user/cris/target_mman.h             |   1 +
 linux-user/elfload.c                      |  73 ++++-
 linux-user/generic/target_mman.h          |  92 +++++++
 linux-user/hexagon/target_mman.h          |   1 +
 linux-user/hppa/cpu_loop.c                |   6 +-
 linux-user/hppa/signal.c                  |  57 ++--
 linux-user/hppa/target_mman.h             |  15 +
 linux-user/hppa/target_signal.h           |  14 +-
 linux-user/hppa/target_syscall.h          |   2 +
 linux-user/i386/target_elf.h              |   2 +-
 linux-user/i386/target_mman.h             |   1 +
 linux-user/loongarch64/target_mman.h      |   1 +
 linux-user/m68k/target_mman.h             |   1 +
 linux-user/main.c                         |   9 +-
 linux-user/microblaze/target_mman.h       |   1 +
 linux-user/mips/target_mman.h             |   1 +
 linux-user/mips64/target_mman.h           |   1 +
 linux-user/mmap.c                         |  36 ++-
 linux-user/nios2/target_mman.h            |   1 +
 linux-user/openrisc/target_mman.h         |   1 +
 linux-user/ppc/target_mman.h              |   1 +
 linux-user/riscv/target_mman.h            |   1 +
 linux-user/s390x/signal.c                 |   2 +
 linux-user/s390x/target_mman.h            |   1 +
 linux-user/sh4/target_mman.h              |   1 +
 linux-user/signal-common.h                |  46 ++++
 linux-user/signal.c                       |  37 +--
 linux-user/sparc/target_mman.h            |   1 +
 linux-user/strace.c                       | 318 ++++++++++++++++------
 linux-user/strace.list                    |  24 +-
 linux-user/syscall.c                      | 206 ++++++++------
 linux-user/syscall_defs.h                 |   5 +-
 linux-user/x86_64/target_elf.h            |   2 +-
 linux-user/x86_64/target_mman.h           |   1 +
 linux-user/xtensa/target_mman.h           |   1 +
 target/hppa/helper.c                      |   6 +-
 tests/tcg/multiarch/linux/linux-madvise.c |  70 +++++
 43 files changed, 797 insertions(+), 262 deletions(-)
 create mode 100644 linux-user/aarch64/target_mman.h
 create mode 100644 linux-user/alpha/target_mman.h
 create mode 100644 linux-user/arm/target_mman.h
 create mode 100644 linux-user/cris/target_mman.h
 create mode 100644 linux-user/generic/target_mman.h
 create mode 100644 linux-user/hexagon/target_mman.h
 create mode 100644 linux-user/hppa/target_mman.h
 create mode 100644 linux-user/i386/target_mman.h
 create mode 100644 linux-user/loongarch64/target_mman.h
 create mode 100644 linux-user/m68k/target_mman.h
 create mode 100644 linux-user/microblaze/target_mman.h
 create mode 100644 linux-user/mips/target_mman.h
 create mode 100644 linux-user/mips64/target_mman.h
 create mode 100644 linux-user/nios2/target_mman.h
 create mode 100644 linux-user/openrisc/target_mman.h
 create mode 100644 linux-user/ppc/target_mman.h
 create mode 100644 linux-user/riscv/target_mman.h
 create mode 100644 linux-user/s390x/target_mman.h
 create mode 100644 linux-user/sh4/target_mman.h
 create mode 100644 linux-user/sparc/target_mman.h
 create mode 100644 linux-user/x86_64/target_mman.h
 create mode 100644 linux-user/xtensa/target_mman.h
 create mode 100644 tests/tcg/multiarch/linux/linux-madvise.c

Comments

Stefan Hajnoczi Sept. 28, 2022, 8:04 p.m. UTC | #1
Hi Laurent,
There is a build failure for hexagon linux-user. Please take a look (I
didn't verify whether it's caused by your pull request, but I think
the chance is high):

cc -m64 -mcx16 -Ilibqemu-hexagon-linux-user.fa.p -I. -I..
-Itarget/hexagon -I../target/hexagon -I../common-user/host/x86_64
-I../linux-user/include/host/x86_64 -I../linux-user/include
-Ilinux-user -I../linux-user -I../linux-user/hexagon -Iqapi -Itrace
-Iui/shader -I/usr/include/capstone -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -fdiagnostics-color=auto
-Wall -Winvalid-pch -Werror -std=gnu11 -O2 -g -isystem
/builds/qemu-project/qemu/linux-headers -isystem linux-headers -iquote
. -iquote /builds/qemu-project/qemu -iquote
/builds/qemu-project/qemu/include -iquote
/builds/qemu-project/qemu/tcg/i386 -pthread -U_FORTIFY_SOURCE
-D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef
-Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common
-fwrapv -Wold-style-declaration -Wold-style-definition -Wtype-limits
-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers
-Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined
-Wimplicit-fallthrough=2 -Wno-missing-include-dirs
-Wno-shift-negative-value -Wno-psabi -fstack-protector-strong -fPIE
-isystem../linux-headers -isystemlinux-headers -DNEED_CPU_H
'-DCONFIG_TARGET="hexagon-linux-user-config-target.h"'
'-DCONFIG_DEVICES="hexagon-linux-user-config-devices.h"' -MD -MQ
libqemu-hexagon-linux-user.fa.p/linux-user_strace.c.o -MF
libqemu-hexagon-linux-user.fa.p/linux-user_strace.c.o.d -o
libqemu-hexagon-linux-user.fa.p/linux-user_strace.c.o -c
../linux-user/strace.c
../linux-user/strace.c: In function 'print_syscall':
../linux-user/strace.c:3931:23: error: implicit declaration of
function 'gettid'; did you mean 'getgid'?
[-Werror=implicit-function-declaration]
fprintf(f, "%d ", gettid());
^~~~~~
getgid
../linux-user/strace.c:3931:23: error: nested extern declaration of
'gettid' [-Werror=nested-externs]

https://gitlab.com/qemu-project/qemu/-/jobs/3100018258
Laurent Vivier Sept. 28, 2022, 8:23 p.m. UTC | #2
Le 28/09/2022 à 22:04, Stefan Hajnoczi a écrit :
> Hi Laurent,
> There is a build failure for hexagon linux-user. Please take a look (I
> didn't verify whether it's caused by your pull request, but I think
> the chance is high):
> 
> cc -m64 -mcx16 -Ilibqemu-hexagon-linux-user.fa.p -I. -I..
> -Itarget/hexagon -I../target/hexagon -I../common-user/host/x86_64
> -I../linux-user/include/host/x86_64 -I../linux-user/include
> -Ilinux-user -I../linux-user -I../linux-user/hexagon -Iqapi -Itrace
> -Iui/shader -I/usr/include/capstone -I/usr/include/glib-2.0
> -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -fdiagnostics-color=auto
> -Wall -Winvalid-pch -Werror -std=gnu11 -O2 -g -isystem
> /builds/qemu-project/qemu/linux-headers -isystem linux-headers -iquote
> . -iquote /builds/qemu-project/qemu -iquote
> /builds/qemu-project/qemu/include -iquote
> /builds/qemu-project/qemu/tcg/i386 -pthread -U_FORTIFY_SOURCE
> -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
> -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef
> -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common
> -fwrapv -Wold-style-declaration -Wold-style-definition -Wtype-limits
> -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers
> -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined
> -Wimplicit-fallthrough=2 -Wno-missing-include-dirs
> -Wno-shift-negative-value -Wno-psabi -fstack-protector-strong -fPIE
> -isystem../linux-headers -isystemlinux-headers -DNEED_CPU_H
> '-DCONFIG_TARGET="hexagon-linux-user-config-target.h"'
> '-DCONFIG_DEVICES="hexagon-linux-user-config-devices.h"' -MD -MQ
> libqemu-hexagon-linux-user.fa.p/linux-user_strace.c.o -MF
> libqemu-hexagon-linux-user.fa.p/linux-user_strace.c.o.d -o
> libqemu-hexagon-linux-user.fa.p/linux-user_strace.c.o -c
> ../linux-user/strace.c
> ../linux-user/strace.c: In function 'print_syscall':
> ../linux-user/strace.c:3931:23: error: implicit declaration of
> function 'gettid'; did you mean 'getgid'?
> [-Werror=implicit-function-declaration]
> fprintf(f, "%d ", gettid());
> ^~~~~~
> getgid
> ../linux-user/strace.c:3931:23: error: nested extern declaration of
> 'gettid' [-Werror=nested-externs]

It's patch 37/38 "linux-user: Log tid for strace", I think.

I'm going to remove it.

Thanks,
Laurent