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.
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"