2015.06.23 09:22 "Re: [Tiff] 4.0.4beta: Symbol differences on Unix and Windows", by Ondřej Surý
On Fri, Jun 19, 2015, at 00:15, Bob Friesenhahn wrote:
Looking over the exported symbols between Unix (FreeBSD/ELF with nm -D) and Windows (the libtiff.def list), there are a lot of missing symbols on Windows. I've attached a list showing which are missing. Would it be possible to update the symbol list for 4.0.4? Some symbols are likely not supposed to be exported on Unix (expecially those without a TIFF or _TIFF prefix) and should probably be ignored.
Linux/FreeBSD/ELF exports all non-static symbols by default and this is usually unwanted. In this case, Windows is ahead of default ELF linkage.
Wait, what? You can either use GCC Visibility or linker version script that are already in use for GNU ld in libtiff/Makefile.am. It's just the libtiff.map that's broken, since it exports all symbols by default since it contains instructions to export all symbols:
$ cat libtiff/libtiff.map
$ cat libtiff/libtiffxx.map
So it's just a matter of syncing the libtiff.def with libtiff.map file (probably by generating libtiff.map from libtiff.def).
Ondřej Surý <email@example.com>
Knot DNS (https://www.knot-dns.cz/) – a high-performance DNS server