Index: lib/ExtUtils/MM_Unix.pm
===================================================================
--- lib/ExtUtils/MM_Unix.pm	(revision 4310)
+++ lib/ExtUtils/MM_Unix.pm	(working copy)
@@ -526,6 +526,9 @@
 
   TAR           tar command to use              tar
   TARFLAGS      flags to pass to TAR            cvf
+  TARADDFLAGS   additional flags to pass to     --mode=0755
+                TAR, separated because of tar
+                command line arguments parsing
 
   ZIP           zip command to use              zip
   ZIPFLAGS      flags to pass to ZIP            -r
@@ -565,6 +568,7 @@
     my $self = shift;
 
     $self->{TAR}      ||= 'tar';
+    $self->{TARADDFLAGS} ||= '--mode=0755';
     $self->{TARFLAGS} ||= 'cvf';
     $self->{ZIP}      ||= 'zip';
     $self->{ZIPFLAGS} ||= '-r';
@@ -601,7 +605,7 @@
 
     my $make = '';
     foreach my $key (qw( 
-            TAR TARFLAGS ZIP ZIPFLAGS COMPRESS SUFFIX SHAR
+            TAR TARADDFLAGS TARFLAGS ZIP ZIPFLAGS COMPRESS SUFFIX SHAR
             PREOP POSTOP TO_UNIX
             CI RCS_LABEL DIST_CP DIST_DEFAULT
             DISTNAME DISTVNAME
@@ -764,7 +768,7 @@
 $(DISTVNAME).tar$(SUFFIX) : distdir
 	$(PREOP)
 	$(TO_UNIX)
-	$(TAR) $(TARFLAGS) $(DISTVNAME).tar $(DISTVNAME)
+	$(TAR) $(TARFLAGS) $(DISTVNAME).tar $(TARADDFLAGS) $(DISTVNAME)
 	$(RM_RF) $(DISTVNAME)
 	$(COMPRESS) $(DISTVNAME).tar
 	$(POSTOP)
Index: lib/ExtUtils/MakeMaker.pm
===================================================================
--- lib/ExtUtils/MakeMaker.pm	(revision 4310)
+++ lib/ExtUtils/MakeMaker.pm	(working copy)
@@ -2577,6 +2577,7 @@
     SHAR         ('shar')
     SUFFIX       ('.gz')
     TAR          ('tar')
+    TARADDFLAGS  ('--mode=0755')
     TARFLAGS     ('cvf')
     ZIP          ('zip')
     ZIPFLAGS     ('-r')
Index: lib/ExtUtils/MM_VMS.pm
===================================================================
--- lib/ExtUtils/MM_VMS.pm	(revision 4310)
+++ lib/ExtUtils/MM_VMS.pm	(working copy)
@@ -1116,7 +1116,7 @@
 $(DISTVNAME).tar$(SUFFIX) : distdir
 	$(PREOP)
 	$(TO_UNIX)
-        $(TAR) "$(TARFLAGS)" $(DISTVNAME).tar [.$(DISTVNAME)...]
+        $(TAR) "$(TARFLAGS)" $(DISTVNAME).tar "$(TARADDFLAGS)" [.$(DISTVNAME)...]
 	$(RM_RF) $(DISTVNAME)
 	$(COMPRESS) $(DISTVNAME).tar
 	$(POSTOP)
