From: <Chr...@ar...> - 2003-11-24 15:42:15
|
Hi, I've tried running the system calls tests from the LTP (ltp-full-20031106) on ARM Linux and a large number of them fail. Most of them fail with exactly the same error: WARN : signal() failed for signal 34. error:22 Invalid argument This appears to happen because lots of the tests call tst_sig from their setup functions. tst_sig then calls tst_setup_signal which calls sigaction. If linuxthreads is present then the following piece of code is inside the __sigaction function in glibc/linuxthreads/signals.c: if (sig == __pthread_sig_restart || sig == __pthread_sig_cancel || (sig == __pthread_sig_debug && __pthread_sig_debug > 0)) { __set_errno (EINVAL); return -1; } The problem is that tst_sig tries to assign an action to a signal with the same number as __pthread_sig_debug. It seems that __pthread_sig_debug is greater than 0 as long as real-time signals are available. Anyone have any ideas on how to fix this in the test harness, and why it hasn't been noticed on other versions of linux with LTP? Thanks. -- Chris Pedley, Graduate Engineer Intellectual Property Products Division ARM Ltd, 110 Fulbourn Rd, Cambridge CB1 9NJ UK Tel : +44 1223 400847 Fax: +44 1223 400410 This e-mail message is intended for the addressee(s) only and may contain information that is the property of, and/or subject to a confidentiality agreement between the intended recipient(s), their organisation and/or the ARM Group of Companies. If you are not an intended recipient of this e-mail message, you should not read, copy, forward or otherwise distribute or further disclose the information in it; misuse of the contents of this e-mail message may violate various laws in your state, country or jurisdiction. If you have received this e-mail message in error, please contact the originator of this e-mail message via e-mail and delete all copies of this message from your computer or network, thank you. |