On Mon, 21 Oct 2019 20:30:53 +0300 Alexey Dobriyan <adobriyan@xxxxxxxxx> wrote: > On Mon, Oct 21, 2019 at 05:28:09PM +0900, Masami Hiramatsu wrote: > > Currently proc-self-map-files-002.c sets va_max (max test address > > of user virtual address) to 4GB, but it is too big for 32bit > > arch and 1UL << 32 is overflow on 32bit long. > > > > Make va_max 1GB on 32bit arch like i386 and arm. > > > +#if __BITS_PER_LONG == 32 > > +# define VA_MAX (1UL << 30) > > +#elif __BITS_PER_LONG == 64 > > +# define VA_MAX (1UL << 32) > > +#else > > +# define VA_MAX 0 > > +#endif > > + > > int main(void) > > { > > const int PAGE_SIZE = sysconf(_SC_PAGESIZE); > > - const unsigned long va_max = 1UL << 32; > > + const unsigned long va_max = VA_MAX; > > No, just make it like 1MB unconditionally. Ah, I sse. BTW, would you mean 1GB? > This is not intended to cover all address space, just large enough part > (larger than reasonable vm.mmap_min_addr) Then, should we better to check the /proc/sys/vm/mmap_min_addr? Thank you, -- Masami Hiramatsu <mhiramat@xxxxxxxxxx>