On Fri, May 3, 2024 at 8:15 PM Waldemar Brodkorb wbx@openadk.org wrote:
Hi Max, Max Filippov wrote,
On Fri, May 3, 2024 at 5:55 AM Waldemar Brodkorb wbx@openadk.org wrote:
Now I am booting up the system in Qemu with following command: qemu-system-xtensa -nographic -M lx60 -cpu dc233c -kernel qemu-xtensa-initramfspiggyback-kernel
Now every command f.e. ls or ps works but gives a Illegal Instruction in dmesg after exit(0).
[ 12.727280] Illegal Instruction in 'hush' (pid = 26, pc = 0x01d52e30) [ 57.203598] Illegal Instruction in 'hush' (pid = 29, pc = 0x01d52e30)
Looks like that kernel is built without call0 userspace ABI support. CONFIG_USER_ABI_CALL0_ONLY or CONFIG_USER_ABI_CALL0_PROBE need to be set in the kernel config for correct signal delivery to call0 processes.
You are right again. Now I could successfully run the test suite: Total skipped: 7 Total failed: 10 Total passed: 241
A lot of NPTL tests are using fork(), should we disable them for noMMU to get at least some coverage for the NPTL/TLS code in noMMU FDPIC case? At the moment all NPTL cases are disabled in OpenADK in the noMMU case.
How did you test NPTL/TLS?
I grepped for the tests explicitly using fork and added them to the TESTS_DISABLED in the test/nptl/Makefile.in, and also added there the tests that internally time out, got the following list:
+TESTS_DISABLED := tst-atfork1 \ + tst-atfork2 \ + tst-atfork2mod \ + tst-barrier2 \ + tst-basic4 \ + tst-cancel16 \ + tst-cancel21 \ + tst-cancel4 \ + tst-cancel5 \ + tst-cancelx16 \ + tst-cancelx21 \ + tst-cancelx4 \ + tst-cond12 \ + tst-cond13 \ + tst-cond4 \ + tst-cond6 \ + tst-cpuclock1 \ + tst-cputimer3 \ + tst-exec2 \ + tst-exec3 \ + tst-exec4 \ + tst-flock2 \ + tst-fork1 \ + tst-fork2 \ + tst-fork3 \ + tst-fork4 \ + tst-getpid3 \ + tst-mqueue1 \ + tst-mqueue3 \ + tst-mqueue5 \ + tst-mutex4 \ + tst-mutex9 \ + tst-rwlock12 \ + tst-rwlock4 \ + tst-sem3 \ + tst-sem4 \ + tst-signal1 \ + tst-signal2 \ + tst-spin2 \ + tst-tsd6
On top of that a few tests expect termination with a signal, they show as failed, but in fact do pass. I also wrote a couple local tests for the cases where I had bugs earlier.