On Tue, Dec 05, 2023 at 10:51:39AM +0100, Florian Weimer wrote: > * Alexey Dobriyan: > > > +/* > > + * Page sizes available for mmap(2) encoded as 1 page shift per byte in > > + * increasing order. > > + * > > + * Thus 32-bit systems get 4 shifts, 64-bit systems get 8 shifts tops. > > Couldn't you use the bits in a long instead, to indicate which shifts > are present? That's always going to be enough. Yes! I was so proud of myself for this line: val |= 21 << (s += 8); Now it is boring bitmask again :-)