export list symbols

Nicolas Williams Nicolas.Williams at sun.com
Tue Oct 20 11:45:45 EDT 2009


On Tue, Oct 20, 2009 at 11:36:30AM -0400, Zhanna Tsitkova wrote:
> The new libk5crypto.exports was generated based on the presence of the
> APIs from the original  libk5crypto.exports in the kerb public headers
> and link requirements.

What does "link requirements" mean though?  It sounds like you looked
for consumers and found none.  But did you look hard enough?  And are
you sure that "no consumers" implies "not public"?  IMO this requires
more than automated static analysis.  You have to look at each of the
potentially-private interfaces and decide if it should be public in
spite of there being no use for it that you can find.

Conversely, just because you can find one application and/or plugin use
of some symbol doesn't mean it should be exported -- that application's
use of that symbol might be a bug, along with the symbol's being
exported.  If you can find no other such apps, and if you can fix that
app, then you can make that symbol private, IF it really should be
private.

In both cases you need to do a fairly exhaustive search for consumers.
In both cases you need to individualize the decision for each interface.
Automated static analysis is not sufficient for making these kinds of
decisions.

Nico
-- 



More information about the krbdev mailing list