Date: Fri, 30 Nov 2012 16:01:18 -0800 From: Yuri <yuri@rawbw.com> To: hackers@freebsd.org Subject: How to overload the system call in the userland program? Message-ID: <50B948CE.5080304@rawbw.com>
index | next in thread | raw e-mail
I am looking into one library (google-perftools) that attempts to
overload sbrk(2).
In Linux libc translates calls, ex. sbrk -> __sbrk (in libc), so one can
define their own version, call extern __sbrk and it works.
FreeBSD programs connect to the symbol sbrk@@FBSD_1.0
So what is the way to overload the system call like this would be in linux?:
extern "C" void* __sbrk(ptrdiff_t increment);
extern "C" void* sbrk(intptr_t increment) {
return__sbrk(increment);
}
Yuri
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?50B948CE.5080304>
