James, On Monday 12 March 2007 19:08, James Carlson wrote: > Julien Laganier writes: > > It's not the problem of the OS or its ABI > > compatibility if you insist on linking software > > compiled on the new OS with outdated libraries > > supporting the old OS. > > It doesn't matter much whose fault it is; it fails, > it fails "silently" (underlying attempts at > interface versioning won't help this specific > problem), and it blows away the application. > > > It's the probelm of your third party software > > vendor: You should just ask straight to him for > > new versions of these libraries compiled on the > > new system. > > Why should we require that third party software > vendors recompile in order to have their software > continue working on new systems? Isn't avoiding > that problem exactly the point of having ABI > compatibility?
Third party software compiled on the old system continues to work on the new system. That's ABI compatibility. What breaks is linking software compiled on the new system to library compiled on the old system. > We end up in the strange position where old > third-party applications continue to work, but old > third-party libraries may fail depending on the > vintage of the application that uses them. Old third-party applications using old third-party libraries continue to work. Linking software compiled on new systems with old libraries of the old system breaks. AFAIK this is nothing new and happened before the proposed API. > I'm not sure I understand why ABI compatibility > should extend to "applications" alone and not > specifically to libraries. Are libraries less > interesting or easier to recompile? > > (It seems to me that a new "AI_EXTPRESENT" entry in > ai_flags would do the trick, though, in all cases > other than attempted structure copies of > 'addrinfo'.) This is exactly what the draft says: A new flag (AI_EXTFLAGS) is defined for the "ai_flags" flag-set field of the addrinfo data structure to tell the system to look for the "ai_eflags" extended flag-set field in the addrinfo structure. It is defined in the <netdb.h> header: AI_EXTFLAGS /* extended flag-set present */ --julien -------------------------------------------------------------------- IETF IPv6 working group mailing list ipv6@ietf.org Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6 --------------------------------------------------------------------