1diff --git a/third_party/libtiff/tiffconf.h b/third_party/libtiff/tiffconf.h
2index 2a88cb75f..4d2d7c9d9 100644
3--- a/third_party/libtiff/tiffconf.h
4+++ b/third_party/libtiff/tiffconf.h
5@@ -35,17 +35,26 @@
6 #define HAVE_SEARCH_H 1
7 #endif
8
9-static const size_t sizeOfInt = sizeof(int);
10-/* The size of a `int', as computed by sizeof. */
11-#define SIZEOF_INT sizeOfInt
12-
13-static const size_t sizeOfULong = sizeof(unsigned long);
14+/* The size of a `int'. */
15+/* According typedef int  int32_t; in the fx_system.h*/
16+#define SIZEOF_INT 4
17+
18+/* Sunliang.Liu 20110325. We should config the correct long size for tif
19+   fax4decode optimize in tif_fax3.c  -- Linux64 decode issue.
20+   TESTDOC: Bug #23661 - z1.tif. */
21+#if _FX_CPU_ == _FX_X64_ || _FX_CPU_ == _FX_IA64_
22 /* The size of `unsigned long', as computed by sizeof. */
23-#define SIZEOF_UNSIGNED_LONG sizeOfULong
24+#define SIZEOF_UNSIGNED_LONG 8
25+#else
26+#define SIZEOF_UNSIGNED_LONG 4
27+#endif
28
29-static const size_t sizeOfVoidP = sizeof(void*);
30-/* The size of void* as computed by sizeof. */
31-#define SIZEOF_VOIDP sizeOfVoidP
32+/* The size of void*. */
33+#ifdef __LP64__
34+#define SIZEOF_VOIDP 8
35+#else
36+#define SIZEOF_VOIDP 4
37+#endif
38
39 /* Signed 8-bit type */
40 #define TIFF_INT8_T signed char
41