Libc

Dan Nelson dnelson at allantgroup.com
Thu Mar 3 20:44:08 GMT 2005


In the last episode (Mar 03), Ashwin Chandra said:
> if we broke libc, and we cannot do anything at the prompt
> /libexec/ld-elf.so.1: Shared object "libc.so.5" not found..
> 
> what is the quick fix for this?

Use the statically-linked binaries in /rescue/* to mount a remote
filesystem (or floppy or usb drive) and copy libc.so.5 from there.  I
always copy libc.so.5 to libc.so.5.bak before installing a new version,
so I can immediately back it out if it causes problems.

> also what is the correct way of adding names to system calls in libc
> so instead of doing a syscall(445), we can actually call it by name
> like,sys_ash();

cd into /sys/kern, edit syscalls.master, then run "make init_sysent.c".
That will regnerate a bunch of files, some of which are used to
generate the syscall stubs in libc.

-- 
	Dan Nelson
	dnelson at allantgroup.com


More information about the freebsd-hackers mailing list