diff options
| -rw-r--r-- | libpthread/nptl/sem_open.c | 19 | 
1 files changed, 10 insertions, 9 deletions
| diff --git a/libpthread/nptl/sem_open.c b/libpthread/nptl/sem_open.c index 71bebb00a..73d979a43 100644 --- a/libpthread/nptl/sem_open.c +++ b/libpthread/nptl/sem_open.c @@ -39,12 +39,18 @@  /* Compatibility defines. */  #define __endmntent                    endmntent -#define __fxstat64(vers, fd, buf)      fstat64(fd, buf)  #define __getmntent_r                  getmntent_r  #define __setmntent                    setmntent  #define __statfs                       statfs  #define __libc_close                   close -#define __libc_open                    open +#ifdef __UCLIBC_HAS_LFS__ +# define __libc_open                    open64 +# define __fxstat64(vers, fd, buf)		fstat64(fd, buf) +#else +# define __libc_open                    open +# define __fxstat64(vers, fd, buf)		fstat(fd, buf) +# define stat64							stat +#endif  #define __libc_write                   write @@ -85,10 +91,10 @@ __where_is_shmfs (void)    /* OK, do it the hard way.  Look through the /proc/mounts file and if       this does not exist through /etc/fstab to find the mount point.  */    fp = __setmntent ("/proc/mounts", "r"); -  if (__builtin_expect (fp == NULL, 0)) +  if (unlikely (fp == NULL))      {        fp = __setmntent (_PATH_MNTTAB, "r"); -      if (__builtin_expect (fp == NULL, 0)) +      if (unlikely (fp == NULL))  	/* There is nothing we can do.  Blind guesses are not helpful.  */  	return;      } @@ -168,13 +174,8 @@ check_add_mapping (const char *name, size_t namelen, int fd, sem_t *existing)    sem_t *result = SEM_FAILED;    /* Get the information about the file.  */ -#ifdef __UCLIBC_HAS_LFS__    struct stat64 st;    if (__fxstat64 (_STAT_VER, fd, &st) == 0) -#else -  struct stat st; -  if (fstat (fd, &st) == 0) -#endif      {        /* Get the lock.  */        lll_lock (__sem_mappings_lock, LLL_PRIVATE); | 
