On Sat, Feb 11, 2012 at 2:30 AM, Jan Kratochvil <[email protected]> wrote: > On Fri, 10 Feb 2012 23:13:09 +0100, Arun Sharma wrote: >> # 4. If any interfaces have been added, removed, or changed since the >> # last update, increment current, and set revision to 0. >> >> Since we added new interfaces (eg: fast unwinding interface on x64), I >> incremented current. > > You should follow all the steps in that list and that would IMO mean HEAD > should use SOVERSION=8:0:1 which will create:
You probably meant 7:0:1 above? > libunwind.so -> libunwind.so.7.1.0 > libunwind.so.7 -> libunwind.so.7.1.0 > libunwind.so.7.1.0 > still having > DT_SONAME Library soname: [libunwind.so.7] > I checked the revision history since v0.99 and the only interface change that could potentially break existing programs I could find is commit 1787a2f. It's been around for a couple of years now. > >> Having said that I don't recall any obvious ABI breakages. It'd be >> interesting to know if setting up a symlink makes gdb happy. > > This would make GDB happy and ldconfig/ld.so would still choose 7.1 even if > some 7.0 exists on the system (IMO improbable with packaging nowadays anyway). > > If one runs program really using 7.1 interfaces with 7.0 libunwind.so then the > symbols will not be found and the program aborts on its call (due to the > default lazy resolution). This is not perfect but this is IMO how libtool is > designed. I can also add trying to dlopen libunwind.so.8 first into GDB as > the ABI compatibility issues are known if you want to keep .8 there. > Since libunwind.so.8 has been out there for ~5 months, changing back to 7.0.1 would probably break more things than it'd fix. It'd be great if GDB can dlopen libunwind.so.8 first and then fallback to older versions. -Arun _______________________________________________ Libunwind-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/libunwind-devel
