about summary refs log tree commit diff
path: root/elf
diff options
context:
space:
mode:
Diffstat (limited to 'elf')
-rw-r--r--elf/dl-load.c6
-rw-r--r--elf/dl-open.c2
2 files changed, 5 insertions, 3 deletions
diff --git a/elf/dl-load.c b/elf/dl-load.c
index 73cafcca37..96c1eb6bc6 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -832,7 +832,8 @@ open_path (const char *name, size_t namelen,
 
 		buf[this_dir->machdirnamelen - 1] = '\0';
 
-		if (stat (buf, &st) != 0 || ! S_ISDIR (st.st_mode))
+		if (__xstat (_STAT_VER, buf, &st) != 0
+		    || ! S_ISDIR (st.st_mode))
 		  /* The directory does not exist ot it is no directory.  */
 		  this_dir->machdirstatus = nonexisting;
 		else
@@ -863,7 +864,8 @@ open_path (const char *name, size_t namelen,
 
 		  buf[this_dir->dirnamelen - 1] = '\0';
 
-		  if (stat (buf, &st) != 0 || ! S_ISDIR (st.st_mode))
+		  if (__xstat (_STAT_VER, buf, &st) != 0
+		      || ! S_ISDIR (st.st_mode))
 		    /* The directory does not exist ot it is no directory.  */
 		    this_dir->dirstatus = nonexisting;
 		  else
diff --git a/elf/dl-open.c b/elf/dl-open.c
index b984aa8f89..d095f5e65d 100644
--- a/elf/dl-open.c
+++ b/elf/dl-open.c
@@ -110,7 +110,7 @@ _dl_open (const char *file, int mode)
       l = l->l_prev;
     }
 
-  new->l_global = (mode & RTLD_GLOBAL);
+  new->l_global = (mode & RTLD_GLOBAL) ? 1 : 0;
   if (new->l_global)
     {
       /* The symbols of the new object and its dependencies are to be