Commit 0e71cfd9 authored by calvin's avatar calvin

branches/zip: fix run-time symbols clash on Solaris.

This patch is from Sergey Vojtovich of Sun Microsystems,
to fix run-time symbols clash on Solaris with older C++
compiler:
- when finding out a way to hide symbols, make decision basing
  on compiler, not operating system.
- Sun Studio supports __hidden declaration specifier for this
  purpose.
parent 9af090cb
...@@ -236,10 +236,12 @@ by one. */ ...@@ -236,10 +236,12 @@ by one. */
/* Linkage specifier for non-static InnoDB symbols (variables and functions) /* Linkage specifier for non-static InnoDB symbols (variables and functions)
that are only referenced from within InnoDB, not from MySQL */ that are only referenced from within InnoDB, not from MySQL */
#ifdef __WIN__ #if defined(__GNUC__) && (__GNUC__ >= 4)
# define UNIV_INTERN
#else
# define UNIV_INTERN __attribute__((visibility ("hidden"))) # define UNIV_INTERN __attribute__((visibility ("hidden")))
#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
# define UNIV_INTERN __hidden
#else
# define UNIV_INTERN
#endif #endif
#if (!defined(UNIV_DEBUG) && !defined(UNIV_MUST_NOT_INLINE)) #if (!defined(UNIV_DEBUG) && !defined(UNIV_MUST_NOT_INLINE))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment