On 8/10/22 14:29, Mathieu Desnoyers wrote:
- By design, selftests/rseq and selftests/kvm are parallel. It's going to
introduce
unnecessary dependency for selftests/kvm to use selftests/rseq/librseq.so. To
me,
it makes the maintainability even harder.
In terms of build system, yes, selftests/rseq and selftests/kvm are side-by-side,
and I agree it is odd to have a cross-dependency.
That's where moving rseq.c to tools/lib/ makes sense.
- What selftests/kvm needs is rseq-thread-pointer.h, which accounts for ~5% of
functionalities, provided by selftests/rseq/librseq.so.
I've never seen this type of argument used to prevent using a library before, except
on extremely memory-constrained devices, which is not our target here.
I agree.
To me, the main argument against moving librseq to tools/lib is a
variant of the build-system argument, namely that recursive Make
sucks[1] and selftests/kvm right now does not use tools/lib. So, for a
single-file library, it may be simply not worth the hassle.
On the other hand, if "somebody else" does the work, I would have no
problem with having selftests/kvm depend on tools/lib, not at all.
Thanks,
Paolo
[1] Kbuild is a marvel that makes it work, but it works because there
are no such cross-subdirectory dependencies and anyway
tools/testing/selftests does not use Kbuild.