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 35d6dd9fdced5be301f6ae37f5e83eebfe39521b..56894daf6368f423b17445f48d08896b750ce7e8 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;