https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290411 reports that 15.0 does not support __syscall use in armv7 lib32 code on aarch64; but armv7 chroot fails too

From: Mark Millard <marklmi_at_yahoo.com>
Date: Tue, 21 Oct 2025 20:46:20 UTC
QUOTE
While debugging a devel/libunwind failure in an armv7 program running on aarch64,
I found that the program crashes with ENOSYS while calling __syscall(). Here is a reproducer:

#include <sys/mman.h>
#include <sys/syscall.h>
#include <unistd.h>

int main()
{
__syscall(SYS_mmap, 0, 4096, 3, MAP_ANON|MAP_PRIVATE, -1, 0);
}

This is effectively what the GET_MEMORY() macro in libunwind does. Expected output: nothing. Actual output: Bad system call (core dumped).

I'll work around this failure in libunwind for now, but please fix this for the future.
END QUOTE

But I just tested trying the program in a chroot to an armv7
world directory tree and it fails there too. It is not just
lib32 that fails.


===
Mark Millard
marklmi at yahoo.com