- 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.07.02 07:10 "[Tiff] [patch] Additional CMake fixes", by Roger Leigh
- 2015.06.19 13:53 "Re: [Tiff] CMake support for building libtiff", by Rhys Thomas
-
2015.06.19 11:54 "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:08 "Re: [Tiff] CMake support for building libtiff", by Roger Leigh
- 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