summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/ChangeLog5
-rw-r--r--tests/elfstrmerge.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog
index a9bc6faa..6dab8018 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,8 @@
+2017-05-04 Ulf Hermann <[email protected]>
+
+ * elfstrmerge.c: Don't fchmod or fchown the output file if fchmod or
+ fchown don't exist.
+
2017-04-28 Ulf Hermann <[email protected]>
* run-disasm-x86-64.sh: Disable if the native binary format is not
diff --git a/tests/elfstrmerge.c b/tests/elfstrmerge.c
index c2c3fb97..17f40c7d 100644
--- a/tests/elfstrmerge.c
+++ b/tests/elfstrmerge.c
@@ -650,11 +650,15 @@ main (int argc, char **argv)
elf_end (elfnew);
elfnew = NULL;
+#if HAVE_DECL_FCHMOD
/* Try to match mode and owner.group of the original file. */
if (fchmod (fdnew, st.st_mode & ALLPERMS) != 0)
error (0, errno, "Couldn't fchmod %s", fnew);
+#endif
+#if HAVE_DECL_FCHOWN
if (fchown (fdnew, st.st_uid, st.st_gid) != 0)
error (0, errno, "Couldn't fchown %s", fnew);
+#endif
/* Finally replace the old file with the new merged strings file. */
if (replace)