*** ./TSRM/TSRM.h.ORIG Mon Dec 18 11:07:47 2017 --- ./TSRM/TSRM.h Mon Dec 18 12:29:59 2017 *************** *** 156,161 **** --- 156,163 ---- #ifdef TSRM_WIN32 # define TSRM_TLS __declspec(thread) + #elif defined(__xlc__) + # define TSRM_TLS #else # define TSRM_TLS __thread #endif *** ./sapi/fpm/fpm/zlog.c.ORIG Sun Dec 17 13:35:41 2017 --- ./sapi/fpm/fpm/zlog.c Sun Dec 17 13:36:14 2017 *************** *** 99,104 **** --- 99,116 ---- } /* }}} */ + /* va_copy() is __va_copy() in old gcc versions. + * According to the autoconf manual, using + * memcpy(&dst, &src, sizeof(va_list)) + * gives maximum portability. */ + #ifndef va_copy + # ifdef __va_copy + # define va_copy(dest, src) __va_copy((dest), (src)) + # else + # define va_copy(dest, src) memcpy(&(dest), &(src), sizeof(va_list)) + # endif + #endif + void vzlog(const char *function, int line, int flags, const char *fmt, va_list args) /* {{{ */ { struct timeval tv;