On Mon, Apr 07, 2003 at 11:40:21PM -0400, Havoc Pennington wrote: > > > > Well, just about any statically linked binary that worked under 8.0 > > won't work for me under 9 due to the TLS libc changes. > > That doesn't count as an ABI change - pretty sure statically linking > to libc means you could break at any time, even due to an errata. > Ditto for using symbols that start with "__" Right, this is because glibc has an internal interface to dynamically loaded libraries that implement things like hostname lookups, username lookups, character conversion (iconv/gconv), etc. If you dynamically link to glibc, you will never have an internal interface mismatch. If you statically link to glibc, it's possible that these internal private interfaces might not match resulting in problems. This is one reason why the LGPL has a clause which requires people who statically link provide a method for relinking a binary against a newer version of the static library. (see LGPL paragraph 6). As long as you're not doing a lot of internationalization, name resolver, or user/group ID functionality you're mostly safe, but there are no guarantees for statically linked apps. Cheers, Matt msw@xxxxxxxxxx -- Matt Wilson Manager, Base Operating Systems Red Hat, Inc.