From 6fa7e98571a4ba3ef27bb02c1c5bdf9328da7333 Mon Sep 17 00:00:00 2001 From: gleb Date: Mon, 25 Mar 2013 00:31:14 +0000 Subject: Add shlib-compat under tools. shlib-compat is ABI compatibility checker for shared libraries with symbol versioning. --- tools/tools/shlib-compat/README | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 tools/tools/shlib-compat/README (limited to 'tools/tools/shlib-compat/README') 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 -- cgit v1.1