tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: [GSoC] Emulating missing Linux syscalls project questions

> The Linux Test Project ( would help
> not only with finding missing syscalls, but also with finding bugs /
> missing functionality in the existing Linux emul code.

Yes this is a great idea!  Although my interpretation of the project
idea is that the expectations are that the binary is functional by the
end of the summer.  I obviously will not be able to implement all
missing syscalls by the end of the summer, so I would have to draw an
arbitrary line as to what I would/would not try to implement.

Which brings me to my next comment.

> It would be nice to have this running on NetBSD.

In what way exactly does the LTP not function on NetBSD?  I tried it
today and (after a few hours of troubleshooting) seemingly got it to work.

Some assorted notes about what I did/what it took to get it to work:

- I only looked at system call tests (so for all I know the other types
of tests could be what you're referring to).

- The actual testcases themselves can be trivially (just add -static)
statically compiled on any Linux distro and can be run individually just
fine, but the rest of the testing infrastructure cannot (because glibc).
(Most of my time spent on this was dealing with glibc versions)

- Otherwise you can compile everything normally on OpenSUSE 15.4, and
with suse15_base installed the binaries will *almost* just work.

- The ltp-pan binary does depend on /dev/kmsg (which doesn't currently
exist in the emul code), but only writes to it, so touch
/emul/linux/dev/kmsg is sufficient to trick it into working.

- As expected, lots of tests fail, but also lots of tests pass!  I
haven't looked to hard into the failing tests (yet), but I didn't find
anything too surprising in the list of failing tests.

Overall, I did enjoy going down this rabbit hole!  It definitely taught
me a few new things about how the emul subsystem behaves.


Home | Main Index | Thread Index | Old Index