#How does proot allow glibc binaries on the bionic platform?

9 messages · Page 1 of 1 (latest)

split grove
#

title says all, just a question about proot.

dense phoenix
#

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

glass rampart
#

because within a proot distro the distro's libc is used, while termux itself just uses the system libc from android

split grove
#

so the underlying syscalls in whichever c library are intercepted, and thus the library type doesnt matter?

dense phoenix
#

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