Index: arch/posix.h ================================================================== --- arch/posix.h +++ arch/posix.h @@ -43,31 +43,53 @@ /* platform flags */ posix_flag_linux_hugetlb = 0x40000 }; enum posix_signal { - /* these numbers appear to be consistent across all - * platforms; we may have to specialize them if this - * assumption turns out to be untrue however. */ posix_signal_hangup = 1, posix_signal_interrupt = 2, posix_signal_quit = 3, posix_signal_illegal = 4, posix_signal_trap = 5, posix_signal_abort = 6, - posix_signal_bus = 7, posix_signal_float = 8, posix_signal_kill = 9, - posix_signal_user_a = 10, - posix_signal_user_b = 12, posix_signal_segfault = 11, posix_signal_pipe = 13, posix_signal_alarm = 14, posix_signal_terminate = 15, - posix_signal_stack_fault = 16, + +#if KVarch == KA_arch_mips + /* for some ungodly reason, some signal + * numbers on MIPS differ from most other + * architectures still in contemporary use */ + posix_signal_bus = 10, + posix_signal_user_a = 16, + posix_signal_user_b = 17, + posix_signal_child = 18, + posix_signal_continue = 25, + posix_signal_stop = 23, + posix_signal_terminal_stop = 24, + posix_signal_tty_input = 26, + posix_signal_tty_output = 27, + posix_signal_io_urgent = 21, + posix_signal_limit_cpu = 30, + posix_signal_limit_space = 31, + posix_signal_vt_alarm = 28, + posix_signal_profile = 29, + posix_signal_winch = 20, + posix_signal_poll = 22, + posix_signal_power = 19, +#else + /* x86, ARM, and most others use these + * signal numbers */ + posix_signal_bus = 7, + posix_signal_user_a = 10, + posix_signal_user_b = 12, posix_signal_child = 17, posix_signal_continue = 18, + posix_signal_stack_fault = 16, posix_signal_stop = 19, posix_signal_terminal_stop = 20, posix_signal_tty_input = 21, posix_signal_tty_output = 22, posix_signal_io_urgent = 23, @@ -76,11 +98,11 @@ posix_signal_vt_alarm = 26, posix_signal_profile = 27, posix_signal_winch = 28, posix_signal_poll = 29, posix_signal_power = 30, - posix_signal_system = 31, +#endif }; #endif #ifdef KFplatform_define_types