/* See LICENSE file for copyright and license details. */ /* This file is included from ../libsyscalls_get_signals.c */ #include "../generated/linux-signals.h" static enum libsyscalls_error get_linux_signals(enum libsyscalls_arch arch, const struct libsyscalls_named_number **sigs_out, size_t *nsigs_out, int *are_signed_out) { #define CASE(ARCH)\ *sigs_out = linux_signals_for_##ARCH;\ *nsigs_out = ELEMSOF(linux_signals_for_##ARCH);\ goto out switch ((int)arch) { case LIBSYSCALLS_ARCH_ALPHA_LE: case LIBSYSCALLS_ARCH_ALPHA_BE: #ifdef LIST_LINUX_SIGNALS_FOR_ALPHA CASE(alpha); #else break; #endif case LIBSYSCALLS_ARCH_AMD64: case LIBSYSCALLS_ARCH_AMD64_X32: case LIBSYSCALLS_ARCH_I386: #ifdef LIST_LINUX_SIGNALS_FOR_X86 CASE(x86); #else break; #endif case LIBSYSCALLS_ARCH_ARM_OABI_LE: case LIBSYSCALLS_ARCH_ARM_OABI_BE: case LIBSYSCALLS_ARCH_ARM_EABI_LE: case LIBSYSCALLS_ARCH_ARM_EABI_BE: #ifdef LIST_LINUX_SIGNALS_FOR_ARM CASE(arm); #else break; #endif case LIBSYSCALLS_ARCH_IA64_LE: case LIBSYSCALLS_ARCH_IA64_BE: #ifdef LIST_LINUX_SIGNALS_FOR_IA64 CASE(ia64); #else break; #endif case LIBSYSCALLS_ARCH_M68K: #ifdef LIST_LINUX_SIGNALS_FOR_M68K CASE(m68k); #else break; #endif case LIBSYSCALLS_ARCH_MICROBLAZE_32_LE: case LIBSYSCALLS_ARCH_MICROBLAZE_32_BE: #ifdef LIST_LINUX_SIGNALS_FOR_MICROBLAZE_32 CASE(microblaze); #else break; #endif case LIBSYSCALLS_ARCH_MIPS_O32_LE: case LIBSYSCALLS_ARCH_MIPS_O32_BE: case LIBSYSCALLS_ARCH_MIPS_N32_LE: case LIBSYSCALLS_ARCH_MIPS_N32_BE: case LIBSYSCALLS_ARCH_MIPS_N64_LE: case LIBSYSCALLS_ARCH_MIPS_N64_BE: #ifdef LIST_LINUX_SIGNALS_FOR_MIPS CASE(mips); #else break; #endif case LIBSYSCALLS_ARCH_PARISC_32: case LIBSYSCALLS_ARCH_PARISC_64: #ifdef LIST_LINUX_SIGNALS_FOR_PARISC CASE(parisc); #else break; #endif case LIBSYSCALLS_ARCH_POWERPC_32_LE: case LIBSYSCALLS_ARCH_POWERPC_32_BE: case LIBSYSCALLS_ARCH_POWERPC_64_LE: case LIBSYSCALLS_ARCH_POWERPC_64_BE: case LIBSYSCALLS_ARCH_POWERPC_NOSPU_LE: case LIBSYSCALLS_ARCH_POWERPC_NOSPU_BE: case LIBSYSCALLS_ARCH_POWERPC_SPU_LE: case LIBSYSCALLS_ARCH_POWERPC_SPU_BE: #ifdef LIST_LINUX_SIGNALS_FOR_POWERPC CASE(powerpc); #else break; #endif case LIBSYSCALLS_ARCH_S390_32: case LIBSYSCALLS_ARCH_S390_64: #ifdef LIST_LINUX_SIGNALS_FOR_S390 CASE(s390); #else break; #endif case LIBSYSCALLS_ARCH_SH_LE: case LIBSYSCALLS_ARCH_SH_BE: #ifdef LIST_LINUX_SIGNALS_FOR_SH CASE(sh); #else break; #endif case LIBSYSCALLS_ARCH_SPARC_32: case LIBSYSCALLS_ARCH_SPARC_64_LE: case LIBSYSCALLS_ARCH_SPARC_64_BE: #ifdef LIST_LINUX_SIGNALS_FOR_SPARC CASE(sparc); #else break; #endif case LIBSYSCALLS_ARCH_XTENSA_LE: case LIBSYSCALLS_ARCH_XTENSA_BE: #ifdef LIST_LINUX_SIGNALS_FOR_XTENSA CASE(xtensa); #else break; #endif default: return LIBSYSCALLS_E_ARCHNOSUP; } *sigs_out = linux_signals_for_generic; *nsigs_out = ELEMSOF(linux_signals_for_generic); out: *are_signed_out = 0; return LIBSYSCALLS_E_OK; #undef CASE }