arch, sched/signal: Fix compilation with ENABLE_PARTIAL_SIGNALS=y

Correct build errors when CONFIG_ENABLE_ALL_SIGNALS is not defined

- sched makefiles: Move pending-signal helpers from the ENABLE_ALL_SIGNALS-only
  list to the !DISABLE_ALL_SIGNALS list so signal dispatch is available in
  PARTIAL builds sched: make SIG_PREALLOC_ACTIONS, SIG_ALLOC_ACTIONS and
  SIG_DEFAULT depend on ENABLE_ALL_SIGNALS
- sched: fix ifdefs around pending-signal queue access and signal-mask for
  PARTIAL/DISABLE modes
- arch: gate SYS_signal_handler / _return calls and SYSCALL_LOOKUP(signal)
  with ENABLE_ALL_SIGNALS

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
This commit is contained in:
Jukka Laitinen 2026-06-10 11:14:26 +03:00 committed by Xiang Xiao
parent 0d93f2eb20
commit 7f8f800e63
30 changed files with 147 additions and 102 deletions

View file

@ -519,8 +519,10 @@ struct task_group_s
#ifdef CONFIG_ENABLE_ALL_SIGNALS
sq_queue_t tg_sigactionq; /* List of actions for signals */
sq_queue_t tg_sigpendingq; /* List of pending signals */
#endif /* CONFIG_ENABLE_ALL_SIGNALS */
#ifndef CONFIG_DISABLE_ALL_SIGNALS
sq_queue_t tg_sigpendingq; /* List of pending signals */
#endif /* !CONFIG_DISABLE_ALL_SIGNALS */
#ifdef CONFIG_SIG_DEFAULT
sigset_t tg_sigdefault; /* Set of signals set to the default action */
#endif

View file

@ -217,8 +217,10 @@ SYSCALL_LOOKUP(pwrite, 4)
#endif
SYSCALL_LOOKUP(poll, 3)
SYSCALL_LOOKUP(select, 5)
#ifndef CONFIG_DISABLE_ALL_SIGNALS
SYSCALL_LOOKUP(ppoll, 4)
SYSCALL_LOOKUP(pselect, 6)
#endif
#ifdef CONFIG_EVENT_FD
SYSCALL_LOOKUP(eventfd, 2)
#endif
@ -397,7 +399,9 @@ SYSCALL_LOOKUP(settimeofday, 2)
/* ANSI C signal handling */
#ifdef CONFIG_ENABLE_ALL_SIGNALS
SYSCALL_LOOKUP(signal, 2)
#endif
#ifdef CONFIG_SCHED_INSTRUMENTATION_DUMP
SYSCALL_LOOKUP(sched_note_vprintf_ip, 5)