summaryrefslogtreecommitdiffstats
path: root/tools/tools/shlib-compat/README
diff options
context:
space:
mode:
authorgleb <gleb@FreeBSD.org>2013-03-25 00:31:14 +0000
committergleb <gleb@FreeBSD.org>2013-03-25 00:31:14 +0000
commit6fa7e98571a4ba3ef27bb02c1c5bdf9328da7333 (patch)
treee9fa302d11d1d8240b8af9d2d682fe2a9a04159c /tools/tools/shlib-compat/README
parente740fd1ca7e847599c7467d1112041207db09ec0 (diff)
downloadFreeBSD-src-6fa7e98571a4ba3ef27bb02c1c5bdf9328da7333.zip
FreeBSD-src-6fa7e98571a4ba3ef27bb02c1c5bdf9328da7333.tar.gz
Add shlib-compat under tools.
shlib-compat is ABI compatibility checker for shared libraries with symbol versioning.
Diffstat (limited to 'tools/tools/shlib-compat/README')
-rw-r--r--tools/tools/shlib-compat/README22
1 files changed, 22 insertions, 0 deletions
diff --git a/tools/tools/shlib-compat/README b/tools/tools/shlib-compat/README
new file mode 100644
index 0000000..28bb64f
--- /dev/null
+++ b/tools/tools/shlib-compat/README
@@ -0,0 +1,22 @@
+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
OpenPOWER on IntegriCloud