On 18/03/15 21:29, Antti Kantee wrote:
I don't think there's any reason for pseudo-linking to use -r.  It can
just link the userspace bits much like cc.configure does now.  That
takes care of testing that the "userspace" part of the configuration
works, which is an important part of the "compile-tested" feedback loop
for the user.  The pseudo-linker can then record the names of the
objects and libs and other ld command line parameters into the target
file, from where rumprun picks them up when it does the actual linking.

And just to extend, pseudo-linking also mirrors the paradigm that folks are used to:

You crosscompile your program against the userspace libc (pseudo-linking in our terminology), but can't run it without a kernel instance. Only when you link+boot your kernel and exec your program (rumprun) will your program run. However, your program may or may not run correctly on any specific kernel, e.g. drivers missing. Now, in the case of rump kernels the "drivers missing" part may be more extreme, e.g. file system support completely missing, but it's still the same principle.

Reply via email to