提交 3ecbd099 编写于 作者: R Richard Levitte

_GNU_SOURCE needs to be defined before any standard header.

上级 e43d03e3
...@@ -56,6 +56,16 @@ ...@@ -56,6 +56,16 @@
* *
*/ */
/* We need to do this early, because stdio.h includes the header files
that handle _GNU_SOURCE and other similar macros. Defining it later
is simply too late, because those headers are protected from re-
inclusion. */
#ifdef __linux
# ifndef _GNU_SOURCE
# define _GNU_SOURCE /* make sure dladdr is declared */
# endif
#endif
#include <stdio.h> #include <stdio.h>
#include "cryptlib.h" #include "cryptlib.h"
#include <openssl/dso.h> #include <openssl/dso.h>
...@@ -69,11 +79,6 @@ DSO_METHOD *DSO_METHOD_dlfcn(void) ...@@ -69,11 +79,6 @@ DSO_METHOD *DSO_METHOD_dlfcn(void)
#ifdef HAVE_DLFCN_H #ifdef HAVE_DLFCN_H
#ifdef __linux
# ifndef _GNU_SOURCE
# define _GNU_SOURCE /* make sure dladdr is declared */
# endif
#endif
#include <dlfcn.h> #include <dlfcn.h>
#endif #endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册