Randomize the address of shared page.
The random offset w.r.t the legacy fixed address is stored in struct vmspace.
It's inherited on fork.
In order to make space for a new MAP_ASLR_SHARED_PAGE vm_flags flags its type was changed from u_char to uint16_t.
This increases the size of struct vm_map and might therefore require a bump of FreeBSD version.
The shared page mapping was moved from exec_new_vmspace to exec_map_stack.
The former function was called before image activator has a chance to parse ASLR related flags.
The behavior can be changed using kern.elf64.aslr.shared_page sysctl.
The feature is enabled by default for 64 bit applications.