[Toybox] [PATCH] strace: fix arm64 test.

Rob Landley rob at landley.net
Mon Nov 27 15:38:09 PST 2023


On 11/27/23 17:16, enh via Toybox wrote:
> We're not specifically looking for armv8; we want any aarch64.
> 
> I've also changed the 32-bit arm test because (a) Linux doesn't
> support arm32 OABI any more, (b) it's clearer this way that 32-bit
> armv8 still belongs in this branch, and (c) __arm__ and __aarch64__
> are the usual spellings everywhere. (Sure, the latter is ugly, but
> we have __i386__ rather than __x86__ one line later anyway! I still
> have to grep AOSP for mistaken uses of the non-existent __x86__ on
> a regular basis. And don't get me started on __riscv and __riscv_xlen!)

Did you see my Nov 18th blog entry about "linux32" making my new pi-alike say
"armv8l" instead of "armv7l"?

There was no non-64 bit armv8. Moving to 64 bit was what armv8 introduced. The
last 32 bit architecture was armv7. I had to add a second override, and then
teach the build to lie extra with a non-matching --host in order to get 32 bit
hosted arm toolchains built for the next release.

All the personality(PER_LINUX32) syscall _does_ is get uname and /proc to
lie-to-autoconf about the architecture! It doesn't stop you from launching new
64 bit executables, or change memory mappings or CPU flags or anything. It just
makes the queries return different info... and they got it wrong.

Sigh. I removed my horrible #ifdef stack from uname because I thought linux32
covered it, but I hadn't tested other host architectures...

Rob


More information about the Toybox mailing list