What’s
New for Customers Migrating from HP-UX 11i v1 September 2005?
PROT_EXEC: The HP-UX mmap() system call requires execute permission to map a file with MAP_SHARED and PROT_EXEC.
According to the Single UNIX Specification, Version 3 (a.k.a. UNIX
2003), to map a file with MAP_SHARED and PROT_EXEC, mmap() needs to have only read permission for the file being
mapped. In HP-UX 11i v3 (11.31) we have made changes in mmap() implementation to address this issue. In HP-UX 11i v3
(11.31) the mmap() function requires only read permission to map a file
with MAP_SHARED and PROT_EXEC.
MAP_FIXED: The mmap() function can be called with the flag MAP_FIXED to
establish a mapping at an address range specified by the arguments pa and len. According to the Single UNIX Specification, Version
2 (a.k.a. UNIX 98) the mapping established by mmap() with MAP_FIXED replaces any
previous mappings for those whole pages containing any part of the
address space of the process starting at pa and continuing for len bytes. In HP-UX 11i v1 (11.11) mmap() previously failed where there is already a mapping in
the specified address range. In HP-UX 11i v3 (11.31) HP has made
changes in mmap() implementation to replace any previous mappings for
those whole pages containing any part of the address space of the
process starting at pa and continuing for len bytes and establish the new mapping.