On Fri, Jul 28, 2017 at 01:39:50PM +0200, Florian Weimer wrote: > binutils 2.29 introduced an optimization which requires that in the > general case, applications and libraries linking against a DSO will have > to be rebuilt when the DSO change the implementation of functions (i.e., > changes to a function body can change ABI). This is how many native > programming languages (such as Ada, Haskell/GHC, Go, Rust) handle DSOs, > but it's a material change for C and C++. Can you elaborate on what sort of change in the function body would affect the ABI and thus require relinking ? Having to relink every time the internal impl of an ABI changes would seem to throw away one of the main benefits of using shared libs, over static libs and be pretty unpleasant as a result. Libvirt, for example, has never changed any existing public API contract or definition in 10 years of releases, but we do often change the internal impl of these APIs. Apps have never had to relink against libvirt.so upon new release, so I would not want that to see that change. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx