IBM® i 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 IBM PASE for i runtime behaviors are different from AIX® because of differences between the two operating systems. You can use these IBM PASE for i environment variables to control some of the differences:
Some IBM PASE for i 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) IBM PASE for i instruction address Link register value GPR3-10 values (if available, or zero otherwise) syscall name (if known, converted to uppercase)
IBM PASE for i 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 IBM PASE for i 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 IBM PASE for i 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 IBM PASE for i syscall name is ignored, and specifying the name of a syscall that is supported by the IBM PASE for i kernel has no effect on the operation of that syscall.
Any syscall in the PASE_SYSCALL_NOSIGILL list that is unsupported by the IBM PASE for i 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.