diff --git a/src/common.h b/src/common.h
-index eb801bb..30f8cf5 100644
+index 42fd539..fe032ec 100644
--- a/src/common.h
+++ b/src/common.h
-@@ -907,4 +907,7 @@ void finish_deferred_unlinks (void);
+@@ -906,4 +906,7 @@ void finish_deferred_unlinks (void);
/* Module exit.c */
extern void (*fatal_exit_hook) (void);
+
_GL_INLINE_HEADER_END
diff --git a/src/create.c b/src/create.c
-index e14e13d..d6e8ea7 100644
+index 4344a24..de10cae 100644
--- a/src/create.c
+++ b/src/create.c
@@ -27,6 +27,9 @@
/* Write a GNUTYPE_LONGLINK or GNUTYPE_LONGNAME block. */
static void
write_gnu_long_link (struct tar_stat_info *st, const char *p, char type)
-@@ -544,6 +552,10 @@ write_gnu_long_link (struct tar_stat_info *st, const char *p, char type)
+@@ -544,6 +552,11 @@ write_gnu_long_link (struct tar_stat_info *st, const char *p, char type)
char *tmpname;
- header = start_private_header ("././@LongLink", size, start_time.tv_sec);
+ header = start_private_header ("././@LongLink", size, 0);
+ if (pristine_tar_compat) {
+ FILL (header->header.mtime, '0');
+ FILL (header->header.mode, '0');
+ }
++
uid_to_uname (0, &tmpname);
UNAME_TO_CHARS (tmpname, header->header.uname);
free (tmpname);
-@@ -724,7 +736,7 @@ write_header_name (struct tar_stat_info *st)
+@@ -724,7 +737,7 @@ write_header_name (struct tar_stat_info *st)
return write_short_name (st);
}
else if (NAME_FIELD_SIZE - (archive_format == OLDGNU_FORMAT)
return write_long_name (st);
else
return write_short_name (st);
-@@ -1476,7 +1488,7 @@ dump_hard_link (struct tar_stat_info *st)
+@@ -1476,7 +1489,7 @@ dump_hard_link (struct tar_stat_info *st)
block_ordinal = current_block_ordinal ();
assign_string (&st->link_name, link_name);
if (NAME_FIELD_SIZE - (archive_format == OLDGNU_FORMAT)