It seems like this fine-grained level of detail may have been more
suitable for an earlier point in time when the subcomponents were used.
With the advent of shared libraries, there is less motivation to split
things up in that way, and perhaps the decision to have separate version
strings for each of them should be revisited.

Although these symbols are not prototyped in any public header (which in
some sense makes them "not a part of the public/stable API"), they are
accessible at link time on at least some systems, and one might imagine
they are in use somewhere.  This would give some weight to the argument
that, if these symbols are to be removed at all, it should only be done at
a (major) version boundary, when ABI-breaking changes are permissible.

For what it's worth (i.e., not very much), clang
-Wmissing-variable-declarations (implied by -Weverything) complains about
these version strings, since there is no forward declaration in advance of
the actual declaration (and they are not static), never mind that forward
declarations are not required by the C standard.

-Ben

_______________________________________________
openssl-bugs-mod mailing list
[email protected]
https://mta.openssl.org/mailman/listinfo/openssl-bugs-mod

_______________________________________________
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev

Reply via email to