Date: Mon, 1 Nov 2010 15:20:00 +0200 From: Gleb Kurtsou <gleb.kurtsou@gmail.com> To: freebsd-hackers@freebsd.org Subject: ABI compatibility checker for shared libraries Message-ID: <20101101132000.GA4016@tops>
next in thread | raw e-mail | index | archive | help
Hi, I'd like to introduce shlib-compat -- an ABI compatibility checker for shared libraries with symbol versioning. The idea of such tool was discussed on mail lists before. shlib-compat uses debugging info (dwarf) from compiled library to compare definitions of exported symbols, i.e. no sources is necessary. Code quality is pre-alpha, loops in struct/union definitions are not handled properly, values for enums and const/volatile are ignored. Reporting is not yet implemented, it has knob to dump complete symbol definitions in json which is rather useless. It just prints if symbol definitions match. shlib-compat parses libc.so.7 on my system (amd64), but there is a lot warnings about symbols it can't find in dwarf dump (looks like these are implemented in asm). Sources contain several trivial test cases. devel/dwarfdump port is required (as well as objdump which is in base). Source code available on github: http://github.com/glk/shlib-compat Or as tarball: http://github.com/downloads/glk/shlib-compat/shlib-compat-0.1.tar.gz I don't have much free time to continue developing it right now, but feel free to add a ticket on github, submit a patch or fork it. Thanks, Gleb.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101101132000.GA4016>