#How does proot allow glibc binaries on the bionic platform?
9 messages · Page 1 of 1 (latest)
proot doesn't know how binaries are executes, only root filesystem, syscalls, flow of execution and file paths was altered
syscalls are intercepted however to allow execution without restrictions
unlike fakechroot it needs to know what libc was using
because within a proot distro the distro's libc is used, while termux itself just uses the system libc from android
so the underlying syscalls in whichever c library are intercepted, and thus the library type doesnt matter?
Basically yes
regardless what libc is used, the distribution would always be independent from the host with proot since everything is confined
the focus of proot is not about allowing what type of libc to be run instead it just isolates the root filesystem like any other chroot/containers so everything works
workarounds applied during execution flow which is the syscall interception. this is done to prevent seccomp from even triggering by bionic (If I'm certain bionic would contact seccomp for forbidden system calls)
proot is compiled with bionic, that's for sure to provide compatibility with android
what about musl? yes musl works as well. and that is proot just intercepts execution flow of programs to think it's running into a distribution proper