AWARE SYSTEMS
TIFF and LibTiff Mail List Archive

Thread

2015.06.16 14:39 "[Tiff] CMake support for building libtiff", by Roger Leigh
2015.06.16 17:51 "Re: [Tiff] CMake support for building libtiff", by Lee Howard
2015.06.17 03:16 "Re: [Tiff] CMake support for building libtiff", by Bob Friesenhahn
2015.06.17 22:38 "Re: [Tiff] CMake support for building libtiff", by Roger Leigh
2015.06.18 22:08 "Re: [Tiff] CMake support for building libtiff", by Roger Leigh
2015.06.19 11:54 "Re: [Tiff] CMake support for building libtiff", by Roger Leigh
2015.07.02 07:10 "[Tiff] [patch] Additional CMake fixes", by Roger Leigh
2015.07.04 22:10 "Re: [Tiff] [patch] Additional CMake fixes", by Bob Friesenhahn
2015.08.29 11:34 "[Tiff] [patch] Docs for cmake build and some minor tweaks", by Roger Leigh
2015.08.29 15:36 "Re: [Tiff] [patch] Docs for cmake build and some minor tweaks", by Bob Friesenhahn
2015.08.31 15:12 "[Tiff] [patch] cmake fixes", by
2015.08.31 15:34 "Re: [Tiff] [patch] cmake fixes", by Bob Friesenhahn
2015.08.31 16:05 "Re: [Tiff] [patch] cmake fixes", by
2015.08.31 18:14 "Re: [Tiff] [patch] cmake fixes", by Roger Leigh
2015.09.01 03:05 "Re: [Tiff] [patch] cmake fixes", by Bob Friesenhahn
2015.09.01 10:36 "Re: [Tiff] [patch] cmake fixes", by
2015.09.01 15:42 "Re: [Tiff] [patch] cmake fixes", by Bob Friesenhahn
2015.09.01 17:36 "Re: [Tiff] [patch] cmake fixes", by Roger Leigh
2015.09.01 17:56 "Re: [Tiff] [patch] cmake fixes", by Roger Leigh
2015.09.01 03:00 "Re: [Tiff] [patch] cmake fixes", by Bob Friesenhahn
2015.06.19 13:53 "Re: [Tiff] CMake support for building libtiff", by Rhys Thomas
2015.06.22 20:37 "Re: [Tiff] CMake support for building libtiff", by Roger Leigh
2015.06.24 15:26 "Re: [Tiff] CMake support for building libtiff", by Rhys Thomas
2015.06.24 16:23 "Re: [Tiff] CMake support for building libtiff", by Bob Friesenhahn
2015.06.24 19:23 "Re: [Tiff] CMake support for building libtiff", by Rhys Thomas
2015.06.24 19:33 "Re: [Tiff] CMake support for building libtiff", by Roger Leigh
2015.06.19 13:41 "Re: [Tiff] 4.0.4beta: Symbol differences on Unix and Windows", by Bob Friesenhahn
2015.06.18 21:56 "[Tiff] 4.0.4beta: Symbol differences on Unix and Windows", by Roger Leigh
2015.06.18 22:15 "Re: [Tiff] 4.0.4beta: Symbol differences on Unix and Windows", by Bob Friesenhahn
2015.06.18 22:32 "Re: [Tiff] 4.0.4beta: Symbol differences on Unix and Windows", by Roger Leigh
2015.06.23 09:22 "Re: [Tiff] 4.0.4beta: Symbol differences on Unix and Windows", by Ondřej Surý
2015.06.23 10:03 "Re: [Tiff] 4.0.4beta: Symbol differences on Unix and Windows", by Ondřej Surý
2015.06.23 13:01 "Re: [Tiff] 4.0.4beta: Symbol differences on Unix and Windows", by Bob Friesenhahn
2015.06.25 02:32 "Re: [Tiff] CMake support for building libtiff", by Bob Friesenhahn

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[1] 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
LIBTIFF_4.0 {
  global:
    *;
};
$ cat libtiff/libtiffxx.map
LIBTIFFXX_4.0 {
  global:
    *;
};

So it's just a matter of syncing the libtiff.def with libtiff.map file (probably by generating libtiff.map from libtiff.def).

1. https://gcc.gnu.org/wiki/Visibility
--
Ondřej Surý <ondrej@sury.org>

Knot DNS (https://www.knot-dns.cz/) – a high-performance DNS server