[PATCH 04/19] loader: Deobfuscate RTLD_* macro stuff

Mark Kettenis mark.kettenis at xs4all.nl
Thu Sep 25 14:04:52 PDT 2014


> From: Adam Jackson <ajax at redhat.com>
> Date: Thu, 25 Sep 2014 13:37:20 -0400
> 
> POSIX requires that these be named correctly, no need to be clever.

None of the BSDs have needed those compatibility defines for quite
some time, and I doubt anything else still supported cares.

Reviewed-by: Mark Kettenis <kettenis at openbsd.org>

> Signed-off-by: Adam Jackson <ajax at redhat.com>
> ---
>  hw/xfree86/loader/loader.c | 22 ++--------------------
>  1 file changed, 2 insertions(+), 20 deletions(-)
> 
> diff --git a/hw/xfree86/loader/loader.c b/hw/xfree86/loader/loader.c
> index cc41dcb..3132984 100644
> --- a/hw/xfree86/loader/loader.c
> +++ b/hw/xfree86/loader/loader.c
> @@ -71,24 +71,6 @@
>  #include <dlfcn.h>
>  #include <X11/Xos.h>
>  
> -#if defined(DL_LAZY)
> -#define DLOPEN_LAZY DL_LAZY
> -#elif defined(RTLD_LAZY)
> -#define DLOPEN_LAZY RTLD_LAZY
> -#elif defined(__FreeBSD__)
> -#define DLOPEN_LAZY 1
> -#else
> -#define DLOPEN_LAZY 0
> -#endif
> -
> -#if defined(LD_GLOBAL)
> -#define DLOPEN_GLOBAL LD_GLOBAL
> -#elif defined(RTLD_GLOBAL)
> -#define DLOPEN_GLOBAL RTLD_GLOBAL
> -#else
> -#define DLOPEN_GLOBAL 0
> -#endif
> -
>  #else
>  #error i have no dynamic linker and i must scream
>  #endif
> @@ -128,7 +110,7 @@ LoaderOpen(const char *module, int *errmaj, int *errmin)
>  
>      xf86Msg(X_INFO, "Loading %s\n", module);
>  
> -    if (!(ret = dlopen(module, DLOPEN_LAZY | DLOPEN_GLOBAL))) {
> +    if (!(ret = dlopen(module, RTLD_LAZY | RTLD_GLOBAL))) {
>          xf86Msg(X_ERROR, "Failed to load %s: %s\n", module, dlerror());
>          if (errmaj)
>              *errmaj = LDR_NOLOAD;
> @@ -151,7 +133,7 @@ LoaderSymbol(const char *name)
>          return p;
>  
>      if (!global_scope)
> -        global_scope = dlopen(NULL, DLOPEN_LAZY | DLOPEN_GLOBAL);
> +        global_scope = dlopen(NULL, RTLD_LAZY | RTLD_GLOBAL);
>  
>      if (global_scope)
>          return dlsym(global_scope, name);
> -- 
> 1.9.3
> 
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
> 


More information about the xorg-devel mailing list