Subject: libtool on NetBSD: bug in shared library versioning

From: Thomas Klausner <[email-masked]>
Date: Sat, 7 Oct 2017 09:39:41 +0200

Hi!

According to the libtool documentation at
https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html,
when adding a function to a shared library, one should bump current
and age by one each and set revision to zero (current because of rule
3, revision because of rule 4, and age because of rule 5).

So if the library versioninfo was 5:0:0, it should become 6:0:1.

When I do that on Linux, I get *.so.5.0.0 -> *.so.5.1.0 which looks
fine to me.

However, when I do that on NetBSD, I get *.so.5.0 -> *.so.6.0 which is
not fine, because it's a quite unnecessary shared library major bump.

That's with libtool-2.4.6.

I've attached a very simple project as a testcase, just unpack it and
run 'autoreconf -fiv; ./configure; make'.

I'm not quite sure why NetBSD needs to be different from Linux at all,
since it has been following the ELF specification for a very long
time.

Please fix this!

Thanks,
 Thomas