Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

ABI compatibility checker for shared libraries with symbol versioning

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages