Subject: Max process data size must be signed integer?
To: None <tech-kern@netbsd.org>
From: Florian Stoehr <netbsd@wolfnode.de>
List: tech-kern
Date: 11/11/2005 00:41:30
Hi,
on i386, setting kernel options MAXDSIZ and DFLDSIZ to >= 2**31
results in an error in sys/kern/exec_elf32.c (on 2-1-RELEASE)
in line 427:
/*
* Now compute the size and load address.
*/
HERE->>> addr = VM_DEFAULT_ADDRESS(epp->ep_daddr,
round_page(limit) - trunc_page(base_ph->p_vaddr));
} else
addr = *last; /* may be ELF_LINK_ADDR */
it claims that the value may not be an unsigned integer.
-> Is this the desired behaviour or a bug? If desired, what to
do with a negative process data segment size (wondering)?
I haven's tested what is the result on a 64-bit platform yet,
I'll try on my sparc64 soon.
Thanks
-Florian