On Tue, May 19, 2020 at 07:28:46AM -0500, Eric W. Biederman wrote: > Andreas Schwab <schwab@xxxxxxxxxxxxxx> writes: > > > On Mai 19 2020, Eric W. Biederman wrote: > > > >> I am wondering if there are source trees for libc4 or libc5 around > >> anywhere that we can look at to see how usage of uselib evolved. > > > > libc5 is available from archive.debian.org. > > > > http://archive.debian.org/debian-archive/debian/pool/main/libc/libc/libc_5.4.46.orig.tar.gz > > Interesting. > > It appears that the old a.out code to make use of uselib remained in > the libc5 sources but it was all conditional on the being compiled not > to use ELF. > > libc5 did provide a wrapper for the uselib system call. > > It appears glibc also provides a wrapper for the uselib system call > named: uselib@GLIBC_2.2.5. > > I don't see a glibc header file that provides a declaration for uselib > though. > > So the question becomes did anyone use those glibc wrappers. The only software I could find was ski, the ia64 instruction set emulator, which apparently used to make use of this and when glibc removed they did: #define uselib(libname) syscall(__NR_uselib, libname) but they only define it for the sake of the internal syscall list they maintain so not actively using it. I just checked, ski is available on Fedora 31 and Fedora has USELIB disabled. Codesearch on Debian yields no users that actively use the syscall for anything. Christian