* [PATCH] syscall: fix i386/i686 detection
@ 2022-12-25 13:24 Eric Wong
0 siblings, 0 replies; only message in thread
From: Eric Wong @ 2022-12-25 13:24 UTC (permalink / raw)
To: meta
Both __ILP32__ and __x86_64__ need to be defined for a system to
be considered x32. Without this, my 32-bit Debian VM on a
64-bit kernel would fail after upgrading to Perl 5.32.1 on
Debian 11 (bullseye).
---
lib/PublicInbox/Syscall.pm | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
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';
}
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2022-12-25 13:24 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-25 13:24 [PATCH] syscall: fix i386/i686 detection Eric Wong
Code repositories for project(s) associated with this public inbox
https://80x24.org/public-inbox.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).