From 748df8126ac69e68e0b94e236ea3c2e11b1176cb Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Mon, 23 May 2022 10:23:23 -0700 Subject: [PATCH] dlfcn: Move RTLD_DEFAULT/RTLD_NEXT outside __USE_GNU POSIX reserves the RTLD_ namespace, and this is already reflected in our conform tests. Note: RTLD_DEFAULT and RTLD_NEXT appear in IEEE Std 1003.1-2004. Many systems (e.g. FreeBSD, musl) just define the macros unconditionally. Reviewed-by: Florian Weimer Tested-by: Florian Weimer --- dlfcn/dlfcn.h | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/dlfcn/dlfcn.h b/dlfcn/dlfcn.h index a3af6051d4..6f7cad8682 100644 --- a/dlfcn/dlfcn.h +++ b/dlfcn/dlfcn.h @@ -30,18 +30,6 @@ #ifdef __USE_GNU #include -/* If the first argument of `dlsym' or `dlvsym' is set to RTLD_NEXT - the run-time address of the symbol called NAME in the next shared - object is returned. The "next" relation is defined by the order - the shared objects were loaded. */ -# define RTLD_NEXT ((void *) -1l) - -/* If the first argument to `dlsym' or `dlvsym' is set to RTLD_DEFAULT - the run-time address of the symbol called NAME in the global scope - is returned. */ -# define RTLD_DEFAULT ((void *) 0) - - /* Type for namespace indices. */ typedef long int Lmid_t; @@ -50,6 +38,16 @@ typedef long int Lmid_t; # define LM_ID_NEWLM -1 /* For dlmopen: request new namespace. */ #endif +/* If the first argument of `dlsym' or `dlvsym' is set to RTLD_NEXT + the run-time address of the symbol called NAME in the next shared + object is returned. The "next" relation is defined by the order + the shared objects were loaded. */ +#define RTLD_NEXT ((void *) -1l) + +/* If the first argument to `dlsym' or `dlvsym' is set to RTLD_DEFAULT + the run-time address of the symbol called NAME in the global scope + is returned. */ +#define RTLD_DEFAULT ((void *) 0) __BEGIN_DECLS -- 2.43.5