Sergey Bugaev, le jeu. 09 janv. 2025 18:36:57 +0300, a ecrit: > On Thu, Jan 9, 2025 at 6:18 PM Jessica Clarke <jrt...@jrtc27.com> wrote: > > On 9 Jan 2025, at 15:12, Diego Nieto Cid <dnie...@gmail.com> wrote: > > > Looking at the types.h header, I see there are HWCAP2_* definitions for > > > bits above 32. Since hwcaps_t is an uint32_t and the defs file claims to > > > return two values (I assume the first for HWCAP_* and the second for > > > HWCAP2_*), I don't see how to get the higher bits of HWCAP2_*. > > > > > > How does that work? > > > > On Linux, FreeBSD and any other OS that implements AT_HWCAP(2), you get > > hwcaps via auxv, and Elf_Auxinfo’s a_un.a_val is a long, so it’s 64-bit > > on 64-bit architectures, which aarch64 is. Making hwcaps_t a uint32_t > > on aarch64 is a mistake. > > Hmm. Indeed, that looks like an oversight, indeed both Linux and glibc > define hwcaps to be 64-bit. > > Let's say that aarch64-gnu is experimental enough that it's fine to > just change the RPC ABI.
Sure, we don't even have the aarch64_get_hwcaps implementation committed :) > I'll remember to switch it to uint64_t the next time I get to it, or > perhaps you want to post a patch now? Does the posted patch look fine to you? Samuel