From 80e96680db68fb424455180f24cd08089bd8c94b Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Wed, 31 Mar 2021 08:00:00 +0000 Subject: [PATCH 142/149] tests: add fchmod-y test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * tests/dirfd.c: New file. * tests/Makefile.am (libtests_a_SOURCES): Add dirfd.c. * tests/tests.h (get_dir_fd, get_fd_path): New function prototypes. * tests/fchmod-y.c: New file. * tests/fchmod.c (main): Create a sample file, handle YFLAG macro. * tests/gen_tests.in (fchmod-y): New entry. * tests/pure_executables.list: Add fchmod-y. * tests/.gitignore: Likewise. Co-authored-by: Renaud Métrich Conflicts: tests/fchmod.c --- tests/.gitignore | 1 + tests/Makefile.am | 1 + tests/dirfd.c | 43 ++++++++++++++++++++++++++++++++++++++ tests/fchmod-y.c | 10 +++++++++ tests/fchmod.c | 51 ++++++++++++++++++++++++++++++++++++++------- tests/gen_tests.in | 1 + tests/pure_executables.list | 1 + tests/tests.h | 12 +++++++++++ 8 files changed, 112 insertions(+), 8 deletions(-) create mode 100644 tests/dirfd.c create mode 100644 tests/fchmod-y.c Index: strace-5.7/tests/Makefile.am =================================================================== --- strace-5.7.orig/tests/Makefile.am 2021-08-24 19:31:43.636872612 +0200 +++ strace-5.7/tests/Makefile.am 2021-08-24 19:32:04.015700127 +0200 @@ -31,6 +31,7 @@ libtests_a_SOURCES = \ create_nl_socket.c \ create_tmpfile.c \ + dirfd.c \ errno2name.c \ error_msg.c \ fill_memory.c \ Index: strace-5.7/tests/dirfd.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ strace-5.7/tests/dirfd.c 2021-08-24 19:32:04.016700119 +0200 @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2021 The strace developers. + * All rights reserved. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "tests.h" + +#include +#include +#include +#include + +#include "xmalloc.h" + +int +get_dir_fd(const char *dir_path) +{ + DIR *dir = opendir(dir_path); + if (dir == NULL) + perror_msg_and_fail("opendir: %s", dir_path); + int dfd = dirfd(dir); + if (dfd == -1) + perror_msg_and_fail("dirfd"); + return dfd; +} + +char * +get_fd_path(int fd) +{ + char *proc = xasprintf("/proc/self/fd/%u", fd); + char *buf = xmalloc(PATH_MAX); + ssize_t n = readlink(proc, buf, PATH_MAX); + if (n < 0) + perror_msg_and_skip("readlink: %s", proc); + if (n >= PATH_MAX) + error_msg_and_fail("readlink: %s: %s", proc, + "symlink value is too long"); + buf[n] = '\0'; + free(proc); + return buf; +} Index: strace-5.7/tests/fchmod-y.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ strace-5.7/tests/fchmod-y.c 2021-08-24 19:32:04.016700119 +0200 @@ -0,0 +1,10 @@ +/* + * Copyright (c) 2021 The strace developers. + * All rights reserved. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#define YFLAG + +#include "fchmod.c" Index: strace-5.7/tests/fchmod.c =================================================================== --- strace-5.7.orig/tests/fchmod.c 2021-08-24 19:31:43.636872612 +0200 +++ strace-5.7/tests/fchmod.c 2021-08-24 19:32:04.017700110 +0200 @@ -2,8 +2,8 @@ * Check decoding of fchmod syscall. * * Copyright (c) 2016 Fabien Siron - * Copyright (c) 2016 Dmitry V. Levin - * Copyright (c) 2016-2020 The strace developers. + * Copyright (c) 2016 Dmitry V. Levin + * Copyright (c) 2016-2021 The strace developers. * All rights reserved. * * SPDX-License-Identifier: GPL-2.0-or-later @@ -15,25 +15,60 @@ #ifdef __NR_fchmod # include -# include # include # include int main(void) { - int fd = create_tmpfile(O_RDWR); + static const char sample[] = "fchmod_sample_file"; + (void) unlink(sample); + int fd = open(sample, O_CREAT|O_RDONLY, 0400); + if (fd == -1) + perror_msg_and_fail("open"); + +# ifdef YFLAG + char *sample_realpath = get_fd_path(fd); +# endif long rc = syscall(__NR_fchmod, fd, 0600); - printf("fchmod(%d, 0600) = %s\n", fd, sprintrc(rc)); +# ifdef YFLAG + printf("fchmod(%d<%s>, 0600) = %s\n", +# else + printf("fchmod(%d, 0600) = %s\n", +# endif + fd, +# ifdef YFLAG + sample_realpath, +# endif + sprintrc(rc)); - close(fd); + if (unlink(sample)) + perror_msg_and_fail("unlink"); rc = syscall(__NR_fchmod, fd, 051); - printf("fchmod(%d, 051) = %s\n", fd, sprintrc(rc)); +# ifdef YFLAG + printf("fchmod(%d<%s (deleted)>, 051) = %s\n", +# else + printf("fchmod(%d, 051) = %s\n", +# endif + fd, +# ifdef YFLAG + sample_realpath, +# endif + sprintrc(rc)); rc = syscall(__NR_fchmod, fd, 004); - printf("fchmod(%d, 004) = %s\n", fd, sprintrc(rc)); +# ifdef YFLAG + printf("fchmod(%d<%s (deleted)>, 004) = %s\n", +# else + printf("fchmod(%d, 004) = %s\n", +# endif + fd, +# ifdef YFLAG + sample_realpath, +# endif + sprintrc(rc)); puts("+++ exited with 0 +++"); return 0; Index: strace-5.7/tests/gen_tests.in =================================================================== --- strace-5.7.orig/tests/gen_tests.in 2021-08-24 19:31:43.637872604 +0200 +++ strace-5.7/tests/gen_tests.in 2021-08-24 19:32:04.017700110 +0200 @@ -83,6 +83,7 @@ fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark fchdir -a11 fchmod -a15 +fchmod-y -y -e trace=fchmod fchmodat fchown -a16 fchown32 -a18 Index: strace-5.7/tests/pure_executables.list =================================================================== --- strace-5.7.orig/tests/pure_executables.list 2021-08-24 19:31:43.637872604 +0200 +++ strace-5.7/tests/pure_executables.list 2021-08-24 19:32:04.017700110 +0200 @@ -71,6 +71,7 @@ fanotify_mark-Xverbose fchdir fchmod +fchmod-y fchmodat fchown fchown32 Index: strace-5.7/tests/tests.h =================================================================== --- strace-5.7.orig/tests/tests.h 2021-08-24 19:31:43.637872604 +0200 +++ strace-5.7/tests/tests.h 2021-08-24 19:32:04.018700102 +0200 @@ -149,6 +149,18 @@ void skip_if_unavailable(const char *); /* + * Obtain a file descriptor corresponding to the specified directory name, + * die on failure. + */ +int get_dir_fd(const char *dir_path); + +/* + * Obtain a path corresponding to the specified file descriptor, + * die on failure. + */ +char *get_fd_path(int fd) ATTRIBUTE_MALLOC; + +/* * Obtain an exclusive lock on dirname(path_name)/lock_name file * using open and flock. */ Index: strace-5.7/tests-m32/Makefile.am =================================================================== --- strace-5.7.orig/tests-m32/Makefile.am 2021-08-24 19:31:43.637872604 +0200 +++ strace-5.7/tests-m32/Makefile.am 2021-08-24 19:32:04.018700102 +0200 @@ -31,6 +31,7 @@ libtests_a_SOURCES = \ create_nl_socket.c \ create_tmpfile.c \ + dirfd.c \ errno2name.c \ error_msg.c \ fill_memory.c \ Index: strace-5.7/tests-m32/dirfd.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ strace-5.7/tests-m32/dirfd.c 2021-08-24 19:32:04.018700102 +0200 @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2021 The strace developers. + * All rights reserved. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "tests.h" + +#include +#include +#include +#include + +#include "xmalloc.h" + +int +get_dir_fd(const char *dir_path) +{ + DIR *dir = opendir(dir_path); + if (dir == NULL) + perror_msg_and_fail("opendir: %s", dir_path); + int dfd = dirfd(dir); + if (dfd == -1) + perror_msg_and_fail("dirfd"); + return dfd; +} + +char * +get_fd_path(int fd) +{ + char *proc = xasprintf("/proc/self/fd/%u", fd); + char *buf = xmalloc(PATH_MAX); + ssize_t n = readlink(proc, buf, PATH_MAX); + if (n < 0) + perror_msg_and_skip("readlink: %s", proc); + if (n >= PATH_MAX) + error_msg_and_fail("readlink: %s: %s", proc, + "symlink value is too long"); + buf[n] = '\0'; + free(proc); + return buf; +} Index: strace-5.7/tests-m32/fchmod-y.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ strace-5.7/tests-m32/fchmod-y.c 2021-08-24 19:32:04.019700094 +0200 @@ -0,0 +1,10 @@ +/* + * Copyright (c) 2021 The strace developers. + * All rights reserved. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#define YFLAG + +#include "fchmod.c" Index: strace-5.7/tests-m32/fchmod.c =================================================================== --- strace-5.7.orig/tests-m32/fchmod.c 2021-08-24 19:31:43.638872595 +0200 +++ strace-5.7/tests-m32/fchmod.c 2021-08-24 19:32:04.019700094 +0200 @@ -2,8 +2,8 @@ * Check decoding of fchmod syscall. * * Copyright (c) 2016 Fabien Siron - * Copyright (c) 2016 Dmitry V. Levin - * Copyright (c) 2016-2020 The strace developers. + * Copyright (c) 2016 Dmitry V. Levin + * Copyright (c) 2016-2021 The strace developers. * All rights reserved. * * SPDX-License-Identifier: GPL-2.0-or-later @@ -15,25 +15,60 @@ #ifdef __NR_fchmod # include -# include # include # include int main(void) { - int fd = create_tmpfile(O_RDWR); + static const char sample[] = "fchmod_sample_file"; + (void) unlink(sample); + int fd = open(sample, O_CREAT|O_RDONLY, 0400); + if (fd == -1) + perror_msg_and_fail("open"); + +# ifdef YFLAG + char *sample_realpath = get_fd_path(fd); +# endif long rc = syscall(__NR_fchmod, fd, 0600); - printf("fchmod(%d, 0600) = %s\n", fd, sprintrc(rc)); +# ifdef YFLAG + printf("fchmod(%d<%s>, 0600) = %s\n", +# else + printf("fchmod(%d, 0600) = %s\n", +# endif + fd, +# ifdef YFLAG + sample_realpath, +# endif + sprintrc(rc)); - close(fd); + if (unlink(sample)) + perror_msg_and_fail("unlink"); rc = syscall(__NR_fchmod, fd, 051); - printf("fchmod(%d, 051) = %s\n", fd, sprintrc(rc)); +# ifdef YFLAG + printf("fchmod(%d<%s (deleted)>, 051) = %s\n", +# else + printf("fchmod(%d, 051) = %s\n", +# endif + fd, +# ifdef YFLAG + sample_realpath, +# endif + sprintrc(rc)); rc = syscall(__NR_fchmod, fd, 004); - printf("fchmod(%d, 004) = %s\n", fd, sprintrc(rc)); +# ifdef YFLAG + printf("fchmod(%d<%s (deleted)>, 004) = %s\n", +# else + printf("fchmod(%d, 004) = %s\n", +# endif + fd, +# ifdef YFLAG + sample_realpath, +# endif + sprintrc(rc)); puts("+++ exited with 0 +++"); return 0; Index: strace-5.7/tests-m32/gen_tests.in =================================================================== --- strace-5.7.orig/tests-m32/gen_tests.in 2021-08-24 19:31:43.638872595 +0200 +++ strace-5.7/tests-m32/gen_tests.in 2021-08-24 19:32:04.020700085 +0200 @@ -83,6 +83,7 @@ fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark fchdir -a11 fchmod -a15 +fchmod-y -y -e trace=fchmod fchmodat fchown -a16 fchown32 -a18 Index: strace-5.7/tests-m32/pure_executables.list =================================================================== --- strace-5.7.orig/tests-m32/pure_executables.list 2021-08-24 19:31:43.638872595 +0200 +++ strace-5.7/tests-m32/pure_executables.list 2021-08-24 19:32:04.020700085 +0200 @@ -71,6 +71,7 @@ fanotify_mark-Xverbose fchdir fchmod +fchmod-y fchmodat fchown fchown32 Index: strace-5.7/tests-m32/tests.h =================================================================== --- strace-5.7.orig/tests-m32/tests.h 2021-08-24 19:31:43.638872595 +0200 +++ strace-5.7/tests-m32/tests.h 2021-08-24 19:32:04.020700085 +0200 @@ -149,6 +149,18 @@ void skip_if_unavailable(const char *); /* + * Obtain a file descriptor corresponding to the specified directory name, + * die on failure. + */ +int get_dir_fd(const char *dir_path); + +/* + * Obtain a path corresponding to the specified file descriptor, + * die on failure. + */ +char *get_fd_path(int fd) ATTRIBUTE_MALLOC; + +/* * Obtain an exclusive lock on dirname(path_name)/lock_name file * using open and flock. */ Index: strace-5.7/tests-mx32/Makefile.am =================================================================== --- strace-5.7.orig/tests-mx32/Makefile.am 2021-08-24 19:31:43.638872595 +0200 +++ strace-5.7/tests-mx32/Makefile.am 2021-08-24 19:32:04.021700077 +0200 @@ -31,6 +31,7 @@ libtests_a_SOURCES = \ create_nl_socket.c \ create_tmpfile.c \ + dirfd.c \ errno2name.c \ error_msg.c \ fill_memory.c \ Index: strace-5.7/tests-mx32/dirfd.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ strace-5.7/tests-mx32/dirfd.c 2021-08-24 19:32:04.021700077 +0200 @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2021 The strace developers. + * All rights reserved. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "tests.h" + +#include +#include +#include +#include + +#include "xmalloc.h" + +int +get_dir_fd(const char *dir_path) +{ + DIR *dir = opendir(dir_path); + if (dir == NULL) + perror_msg_and_fail("opendir: %s", dir_path); + int dfd = dirfd(dir); + if (dfd == -1) + perror_msg_and_fail("dirfd"); + return dfd; +} + +char * +get_fd_path(int fd) +{ + char *proc = xasprintf("/proc/self/fd/%u", fd); + char *buf = xmalloc(PATH_MAX); + ssize_t n = readlink(proc, buf, PATH_MAX); + if (n < 0) + perror_msg_and_skip("readlink: %s", proc); + if (n >= PATH_MAX) + error_msg_and_fail("readlink: %s: %s", proc, + "symlink value is too long"); + buf[n] = '\0'; + free(proc); + return buf; +} Index: strace-5.7/tests-mx32/fchmod-y.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ strace-5.7/tests-mx32/fchmod-y.c 2021-08-24 19:32:04.021700077 +0200 @@ -0,0 +1,10 @@ +/* + * Copyright (c) 2021 The strace developers. + * All rights reserved. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#define YFLAG + +#include "fchmod.c" Index: strace-5.7/tests-mx32/fchmod.c =================================================================== --- strace-5.7.orig/tests-mx32/fchmod.c 2021-08-24 19:31:43.639872587 +0200 +++ strace-5.7/tests-mx32/fchmod.c 2021-08-24 19:32:04.022700068 +0200 @@ -2,8 +2,8 @@ * Check decoding of fchmod syscall. * * Copyright (c) 2016 Fabien Siron - * Copyright (c) 2016 Dmitry V. Levin - * Copyright (c) 2016-2020 The strace developers. + * Copyright (c) 2016 Dmitry V. Levin + * Copyright (c) 2016-2021 The strace developers. * All rights reserved. * * SPDX-License-Identifier: GPL-2.0-or-later @@ -15,25 +15,60 @@ #ifdef __NR_fchmod # include -# include # include # include int main(void) { - int fd = create_tmpfile(O_RDWR); + static const char sample[] = "fchmod_sample_file"; + (void) unlink(sample); + int fd = open(sample, O_CREAT|O_RDONLY, 0400); + if (fd == -1) + perror_msg_and_fail("open"); + +# ifdef YFLAG + char *sample_realpath = get_fd_path(fd); +# endif long rc = syscall(__NR_fchmod, fd, 0600); - printf("fchmod(%d, 0600) = %s\n", fd, sprintrc(rc)); +# ifdef YFLAG + printf("fchmod(%d<%s>, 0600) = %s\n", +# else + printf("fchmod(%d, 0600) = %s\n", +# endif + fd, +# ifdef YFLAG + sample_realpath, +# endif + sprintrc(rc)); - close(fd); + if (unlink(sample)) + perror_msg_and_fail("unlink"); rc = syscall(__NR_fchmod, fd, 051); - printf("fchmod(%d, 051) = %s\n", fd, sprintrc(rc)); +# ifdef YFLAG + printf("fchmod(%d<%s (deleted)>, 051) = %s\n", +# else + printf("fchmod(%d, 051) = %s\n", +# endif + fd, +# ifdef YFLAG + sample_realpath, +# endif + sprintrc(rc)); rc = syscall(__NR_fchmod, fd, 004); - printf("fchmod(%d, 004) = %s\n", fd, sprintrc(rc)); +# ifdef YFLAG + printf("fchmod(%d<%s (deleted)>, 004) = %s\n", +# else + printf("fchmod(%d, 004) = %s\n", +# endif + fd, +# ifdef YFLAG + sample_realpath, +# endif + sprintrc(rc)); puts("+++ exited with 0 +++"); return 0; Index: strace-5.7/tests-mx32/gen_tests.in =================================================================== --- strace-5.7.orig/tests-mx32/gen_tests.in 2021-08-24 19:31:43.639872587 +0200 +++ strace-5.7/tests-mx32/gen_tests.in 2021-08-24 19:32:04.022700068 +0200 @@ -83,6 +83,7 @@ fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark fchdir -a11 fchmod -a15 +fchmod-y -y -e trace=fchmod fchmodat fchown -a16 fchown32 -a18 Index: strace-5.7/tests-mx32/pure_executables.list =================================================================== --- strace-5.7.orig/tests-mx32/pure_executables.list 2021-08-24 19:31:43.639872587 +0200 +++ strace-5.7/tests-mx32/pure_executables.list 2021-08-24 19:32:04.022700068 +0200 @@ -71,6 +71,7 @@ fanotify_mark-Xverbose fchdir fchmod +fchmod-y fchmodat fchown fchown32 Index: strace-5.7/tests-mx32/tests.h =================================================================== --- strace-5.7.orig/tests-mx32/tests.h 2021-08-24 19:31:43.639872587 +0200 +++ strace-5.7/tests-mx32/tests.h 2021-08-24 19:32:04.022700068 +0200 @@ -149,6 +149,18 @@ void skip_if_unavailable(const char *); /* + * Obtain a file descriptor corresponding to the specified directory name, + * die on failure. + */ +int get_dir_fd(const char *dir_path); + +/* + * Obtain a path corresponding to the specified file descriptor, + * die on failure. + */ +char *get_fd_path(int fd) ATTRIBUTE_MALLOC; + +/* * Obtain an exclusive lock on dirname(path_name)/lock_name file * using open and flock. */ Index: strace-5.7/tests/Makefile.in =================================================================== --- strace-5.7.orig/tests/Makefile.in 2021-08-24 19:31:43.647872519 +0200 +++ strace-5.7/tests/Makefile.in 2021-08-24 19:35:06.722153713 +0200 @@ -303,7 +303,7 @@ fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) \ fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \ fanotify_mark-Xverbose$(EXEEXT) fchdir$(EXEEXT) \ - fchmod$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \ + fchmod$(EXEEXT) fchmod-y$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \ fchown32$(EXEEXT) fchownat$(EXEEXT) fcntl$(EXEEXT) \ fcntl64$(EXEEXT) fdatasync$(EXEEXT) fflush$(EXEEXT) \ file_handle$(EXEEXT) file_ioctl$(EXEEXT) finit_module$(EXEEXT) \ @@ -551,7 +551,7 @@ libtests_a_AR = $(AR) $(ARFLAGS) libtests_a_LIBADD = am_libtests_a_OBJECTS = libtests_a-create_nl_socket.$(OBJEXT) \ - libtests_a-create_tmpfile.$(OBJEXT) \ + libtests_a-create_tmpfile.$(OBJEXT) libtests_a-dirfd.$(OBJEXT) \ libtests_a-errno2name.$(OBJEXT) libtests_a-error_msg.$(OBJEXT) \ libtests_a-fill_memory.$(OBJEXT) \ libtests_a-get_page_size.$(OBJEXT) \ @@ -986,6 +986,10 @@ fchmod_OBJECTS = fchmod.$(OBJEXT) fchmod_LDADD = $(LDADD) fchmod_DEPENDENCIES = libtests.a +fchmod_y_SOURCES = fchmod-y.c +fchmod_y_OBJECTS = fchmod-y.$(OBJEXT) +fchmod_y_LDADD = $(LDADD) +fchmod_y_DEPENDENCIES = libtests.a fchmodat_SOURCES = fchmodat.c fchmodat_OBJECTS = fchmodat.$(OBJEXT) fchmodat_LDADD = $(LDADD) @@ -4508,9 +4512,10 @@ execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \ fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ - fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \ - fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \ - fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ + fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \ + fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \ + fcntl--pidns-translation.c fcntl64.c \ + fcntl64--pidns-translation.c fdatasync.c fflush.c \ file_handle.c file_ioctl.c filter-unavailable.c \ filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ @@ -4755,9 +4760,10 @@ execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \ fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ - fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \ - fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \ - fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ + fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \ + fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \ + fcntl--pidns-translation.c fcntl64.c \ + fcntl64--pidns-translation.c fdatasync.c fflush.c \ file_handle.c file_ioctl.c filter-unavailable.c \ filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ @@ -5397,6 +5403,7 @@ libtests_a_SOURCES = \ create_nl_socket.c \ create_tmpfile.c \ + dirfd.c \ errno2name.c \ error_msg.c \ fill_memory.c \ @@ -5507,6 +5514,7 @@ fanotify_mark-Xverbose \ fchdir \ fchmod \ + fchmod-y \ fchmodat \ fchown \ fchown32 \ @@ -6151,11 +6159,11 @@ fanotify_init.gen.test fanotify_mark.gen.test \ fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \ fanotify_mark-Xverbose.gen.test fchdir.gen.test \ - fchmod.gen.test fchmodat.gen.test fchown.gen.test \ - fchown32.gen.test fchownat.gen.test fcntl.gen.test \ - fcntl--pidns-translation.gen.test fcntl64.gen.test \ - fcntl64--pidns-translation.gen.test fdatasync.gen.test \ - file_handle.gen.test file_ioctl.gen.test \ + fchmod.gen.test fchmod-y.gen.test fchmodat.gen.test \ + fchown.gen.test fchown32.gen.test fchownat.gen.test \ + fcntl.gen.test fcntl--pidns-translation.gen.test \ + fcntl64.gen.test fcntl64--pidns-translation.gen.test \ + fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \ filter_seccomp.gen.test filter_seccomp-flag.gen.test \ finit_module.gen.test flock.gen.test fork-f.gen.test \ fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \ @@ -7242,6 +7250,10 @@ @rm -f fchmod$(EXEEXT) $(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS) +fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) + @rm -f fchmod-y$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS) + fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) @rm -f fchmodat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS) @@ -10176,6 +10188,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker @@ -10394,6 +10407,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown32.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_nl_socket.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_tmpfile.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-dirfd.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-errno2name.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-error_msg.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-fill_memory.Po@am__quote@ # am--include-marker @@ -10975,6 +10989,20 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-create_tmpfile.obj `if test -f 'create_tmpfile.c'; then $(CYGPATH_W) 'create_tmpfile.c'; else $(CYGPATH_W) '$(srcdir)/create_tmpfile.c'; fi` +libtests_a-dirfd.o: dirfd.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-dirfd.o -MD -MP -MF $(DEPDIR)/libtests_a-dirfd.Tpo -c -o libtests_a-dirfd.o `test -f 'dirfd.c' || echo '$(srcdir)/'`dirfd.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-dirfd.Tpo $(DEPDIR)/libtests_a-dirfd.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dirfd.c' object='libtests_a-dirfd.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-dirfd.o `test -f 'dirfd.c' || echo '$(srcdir)/'`dirfd.c + +libtests_a-dirfd.obj: dirfd.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-dirfd.obj -MD -MP -MF $(DEPDIR)/libtests_a-dirfd.Tpo -c -o libtests_a-dirfd.obj `if test -f 'dirfd.c'; then $(CYGPATH_W) 'dirfd.c'; else $(CYGPATH_W) '$(srcdir)/dirfd.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-dirfd.Tpo $(DEPDIR)/libtests_a-dirfd.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dirfd.c' object='libtests_a-dirfd.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-dirfd.obj `if test -f 'dirfd.c'; then $(CYGPATH_W) 'dirfd.c'; else $(CYGPATH_W) '$(srcdir)/dirfd.c'; fi` + libtests_a-errno2name.o: errno2name.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.o -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po @@ -14015,6 +14043,9 @@ $(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ Index: strace-5.7/tests-m32/Makefile.in =================================================================== --- strace-5.7.orig/tests-m32/Makefile.in 2021-08-24 19:31:43.655872452 +0200 +++ strace-5.7/tests-m32/Makefile.in 2021-08-24 19:32:04.034699967 +0200 @@ -303,7 +303,7 @@ fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) \ fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \ fanotify_mark-Xverbose$(EXEEXT) fchdir$(EXEEXT) \ - fchmod$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \ + fchmod$(EXEEXT) fchmod-y$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \ fchown32$(EXEEXT) fchownat$(EXEEXT) fcntl$(EXEEXT) \ fcntl64$(EXEEXT) fdatasync$(EXEEXT) fflush$(EXEEXT) \ file_handle$(EXEEXT) file_ioctl$(EXEEXT) finit_module$(EXEEXT) \ @@ -551,7 +551,7 @@ libtests_a_AR = $(AR) $(ARFLAGS) libtests_a_LIBADD = am_libtests_a_OBJECTS = libtests_a-create_nl_socket.$(OBJEXT) \ - libtests_a-create_tmpfile.$(OBJEXT) \ + libtests_a-create_tmpfile.$(OBJEXT) libtests_a-dirfd.$(OBJEXT) \ libtests_a-errno2name.$(OBJEXT) libtests_a-error_msg.$(OBJEXT) \ libtests_a-fill_memory.$(OBJEXT) \ libtests_a-get_page_size.$(OBJEXT) \ @@ -986,6 +986,10 @@ fchmod_OBJECTS = fchmod.$(OBJEXT) fchmod_LDADD = $(LDADD) fchmod_DEPENDENCIES = libtests.a +fchmod_y_SOURCES = fchmod-y.c +fchmod_y_OBJECTS = fchmod-y.$(OBJEXT) +fchmod_y_LDADD = $(LDADD) +fchmod_y_DEPENDENCIES = libtests.a fchmodat_SOURCES = fchmodat.c fchmodat_OBJECTS = fchmodat.$(OBJEXT) fchmodat_LDADD = $(LDADD) @@ -4508,9 +4512,10 @@ execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \ fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ - fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \ - fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \ - fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ + fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \ + fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \ + fcntl--pidns-translation.c fcntl64.c \ + fcntl64--pidns-translation.c fdatasync.c fflush.c \ file_handle.c file_ioctl.c filter-unavailable.c \ filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ @@ -4755,9 +4760,10 @@ execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \ fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ - fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \ - fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \ - fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ + fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \ + fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \ + fcntl--pidns-translation.c fcntl64.c \ + fcntl64--pidns-translation.c fdatasync.c fflush.c \ file_handle.c file_ioctl.c filter-unavailable.c \ filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ @@ -5397,6 +5403,7 @@ libtests_a_SOURCES = \ create_nl_socket.c \ create_tmpfile.c \ + dirfd.c \ errno2name.c \ error_msg.c \ fill_memory.c \ @@ -5507,6 +5514,7 @@ fanotify_mark-Xverbose \ fchdir \ fchmod \ + fchmod-y \ fchmodat \ fchown \ fchown32 \ @@ -6151,11 +6159,11 @@ fanotify_init.gen.test fanotify_mark.gen.test \ fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \ fanotify_mark-Xverbose.gen.test fchdir.gen.test \ - fchmod.gen.test fchmodat.gen.test fchown.gen.test \ - fchown32.gen.test fchownat.gen.test fcntl.gen.test \ - fcntl--pidns-translation.gen.test fcntl64.gen.test \ - fcntl64--pidns-translation.gen.test fdatasync.gen.test \ - file_handle.gen.test file_ioctl.gen.test \ + fchmod.gen.test fchmod-y.gen.test fchmodat.gen.test \ + fchown.gen.test fchown32.gen.test fchownat.gen.test \ + fcntl.gen.test fcntl--pidns-translation.gen.test \ + fcntl64.gen.test fcntl64--pidns-translation.gen.test \ + fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \ filter_seccomp.gen.test filter_seccomp-flag.gen.test \ finit_module.gen.test flock.gen.test fork-f.gen.test \ fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \ @@ -7242,6 +7250,10 @@ @rm -f fchmod$(EXEEXT) $(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS) +fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) + @rm -f fchmod-y$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS) + fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) @rm -f fchmodat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS) @@ -10176,6 +10188,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker @@ -10394,6 +10407,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown32.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_nl_socket.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_tmpfile.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-dirfd.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-errno2name.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-error_msg.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-fill_memory.Po@am__quote@ # am--include-marker @@ -10975,6 +10987,20 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-create_tmpfile.obj `if test -f 'create_tmpfile.c'; then $(CYGPATH_W) 'create_tmpfile.c'; else $(CYGPATH_W) '$(srcdir)/create_tmpfile.c'; fi` +libtests_a-dirfd.o: dirfd.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-dirfd.o -MD -MP -MF $(DEPDIR)/libtests_a-dirfd.Tpo -c -o libtests_a-dirfd.o `test -f 'dirfd.c' || echo '$(srcdir)/'`dirfd.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-dirfd.Tpo $(DEPDIR)/libtests_a-dirfd.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dirfd.c' object='libtests_a-dirfd.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-dirfd.o `test -f 'dirfd.c' || echo '$(srcdir)/'`dirfd.c + +libtests_a-dirfd.obj: dirfd.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-dirfd.obj -MD -MP -MF $(DEPDIR)/libtests_a-dirfd.Tpo -c -o libtests_a-dirfd.obj `if test -f 'dirfd.c'; then $(CYGPATH_W) 'dirfd.c'; else $(CYGPATH_W) '$(srcdir)/dirfd.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-dirfd.Tpo $(DEPDIR)/libtests_a-dirfd.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dirfd.c' object='libtests_a-dirfd.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-dirfd.obj `if test -f 'dirfd.c'; then $(CYGPATH_W) 'dirfd.c'; else $(CYGPATH_W) '$(srcdir)/dirfd.c'; fi` + libtests_a-errno2name.o: errno2name.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.o -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po @@ -14015,6 +14041,9 @@ $(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ Index: strace-5.7/tests-mx32/Makefile.in =================================================================== --- strace-5.7.orig/tests-mx32/Makefile.in 2021-08-24 19:31:43.662872392 +0200 +++ strace-5.7/tests-mx32/Makefile.in 2021-08-24 19:32:04.039699924 +0200 @@ -303,7 +303,7 @@ fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) \ fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \ fanotify_mark-Xverbose$(EXEEXT) fchdir$(EXEEXT) \ - fchmod$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \ + fchmod$(EXEEXT) fchmod-y$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \ fchown32$(EXEEXT) fchownat$(EXEEXT) fcntl$(EXEEXT) \ fcntl64$(EXEEXT) fdatasync$(EXEEXT) fflush$(EXEEXT) \ file_handle$(EXEEXT) file_ioctl$(EXEEXT) finit_module$(EXEEXT) \ @@ -551,7 +551,7 @@ libtests_a_AR = $(AR) $(ARFLAGS) libtests_a_LIBADD = am_libtests_a_OBJECTS = libtests_a-create_nl_socket.$(OBJEXT) \ - libtests_a-create_tmpfile.$(OBJEXT) \ + libtests_a-create_tmpfile.$(OBJEXT) libtests_a-dirfd.$(OBJEXT) \ libtests_a-errno2name.$(OBJEXT) libtests_a-error_msg.$(OBJEXT) \ libtests_a-fill_memory.$(OBJEXT) \ libtests_a-get_page_size.$(OBJEXT) \ @@ -986,6 +986,10 @@ fchmod_OBJECTS = fchmod.$(OBJEXT) fchmod_LDADD = $(LDADD) fchmod_DEPENDENCIES = libtests.a +fchmod_y_SOURCES = fchmod-y.c +fchmod_y_OBJECTS = fchmod-y.$(OBJEXT) +fchmod_y_LDADD = $(LDADD) +fchmod_y_DEPENDENCIES = libtests.a fchmodat_SOURCES = fchmodat.c fchmodat_OBJECTS = fchmodat.$(OBJEXT) fchmodat_LDADD = $(LDADD) @@ -4508,9 +4512,10 @@ execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \ fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ - fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \ - fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \ - fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ + fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \ + fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \ + fcntl--pidns-translation.c fcntl64.c \ + fcntl64--pidns-translation.c fdatasync.c fflush.c \ file_handle.c file_ioctl.c filter-unavailable.c \ filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ @@ -4755,9 +4760,10 @@ execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \ fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ - fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \ - fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \ - fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ + fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \ + fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \ + fcntl--pidns-translation.c fcntl64.c \ + fcntl64--pidns-translation.c fdatasync.c fflush.c \ file_handle.c file_ioctl.c filter-unavailable.c \ filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ @@ -5397,6 +5403,7 @@ libtests_a_SOURCES = \ create_nl_socket.c \ create_tmpfile.c \ + dirfd.c \ errno2name.c \ error_msg.c \ fill_memory.c \ @@ -5507,6 +5514,7 @@ fanotify_mark-Xverbose \ fchdir \ fchmod \ + fchmod-y \ fchmodat \ fchown \ fchown32 \ @@ -6151,11 +6159,11 @@ fanotify_init.gen.test fanotify_mark.gen.test \ fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \ fanotify_mark-Xverbose.gen.test fchdir.gen.test \ - fchmod.gen.test fchmodat.gen.test fchown.gen.test \ - fchown32.gen.test fchownat.gen.test fcntl.gen.test \ - fcntl--pidns-translation.gen.test fcntl64.gen.test \ - fcntl64--pidns-translation.gen.test fdatasync.gen.test \ - file_handle.gen.test file_ioctl.gen.test \ + fchmod.gen.test fchmod-y.gen.test fchmodat.gen.test \ + fchown.gen.test fchown32.gen.test fchownat.gen.test \ + fcntl.gen.test fcntl--pidns-translation.gen.test \ + fcntl64.gen.test fcntl64--pidns-translation.gen.test \ + fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \ filter_seccomp.gen.test filter_seccomp-flag.gen.test \ finit_module.gen.test flock.gen.test fork-f.gen.test \ fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \ @@ -7242,6 +7250,10 @@ @rm -f fchmod$(EXEEXT) $(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS) +fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) + @rm -f fchmod-y$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS) + fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) @rm -f fchmodat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS) @@ -10176,6 +10188,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker @@ -10394,6 +10407,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown32.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_nl_socket.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_tmpfile.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-dirfd.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-errno2name.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-error_msg.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-fill_memory.Po@am__quote@ # am--include-marker @@ -10975,6 +10987,20 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-create_tmpfile.obj `if test -f 'create_tmpfile.c'; then $(CYGPATH_W) 'create_tmpfile.c'; else $(CYGPATH_W) '$(srcdir)/create_tmpfile.c'; fi` +libtests_a-dirfd.o: dirfd.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-dirfd.o -MD -MP -MF $(DEPDIR)/libtests_a-dirfd.Tpo -c -o libtests_a-dirfd.o `test -f 'dirfd.c' || echo '$(srcdir)/'`dirfd.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-dirfd.Tpo $(DEPDIR)/libtests_a-dirfd.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dirfd.c' object='libtests_a-dirfd.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-dirfd.o `test -f 'dirfd.c' || echo '$(srcdir)/'`dirfd.c + +libtests_a-dirfd.obj: dirfd.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-dirfd.obj -MD -MP -MF $(DEPDIR)/libtests_a-dirfd.Tpo -c -o libtests_a-dirfd.obj `if test -f 'dirfd.c'; then $(CYGPATH_W) 'dirfd.c'; else $(CYGPATH_W) '$(srcdir)/dirfd.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-dirfd.Tpo $(DEPDIR)/libtests_a-dirfd.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dirfd.c' object='libtests_a-dirfd.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-dirfd.obj `if test -f 'dirfd.c'; then $(CYGPATH_W) 'dirfd.c'; else $(CYGPATH_W) '$(srcdir)/dirfd.c'; fi` + libtests_a-errno2name.o: errno2name.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.o -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po @@ -14015,6 +14041,9 @@ $(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@ +$(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in $(AM_V_GEN) $^ $@