H-Series Application Migration Guide (H06.03+)

Migrating TNS Applications to H-Series Systems
H-Series Application Migration Guide429855-006
B-13
Using the Fail Option to Detect Data Misalignments
the following actions on a system-wide basis for misaligned addresses that would have
been rounded down:
Allow execution to continue using the rounded-down address (Round option)
Allow execution to continue using the natural (unrounded) address (Noround
option)
Generate a failure trap (Guardian) or a SIGILL signal (OSS) when a misaligned
address is detected (Fail option)
In addition, an SCF option is provided to generate a trace of misalignment events and
enter it into the EMS event log.
H-series systems also provide options for handling data misalignments in TNS
programs, with these differences:
Only the NoRound and Fail options are supported. Misaligned addresses are never
rounded down, so there is no option to continue execution using a rounded-down
address (misaligned addresses are not rounded down on H-series systems).
The default option is Fail. (On G-series systems, the default option is Round).
The NoRound and Fail options can be specified either on a system-wide basis
through SCF or on a per-program basis through a Binder command. The latter
feature allows you to detect misalignments in specific programs while allowing
others to execute through a misalignment.
The option to generate and log EMS events in the event of data misalignments is
not supported. However, the EPTRACE utility provides a capability similar to the
logging option.
With NoRound in effect, all TNS programs (those that formerly had round-downs as
well as those that did not) will run on a TNS/E system with no source code changes,
but not necessarily with the same results as on earlier systems.
Using the Fail Option to Detect Data Misalignments
The option to cause a program to fail when a misaligned address is detected is useful
for diagnosing misalignment problems in TNS programs.
The Fail behavior is stricter on H-series systems than on G-series systems. On
G-series systems, data misalignments are not always detected. Those that are
detected are handled according to the system setting (Round, Noround, or Fail), while
those that are not detected have the Noround behavior.
On H-series systems, all misalignments are detected and are handled according to the
system setting (Noround or Fail).
Note. The Round and NoRound misalignment handling options are both intended as temporary
solutions and migration aids, not as substitutes for recoding your program to ensure that all addresses are
properly aligned. In particular, programs that depend on a particular handling of misaligned addresses
cannot be safely migrated.