Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Mar 2005 14:44:03 -0600
From:      Dan Nelson <dnelson@allantgroup.com>
To:        Ashwin Chandra <ashcs@ucla.edu>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Libc
Message-ID:  <20050303204402.GC72017@dan.emsphone.com>
In-Reply-To: <000c01c5202b$fada24d0$abe243a4@ash>
References:  <000c01c5202b$fada24d0$abe243a4@ash>

next in thread | previous in thread | raw e-mail | index | archive | help
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@allantgroup.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050303204402.GC72017>