lib/PublicInbox/Syscall.pm | 4 +++- diff --git a/lib/PublicInbox/Syscall.pm b/lib/PublicInbox/Syscall.pm index cecb12476cefcf7bfe44919d881c9a408899bb76..530ee93bbb39a88e4be4415810bb5a87845a83e1 100644 --- a/lib/PublicInbox/Syscall.pm +++ b/lib/PublicInbox/Syscall.pm @@ -87,7 +87,9 @@ if ($Config{ptrsize} == 4) { # 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'; }