i5/OS PASE environment variables are independent of ILE environment variables. Setting a variable in one environment has no effect on the other environment, but several system interfaces allow you to copy variables between environments:
Some i5/OS PASE runtime behaviors are different from AIX because of differences between the two operating systems. You can use these i5/OS PASE environment variables to control some of the differences:
Some i5/OS PASE shells (including the default Korn shell) do not set environment variables for exported variables in the shell process itself.
Setting PASE_FORK_JOBNAME in such a shell does not control job names for first-order utility processes created by that shell, but can control job names for processes forked by a utility started by the shell.
syscall number (GPR2 value) i5/OS PASE instruction address Link register value GPR3-10 values (if available, or zero otherwise) syscall name (if known, converted to uppercase)
i5/OS PASE programs can suppress the exception message and SIGILL signal for unsupported system calls by setting environment variable PASE_SYSCALL_NOSIGILL either in the initial environment passed to Qp2RunPase or before running exec. PASE_SYSCALL_NOSIGILL is ignored if the i5/OS PASE program has the S_ISUID or S_ISGID attribute, but otherwise is interpreted as a list of syscall function names with optional errno values, delimited by colons. The colon-delimited values must take one of these forms:
syscall_name syscall_name=errno_name (errno_name is EINVAL, EPERM, and so on) syscall_name=errno_number (errno_number is 0-127)
SIGILL is suppressed for any syscall_name in the list that is recognized as an i5/OS PASE system call. The first or only entry in the list may use a special syscall_name of "ALL" to set a default behavior for all unsupported syscalls. Any entry in the list that is not an i5/OS PASE syscall name is ignored, and specifying the name of a syscall that is supported by the i5/OS PASE kernel has no effect on the operation of that syscall.
Any syscall in the PASE_SYSCALL_NOSIGILL list that is unsupported by the i5/OS PASE kernel returns a function result of -1 with the specified errno value (defaulting to ENOSYS) except that specifying errno_number of 0 causes the unsupported syscall to return a function result of zero (without setting errno). An invalid errno_name or errno_number defaults to ENOSYS.
For example, the following PASE_SYSCALL_NOSIGILL value suppresses SIGILL for all unsupported syscalls. "quotactl" returns EPERM and "audit" returns function result of zero, while all other unsupported syscalls return ENOSYS:
export PASE_SYSCALL_NOSIGILL=ALL:quotactl=EPERM:audit=0
Note: PASE_SYSCALL_NOSIGILL is not intended for production programs. It is provided as a convenience for feasibility testing using unchanged AIX binaries that need to be modified for production.
Top | i5/OS PASE APIs | APIs by category |