leaking_addresses: use system command to get arch
authorTobin C. Harding <me@tobin.cc>
Fri, 5 Jan 2018 22:24:49 +0000 (09:24 +1100)
committerTobin C. Harding <me@tobin.cc>
Fri, 6 Apr 2018 22:50:34 +0000 (08:50 +1000)
Currently script uses Perl to get the machine architecture. This can be
erroneous since Perl uses the architecture of the machine that Perl was
compiled on not the architecture of the running machine. We should use
the systems `uname` command instead.

Use `uname -m` instead of Perl to get the machine architecture.

Signed-off-by: Tobin C. Harding <me@tobin.cc>
scripts/leaking_addresses.pl

index 35d6dd9..56894da 100755 (executable)
@@ -142,10 +142,10 @@ if (!is_supported_architecture()) {
        foreach(@SUPPORTED_ARCHITECTURES) {
                printf "\t%s\n", $_;
        }
+       printf("\n");
 
-       my $archname = $Config{archname};
-       printf "\n\$ perl -MConfig -e \'print \"\$Config{archname}\\n\"\'\n";
-       printf "%s\n", $archname;
+       my $archname = `uname -m`;
+       printf("Machine hardware name (`uname -m`): %s\n", $archname);
 
        exit(129);
 }
@@ -172,7 +172,7 @@ sub is_supported_architecture
 
 sub is_x86_64
 {
-       my $archname = $Config{archname};
+       my $archname = `uname -m`;
 
        if ($archname =~ m/x86_64/) {
                return 1;
@@ -182,9 +182,9 @@ sub is_x86_64
 
 sub is_ppc64
 {
-       my $archname = $Config{archname};
+       my $archname = `uname -m`;
 
-       if ($archname =~ m/powerpc/ and $archname =~ m/64/) {
+       if ($archname =~ m/ppc64/) {
                return 1;
        }
        return 0;