Hi, This series extract code related to target errno conversion (to/from host) into a separate header.
While reviewing I noticed EWOULDBLOCK is defined as EAGAIN on alpha/hppa/mips targets, these are the first 3 patches. Then each target errno definitions are extracted to a new header: 'target_errno_defs.h' (patches 4-9). Finally we extract the generic target errno functions to the new 'target_errno.c' file in patches 10-12 Up to here it seems a good refactor. >From here I'm wondering if we could generate some target specific library (linux-user-target.fa?) that could be reused by semihosting code (at least for the Xtensa target). Just an idea... Philippe Mathieu-Daudé (12): linux-user/alpha: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN linux-user/hppa: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN linux-user/mips: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN linux-user/sparc: Rename target_errno.h -> target_errno_defs.h linux-user: Extract target errno to 'target_errno_defs.h' linux-user/alpha: Remove hardcoded tabs (code style) linux-user/alpha: Move errno definitions to 'target_errno_defs.h' linux-user/hppa: Move errno definitions to 'target_errno_defs.h' linux-user/mips: Move errno definitions to 'target_errno_defs.h' linux-user/syscall: Refactor target_to_host_errno_table_init() linux-user/syscall: Remove hardcoded tabs (code style) linux-user: Extract target errno related functions to 'target_errno.h' linux-user/aarch64/target_errno_defs.h | 6 + linux-user/alpha/target_errno_defs.h | 198 ++++++++++++++++ linux-user/alpha/target_syscall.h | 194 ---------------- linux-user/arm/target_errno_defs.h | 6 + linux-user/cris/target_errno_defs.h | 6 + linux-user/errno_defs.h | 3 + linux-user/hexagon/target_errno_defs.h | 6 + linux-user/hppa/target_errno_defs.h | 214 +++++++++++++++++ linux-user/hppa/target_syscall.h | 208 ----------------- linux-user/i386/target_errno_defs.h | 6 + linux-user/m68k/target_errno_defs.h | 6 + linux-user/microblaze/target_errno_defs.h | 6 + linux-user/mips/target_errno_defs.h | 215 ++++++++++++++++++ linux-user/mips/target_syscall.h | 209 ----------------- linux-user/mips64/target_errno_defs.h | 215 ++++++++++++++++++ linux-user/mips64/target_syscall.h | 209 ----------------- linux-user/nios2/target_errno_defs.h | 6 + linux-user/openrisc/target_errno_defs.h | 6 + linux-user/ppc/target_errno_defs.h | 6 + linux-user/riscv/target_errno_defs.h | 6 + linux-user/s390x/target_errno_defs.h | 6 + linux-user/sh4/target_errno_defs.h | 6 + .../{target_errno.h => target_errno_defs.h} | 0 linux-user/sparc/target_syscall.h | 2 - linux-user/target_errno.h | 32 +++ linux-user/x86_64/target_errno_defs.h | 6 + linux-user/xtensa/target_errno_defs.h | 6 + linux-user/syscall.c | 156 +------------ linux-user/target_errno.c | 183 +++++++++++++++ linux-user/meson.build | 1 + 30 files changed, 1153 insertions(+), 976 deletions(-) create mode 100644 linux-user/aarch64/target_errno_defs.h create mode 100644 linux-user/alpha/target_errno_defs.h create mode 100644 linux-user/arm/target_errno_defs.h create mode 100644 linux-user/cris/target_errno_defs.h create mode 100644 linux-user/hexagon/target_errno_defs.h create mode 100644 linux-user/hppa/target_errno_defs.h create mode 100644 linux-user/i386/target_errno_defs.h create mode 100644 linux-user/m68k/target_errno_defs.h create mode 100644 linux-user/microblaze/target_errno_defs.h create mode 100644 linux-user/mips/target_errno_defs.h create mode 100644 linux-user/mips64/target_errno_defs.h create mode 100644 linux-user/nios2/target_errno_defs.h create mode 100644 linux-user/openrisc/target_errno_defs.h create mode 100644 linux-user/ppc/target_errno_defs.h create mode 100644 linux-user/riscv/target_errno_defs.h create mode 100644 linux-user/s390x/target_errno_defs.h create mode 100644 linux-user/sh4/target_errno_defs.h rename linux-user/sparc/{target_errno.h => target_errno_defs.h} (100%) create mode 100644 linux-user/target_errno.h create mode 100644 linux-user/x86_64/target_errno_defs.h create mode 100644 linux-user/xtensa/target_errno_defs.h create mode 100644 linux-user/target_errno.c -- 2.31.1