diff options
author | gleb <gleb@FreeBSD.org> | 2013-03-25 00:31:14 +0000 |
---|---|---|
committer | gleb <gleb@FreeBSD.org> | 2013-03-25 00:31:14 +0000 |
commit | 6fa7e98571a4ba3ef27bb02c1c5bdf9328da7333 (patch) | |
tree | e9fa302d11d1d8240b8af9d2d682fe2a9a04159c /tools/tools/shlib-compat/README | |
parent | e740fd1ca7e847599c7467d1112041207db09ec0 (diff) | |
download | FreeBSD-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/README | 22 |
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 |