Skip to content

Commit

Permalink
Assume __NR_utimensat is always defined
Browse files Browse the repository at this point in the history
With the 2.6.32 minimum kernel on x86 and 3.2 on other architectures,
__NR_utimensat is always defined.

Changelog:
	* sysdeps/unix/sysv/linux/futimens.c (futimens) [__NR_utimensat]:
	Make code unconditional.
	[!__NR_utimensat]: Remove conditional code.
	* sysdeps/unix/sysv/linux/lutimes.c (lutimes) [__NR_utimensat]:
	Make code unconditional.
	[!__NR_utimensat]: Remove conditional code.
	* sysdeps/unix/sysv/linux/utimensat.c (utimensat) [__NR_utimensat]:
	Make code unconditional.
	[!__NR_utimensat]: Remove conditional code.
  • Loading branch information
Aurelien Jarno committed Mar 23, 2016
1 parent 16d94f6 commit 7e1ff08
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 22 deletions.
12 changes: 12 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
2016-03-23 Aurelien Jarno <aurelien@aurel32.net>

* sysdeps/unix/sysv/linux/futimens.c (futimens) [__NR_utimensat]:
Make code unconditional.
[!__NR_utimensat]: Remove conditional code.
* sysdeps/unix/sysv/linux/lutimes.c (lutimes) [__NR_utimensat]:
Make code unconditional.
[!__NR_utimensat]: Remove conditional code.
* sysdeps/unix/sysv/linux/utimensat.c (utimensat) [__NR_utimensat]:
Make code unconditional.
[!__NR_utimensat]: Remove conditional code.

2016-03-23 Aurelien Jarno <aurelien@aurel32.net>

* sysdeps/unix/sysv/linux/dl-openat64.c (openat64) [__NR_openat]:
Expand Down
7 changes: 0 additions & 7 deletions sysdeps/unix/sysv/linux/futimens.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,8 @@
int
futimens (int fd, const struct timespec tsp[2])
{
#ifdef __NR_utimensat
if (fd < 0)
return INLINE_SYSCALL_ERROR_RETURN_VALUE (EBADF);
/* Avoid implicit array coercion in syscall macros. */
return INLINE_SYSCALL (utimensat, 4, fd, NULL, &tsp[0], 0);
#else
return INLINE_SYSCALL_ERROR_RETURN_VALUE (ENOSYS);
#endif
}
#ifndef __NR_utimensat
stub_warning (futimens)
#endif
8 changes: 0 additions & 8 deletions sysdeps/unix/sysv/linux/lutimes.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
int
lutimes (const char *file, const struct timeval tvp[2])
{
#ifdef __NR_utimensat
/* The system call espects timespec, not timeval. */
struct timespec ts[2];
if (tvp != NULL)
Expand All @@ -42,11 +41,4 @@ lutimes (const char *file, const struct timeval tvp[2])

return INLINE_SYSCALL (utimensat, 4, AT_FDCWD, file, tvp ? ts : NULL,
AT_SYMLINK_NOFOLLOW);
#else
return INLINE_SYSCALL_ERROR_RETURN_VALUE (ENOSYS);
#endif
}

#ifndef __NR_utimensat
stub_warning (lutimes)
#endif
7 changes: 0 additions & 7 deletions sysdeps/unix/sysv/linux/utimensat.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,6 @@ utimensat (int fd, const char *file, const struct timespec tsp[2],
{
if (file == NULL)
return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
#ifdef __NR_utimensat
/* Avoid implicit array coercion in syscall macros. */
return INLINE_SYSCALL (utimensat, 4, fd, file, &tsp[0], flags);
#else
return INLINE_SYSCALL_ERROR_RETURN_VALUE (ENOSYS);
#endif
}
#ifndef __NR_utimensat
stub_warning (utimensat)
#endif

0 comments on commit 7e1ff08

Please sign in to comment.