On Tue, Jun 12, 2012 at 11:24:53AM -0700, Chase Douglas wrote: > If I understand the comment correctly, this can be distilled to:
> App calls func(), which is defined by both lib1 and lib2. lib1 and lib2 > have different ABIs. App crashes when linked in the wrong order because > the called func() may have a different ABI than the app expects. Not quite. It's: app calls lib1_func(), defined only in lib1, and lib1_func() calls cxx_helper_func(), which exists in both lib1 and lib2 with different ABIs because it's generated at compile time and is sensitive to the standard in use. So resolution of cxx_helper_func() either needs to somehow be kept local to the library calling it (which is what -Wl,-B,symbolic-functions should help with), or you can't safely mix libraries that have different targets even if they aren't intentionally exporting C++ interfaces. -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer http://www.debian.org/ [email protected] [email protected]
signature.asc
Description: Digital signature
-- ubuntu-devel mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
