Skip to content

Commit 15a2ee7

Browse files
jhuntworksravnborg
authored andcommitted
Fix incompatibility with versions of Perl less than 5.6.0
Fix headers_install.pl and headers_check.pl to be compatible with versions of Perl less than 5.6.0. It has been tested with Perl 5.005_03 and 5.8.8. I realize this may not be an issue for most people, but there will still be some that hit it, I imagine. There are three basic issues: 1. Prior to 5.6.0 open() only used 2 arguments, and the versions of the scripts in 2.6.27.1 use 3. 2. 5.6.0 also introduced the ability to use uninitialized scalar variables as file handles, which the current scripts make use of. 3. Lastly, 5.6.0 also introduced the pragma 'use warnings'. We can use the -w switch and be backwards compatible. Signed-off-by: Jeremy Huntwork <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Sam Ravnborg <[email protected]>
1 parent de2addf commit 15a2ee7

File tree

2 files changed

+14
-13
lines changed

2 files changed

+14
-13
lines changed

scripts/headers_check.pl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#!/usr/bin/perl
1+
#!/usr/bin/perl -w
22
#
33
# headers_check.pl execute a number of trivial consistency checks
44
#
@@ -17,7 +17,6 @@
1717
# 2) TODO: check for leaked CONFIG_ symbols
1818

1919
use strict;
20-
use warnings;
2120

2221
my ($dir, $arch, @files) = @ARGV;
2322

@@ -27,14 +26,15 @@
2726
my $filename;
2827

2928
foreach my $file (@files) {
29+
local *FH;
3030
$filename = $file;
31-
open(my $fh, '<', "$filename") or die "$filename: $!\n";
31+
open(FH, "<$filename") or die "$filename: $!\n";
3232
$lineno = 0;
33-
while ($line = <$fh>) {
33+
while ($line = <FH>) {
3434
$lineno++;
3535
check_include();
3636
}
37-
close $fh;
37+
close FH;
3838
}
3939
exit $ret;
4040

scripts/headers_install.pl

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#!/usr/bin/perl
1+
#!/usr/bin/perl -w
22
#
33
# headers_install prepare the listed header files for use in
44
# user space and copy the files to their destination.
@@ -17,28 +17,29 @@
1717
# 3) Drop all sections defined out by __KERNEL__ (using unifdef)
1818

1919
use strict;
20-
use warnings;
2120

2221
my ($readdir, $installdir, $arch, @files) = @ARGV;
2322

2423
my $unifdef = "scripts/unifdef -U__KERNEL__";
2524

2625
foreach my $file (@files) {
26+
local *INFILE;
27+
local *OUTFILE;
2728
my $tmpfile = "$installdir/$file.tmp";
28-
open(my $infile, '<', "$readdir/$file")
29+
open(INFILE, "<$readdir/$file")
2930
or die "$readdir/$file: $!\n";
30-
open(my $outfile, '>', "$tmpfile") or die "$tmpfile: $!\n";
31-
while (my $line = <$infile>) {
31+
open(OUTFILE, ">$tmpfile") or die "$tmpfile: $!\n";
32+
while (my $line = <INFILE>) {
3233
$line =~ s/([\s(])__user\s/$1/g;
3334
$line =~ s/([\s(])__force\s/$1/g;
3435
$line =~ s/([\s(])__iomem\s/$1/g;
3536
$line =~ s/\s__attribute_const__\s/ /g;
3637
$line =~ s/\s__attribute_const__$//g;
3738
$line =~ s/^#include <linux\/compiler.h>//;
38-
printf $outfile "%s", $line;
39+
printf OUTFILE "%s", $line;
3940
}
40-
close $outfile;
41-
close $infile;
41+
close OUTFILE;
42+
close INFILE;
4243
system $unifdef . " $tmpfile > $installdir/$file";
4344
unlink $tmpfile;
4445
}

0 commit comments

Comments
 (0)