about summary refs log tree commit homepage
path: root/lib/PublicInbox/Syscall.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox/Syscall.pm')
-rw-r--r--lib/PublicInbox/Syscall.pm4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/PublicInbox/Syscall.pm b/lib/PublicInbox/Syscall.pm
index cecb1247..530ee93b 100644
--- a/lib/PublicInbox/Syscall.pm
+++ b/lib/PublicInbox/Syscall.pm
@@ -87,7 +87,9 @@ if ($^O eq "linux") {
         # if we're running on an x86_64 kernel, but a 32-bit process,
         # we need to use the x32 or i386 syscall numbers.
         if ($machine eq 'x86_64') {
-            $machine = $Config{cppsymbols} =~ /\b__ILP32__=1\b/ ? 'x32' : 'i386'
+            my $s = $Config{cppsymbols};
+            $machine = ($s =~ /\b__ILP32__=1\b/ && $s =~ /\b__x86_64__=1\b/) ?
+                                'x32' : 'i386'
         } elsif ($machine eq 'mips64') { # similarly for mips64 vs mips
             $machine = 'mips';
         }