HP-UX Reference (11i v2 07/12) - 1 User Commands A-M (vol 1)
c
chatr_pa(1)
PA-RISC Systems Only
chatr_pa(1)
Options For PA-RISC 64-bit ELF chatr
PA-RISC 64-bit ELF
chatr is similar to SOM chatr but supports new options (and obsoletes others).
New options:
OPTIONS FOR PA-RISC 64-bit ELF chatr (FORMAT 1)
+cd
Set the code bit for the file’s data segment(s).
+ci Set the code bit for the file’s text segments(s).
+md Set the modification bit for the file’s data segment(s).
+mi Set the modification bit for the file’s text segment(s).
OPTIONS FOR PA-RISC 64-bit ELF chatr (FORMAT 2)
With common options: -s, -B mode,
+k flag, +r flag, +s flag, +z flag.
+c Set the code bit for a specified segment.
+dz Enable or disable lazy swap allocation for dynamically allocated segments (such as the stack
or heap).
+m Set the modification bit for a specified segment.
+p Set the page size for a specified segment.
+sa Specify a segment using an address for a set of attribute modifications.
+sall Use all segments in the file for a set of attribute modifications.
+si Specify a segment using a segment index number for a set of attribute modifications.
chatr and MAGIC Numbers
The term shared applies to the magic number SHARE_MAGIC while the term demand-loaded applies to
the magic number
DEMAND_MAGIC . See magic(4) and the HP-UX Linker and Libraries Online User
Guide for more information.
chatr labels the following type of executables in output.
SHARE_MAGIC : shared executable
DEMAND_MAGIC : demand load executable
EXEC_MAGIC : normal executable
SHMEM_MAGIC :normalSHMEM_MAGIC executable
The linker produces SHARE_MAGIC executables by default.
Using SHMEM_MAGIC
SHMEM_MAGIC is an interim solution until 64-bit addressability is available with a true 64-bit kernel.
SHMEM_MAGIC will not be supported on future HP implementations of 64-bit architectures (beyond PA-
RISC 2.0). Programs that need larger than 1.75 GB of shared memory on those architectures will have to
be recompiled (as 64-bit executables) for those architectures.
Programs that are compiled as 64-bit executables on any 64-bit HP implementation (including PA-RISC 2.0)
cannot be marked as SHMEM_MAGIC nor do they need to be as they will already have access to more than
1.75 GB of shared memory.
The additional 1 GB of shared memory that is available over other types of executables can be availed of
only for system V shared memory and not other forms of shared memory (like memory mapped files).
Large Private Data Space
Starting from the 11i release of HP-UX, an additional 1 to 2GB of private address space is made available
for 32-bit programs (if enabled on a per process basis), at the expense of shared memory address space. This
change increases the amount of private data space available for a process.
Two new options, +q3p and +q4p, have been added to the chatr command that allow the user to control
whether the 3rd quadrant (the 1GB of address space from 0x80000000-0xBFFFFFFF) and the 4th quadrant
(the 1GB of address space from 0xC0000000-0xFFFFFFFF) of a process are part of the processes private
address space or are shared with other running processes. Previously, the 3rd and 4th quadrants were
dedicated for shared object usage. For example, System V shared memory and memory mapped files using
HP-UX 11i Version 2: December 2007 Update − 4 − Hewlett-Packard Company 139