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

TNS/E Native Architecture Features
H-Series Application Migration Guide429855-006
3-5
TNS/E Object File Format
Also on both platforms, the heap can grow to the maximum size of the globals-heap
segment less the size of the global data. On the TNS/R platform, the maximum
globals-heap size is 1.1 GB. On the TNS/E platform, the maximum globals-heap size is
1.5 GB.
See the Guardian Programmer’s Guide for more information on TNS/R and TNS/E
native processes.
TNS/E Object File Format
The TNS/E native object file format differs from that of TNS/R native object files. Key
differences are:
TNS/E native object files are in 64-bit ELF format, while TNS/R native object files
are in 32-bit ELF format.
In the Guardian environment, TNS/E native object files are type 800 files. TNS/R
native object files are type 700 files.
TNS/R native object files use the Third Eye format, which mixes symbol
information needed at link time with symbol information needed only for debugging
at run time. TNS/E native object files use a separate DWARF symbol table for
debugging information.
TNS/E native and TNS/R native object files differ in other respects as well. See the eld
Manual and the enoft Manual for details on the structure of TNS/E native object files.
Signals on H-Series Systems
The signals facility is unchanged on H-series systems. However, certain operations
that caused a particular signal on TNS/R systems might result in a different signal on
TNS/E systems.
Illegal Operation Causes Different Signal in H-Series
On TNS/R systems, accessing memory available only to privileged users while running
in non-privileged mode results in a SIGSEGV (invalid memory reference) signal. On
TNS/E systems, this same operation results in a SIGILL (invalid instruction) signal.
Dynamic-Link Libraries (DLLs)
All libraries in the TNS/E native environment are dynamic-link libraries (DLLs). A DLL is
a type of library that is constructed of position-independent code (PIC). PIC is code
that can be relocated in virtual memory at load time without alteration. All references in
PIC files to global or external symbols are made indirectly through addresses stored in
a data area so that the loader can find and bind them to reflect their virtual-memory
location at load time without modifying code. Shared run-time libraries (SRLs), by