This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: What does LAV_CURRENT mean backwards compatibility of LD_AUDIT interface?


I would agree and say that the implications are:

1) in the code fragment in the man page and in the example audit libraries in glibc we shouldn't just abort when the version passed into la_version() doesn't match the compiled in LAV_CURRENT. It should return the version of the audit interface that it was designed to use. Suggesting in the documentation that audit libraries simply return the version parameter that was passed into them seems ill advised.

2) at some point in the future if we have a not completely backward compatible change to the audit interface, we need to decide what to do when and if an audit library returns a version that glibc doesn't want to support anymore. However, I think that the odds of this happening before we have a successor to Linux and ELF are vanishingly unlikely.

-ben

> On Mar 19, 2015, at 2:00 PM, Roland McGrath <roland@hack.frob.com> wrote:
> 
> That wording says to me that no actual binary compatibility between
> versions of the interface is required beyond the la_version interface being
> there in every version.  Once la_version has returned, rtld knows what
> version of the interface that module supports and so the set of other
> symbols it looks up and the ABI for each can depend on that.  A newer rtld
> is obliged to keep supporting older versions of the interface when such a
> version number is returned by a module's la_version.  But that in no way
> means that a new version must be a superset of its predecessor or anything
> like that.  Am I missing something?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]