[GSoC22 Weekly Status report #12&13&14] Working on signal handling functions: Koichi Imai

From: 今井航一 <kotty.0704_at_gmail.com>
Date: Mon, 19 Sep 2022 10:49:38 UTC
Hello,

Thankfully, the deadline was extended, so I could make a lot of progress
over the past few weeks.

First, I've solved the issue with the ioctl system call. As I expected,
this was due to the difference in the macro values used in the ioctl system
call. Values such as IOC_IN, IOC_OUT, TCGETS, TCSETSW are all different
from those of other architectures in powerpc64 so I redefined it in linux.h.

Also, when running ls command in bash, it said "cannot open directory "."
." This was due to the difference in the struct l_newstat used for
open_at(2) and fstat(2). I've fixed this and now I can successfully run
"/bin/ls".

I tried to execute LTP test for the open system call, however, it stopped
with segmentation fault. I've investigated the cause of this failure and
found out that it was because of the signal handling. I haven't yet
implemented the signal handling functions for Linux. Last week I read the
Linux code on signal delivery and have a better understanding of this step,
whose main role is to create the signal frame and initialize the user
registers. I'm now implementing linux_rt_sendsig() which does that for
Linuxulator.

The goal for this week is to implement sendsig and sigreturn functions.

Koichi