mirror of
https://github.com/opnsense/src.git
synced 2026-04-23 23:28:37 -04:00
|
|
||
|---|---|---|
| .. | ||
| test | ||
| Makefile.sysfake | ||
| makesyscalls-fake.sh | ||
| README | ||
| shlib-compat-dirs.sh | ||
| shlib-compat.py | ||
ABI compatibility checker for shared libraries with symbol versioning.
shlib-compat uses dwarf debugging symbols to recreate definitions of
exported symbols, including function arguments and structural types.
The shlib-compat.py script requires devel/dwarfdump port to be
installed.
Syscalls in libc are implemented as assembly stubs and thus have no
debugging symbols attached. To enable sysfake stubs rebuild libc
adding the following to /etc/make.conf:
.if ${.CURDIR:M/usr/src/lib/libc}
.include "../../tools/tools/shlib-compat/Makefile.sysfake"
.endif
To compare libc.so versions compiled with sysfake stubs:
./shlib-compat.py -v --alias-prefix __sysfake_ \
--alias-prefix __sysfake_freebsd8_ \
--exclude-ver FBSDprivate \
--out-orig out-orig.c --out-new out-new.c libc.so.7.orig libc.so.7.new