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
--------------------------------------------------------------------

Reply via email to