diff options
Diffstat (limited to 'elf')
-rw-r--r-- | elf/dl-load.c | 6 | ||||
-rw-r--r-- | elf/dl-open.c | 2 |
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 |