|
HP OpenVMS Version 8.2 New Features and
Documentation Overview
4.12 New RTL LIB Routines
Table 4-2 lists the new routines provided with OpenVMS Version 8.2.
The routines apply to both OpenVMS Alpha and OpenVMS I64 systems unless
otherwise specified.
Table 4-2 RTL LIB Routines
Routine |
Description |
LIB$CVTS_FROM_INTERNAL_TIME
|
Convert internal time to external time (S-floating value).
|
LIB$CVTS_TO_INTERNAL_TIME
|
Convert external time to internal time (S-floating value).
|
LIB$EMODS
|
Perform extended multiply and integerize for S-floating values.
|
LIB$EMODT
|
Perform extended multiply and integerize for T-floating values.
|
LIB$I64_CREATE_INVO_CONTEXT
|
Allocate and initialize an invocation context block. (I64 only)
|
LIB$I64_FREE_INVO_CONTEXT
|
Deallocate an invocation context block. (I64 only)
|
LIB$I64_GET_INVO_CONTEXT
|
Get the invocation context of any active procedure. (I64 only)
|
LIB$I64_GET_CURR_INVO_CONTEXT
|
Gets the current invocation context of any active procedure. (I64 only)
|
LIB$I64_GET_CURR_INVO_HANDLE
|
Get current invocation handle. (I64 only)
|
LIB$I64_GET_FR
|
Get floating-point register value. (I64 only)
|
LIB$I64_GET_GR
|
Get general register value. (I64 only)
|
LIB$I64_GET_INVO_HANDLE
|
Get invocation handle. (I64 only)
|
LIB$I64_GET_PREV_INVO_CONTEXT
|
Get previous invocation context. (I64 only)
|
LIB$I64_GET_PREV_INVO_HANDLE
|
Get previous invocation handle. (I64 only)
|
LIB$I64_GET_UNWIND_HANDLER_FV
|
Given a pc_value, find the function value (address of the procedure
descriptor) for the condition handler, if present, and write it to
handler_fv. (I64 only)
|
LIB$I64_INIT_INVO_CONTEXT
|
Initialize an invocation context block that has already been allocated.
(I64 only)
|
LIB$GET_UIB_INFO
|
Return information from the unwind information block.
|
LIB$I64_GET_GR
|
Get general register value. (I64 only)
|
LIB$I64_GET_UNWIND_LSDA
|
Find Address of Unwind Information Block Language-Specific Data. (I64
only)
|
LIB$I64_GET_UNWIND_OSSD
|
Find address of the unwind information block operating system-specific
data area. (I64 only)
|
LIB$I64_IS_AST_DISPATCH_FRAME
|
Determine whether a given PC value represents an AST. (I64 only)
|
LIB$I64_IS_EXC_DISPATCH_FRAME
|
Determine whether a given PC value represents an exception dispatch
frame. I64 only.
|
LIB$I64_PREV_INVO_END
|
Free memory used to process unwind descriptors. (I64 only)
|
LIB$I64_PUT_INVO_REGISTERS
|
Put invocation registers.
|
LIB$I64_SET_FR
|
Write context of invocation context block. (I64 only)
|
LIB$I64_SET_GR
|
Write invocation block general register value. (I64 only)
|
LIB$I64_SET_PC
|
Write pc_copy value of invocation context block. (I64 only)
|
LIB$LOCK_IMAGE
|
Lock an image in the process working set.
|
LIB$MULTS_DELTA_TIME
|
Multiply a delta time by an S-floating scalar.
|
LIB$POLYS
|
Evaluate Polynomials routine (S-floating values).
|
LIB$POLYT
|
Evaluate polynomials (T-floating values).
|
LIB$UNLOCK_IMAGE
|
Unlock an image from the process working set.
|
See the HP OpenVMS RTL Library (LIB$) Manual for more information.
4.12.1 Change to LIB$GETDVI routine (I64 only)
A new argument, pathname, has been added to the RTL LIB
routine LIB$GETDVI for use on OpenVMS I64 systems. See the HP OpenVMS RTL Library (LIB$) Manual
for more information.
4.13 New RTL OTS Routines
Table 4-3 lists the new OTS routines. All routines are provided for
both OpenVMS Alpha and OpenVMS I64 systems unless otherwise specified.
Table 4-3 RTL OTS Routines
Routine |
Description |
OTS$CNVOUT_S
|
Convert an S-floating value to a character string.
|
OTS$CNVOUT_T
|
Convert a T-floating value to a character string.
|
OTS$CVT_T_S
|
Convert numeric text to an S-floating value.
|
OTS$CVT_T_T
|
Convert numeric text to a T-floating value.
|
OTS$DIVCS_R3
|
Return an S-floating complex result of a division on complex numbers.
|
OTS$DIVCT_R3
|
Return a T-floating complex result of a division on complex numbers.
|
OTS$MULCT_R3
|
Calculate the complex product of two complex values; returns a
T-floating complex number.
|
OTS$POWCSCS_R3
|
Raise a complex base to an S-floating complex exponent.
|
OTS$POWCSCT_R3
|
Raise a complex base to a T-floating complex exponent.
|
OTS$POWCSJ
|
return the complex result of raising an S-floating complex base to an
integer exponent.
|
OTS$POWCTJ
|
return the complex result of raising a T-floating complex base to an
integer exponent.
|
OTS$POWSJ
|
Raise an S-floating base to a longword exponent.
|
OTS$POWSLU
|
Raise an S-floating-point base to an unsigned longword.
|
OTS$POWSS
|
Raise an S-floating base to an S-floating or longword integer exponent.
|
OTS$POWTLU
|
Raise a T-floating-point base to an unsigned longword.
|
OTS$POWTJ
|
Raise an T-floating base to a longword integer exponent.
|
OTS$POWTT
|
Raise a T-floating base to a T-floating or longword integer exponent.
|
For more information, see the HP OpenVMS RTL General Purpose (OTS$) Manual.
4.14 Patch Utility Now Available on OpenVMS Alpha and OpenVMS I64
The Patch utility, formerly only on OpenVMS VAX systems, is now
available on OpenVMS Alpha and OpenVMS I64 systems. By default,
PATCH/ABSOLUTE is involved, which patches a file at absolute virtual
addresses. For more information about PATCH/ABSOLUTE and related
parameters, see the HP OpenVMS DCL Dictionary. Additional documentation on the Patch
utility can be found in the OpenVMS VAX Patch Utility Manual, available on the OpenVMS
Documentation web site under Archived Manuals, or in online Help inside
the Patch utility.
4.15 New and Revised System Services
Table 4-4 summarizes system services that are new in OpenVMS Version
8.2.
Table 4-4 New System Services
System Service |
Description |
SYS$CLEAR_UNWIND_TABLE
|
Clears unwind table (UT) information.
|
SYS$GET_UNWIND_ENTRY_INFO
|
On I64 systems, gets fixed-up unwind entry information.
|
SYS$GOTO_UNWIND_64
|
On Alpha and I64 systems, unwinds the call stack.
|
SYS$IEEE_SET_PRECISION_MODE
|
On I64 systems, modifies the IEEE precision mode and, optionally,
returns the previous value.
|
SYS$IEEE_SET_ROUNDING_MODE
|
On I64 systems, modifies the IEEE rounding mode and, optionally,
returns the previous value.
|
SYS$RPCC_64
|
On Alpha and I64 systems, returns a 64-bit, process-based,
high-resolution time counter.
|
SYS$SET_RETURN_VALUE
|
On Alpha and I64 systems, sets the return values or condition codes in
the Mechanism Array, independent of the architecture.
|
SYS$SET_UNWIND_TABLE
|
On I64 systems, registers or extends unwind table (UT) information.
|
For more detailed information, refer to the HP OpenVMS System Services Reference Manual. For
additional information about the UNWIND system service routines, refer
to the HP OpenVMS Calling Standard.
Table 4-5 summarizes system services that have been revised in
OpenVMS Version 8.2.
Table 4-5 Revised System Services
System Service |
Description |
SYS$CHECK_FEN
|
On I64 systems, the bitmask has two bits: bit 0 for the low
floating-point bank and bit 1 for the high floating-point bank.
|
SYS$CREATE_GPFN
|
SEC$M_UNCACHED flag applies only to I64 systems.
|
SYS$CRELNT
|
LNM$M_NO_ALIAS does not apply to clusterwide logical name tables.
|
SYS$CREMBX
|
Value of prmflg changed.
|
SYS$CRMPSC_GDZRO_64
|
SS$_INSF_SHM_REG condition value added.
|
SYS$CRMPSC_GPFN_64
|
Revised to reflect new behaviors of Alpha and I64 systems.
|
SYS$CRMPSC_PFN_64
|
SEC$M_UNCACHED flag applies only to I64 systems.
|
SYS$DEQ
|
Extended Lock Value Block information added.
|
SYS$ENQ
|
Extended Lock Value Block information added.
|
SYS$GETLKI
|
Extended Lock Value Block information added.
|
SYS$GETDVI
|
The following new item codes have been added:
ACCESSTIMES_RECORDED
AVAILABLE_PATH_COUNT
ERASE_ON_DELETE
ERROR_RESET_TIME
HARDLINKS_SUPPORTED
MOUNT_TIME
MOUNTVER_ELIGIBLE
MPDEV_AUTO_PATH_SW_CNT
MPDEV_MAN_PATH_SW_CNT
MVSUPMSG
NOCACHE_ON_VOLUME
NOHIGHWATER
NOSHARE_MOUNTED
ODS2_SUBSET0
ODS5
PATH_AVAILABLE
PATH_NOT_RESPONDING
PATH_POLL_ENABLED
PATH_SWITCH_FROM_TIME
PATH_SWITCH_TO_TIME
PATH_USER_DISABLED
PROT_SUBSYSTEM_ENABLED
SCSI_DEVICE_FIRMWARE_REV
TOTAL_PATH_COUNT
VOLUME_EXTEND_QUANTITY
VOLUME_MOUNT_GROUP
VOLUME_MOUNT_SYS
WRITETHRU_CACHE_ENABLED
|
SYS$GETRMI
|
Many buffer length fields changed to 8 bytes.
|
SYS$IEEE_SET_FP_CONTROL
|
Revised to reflect new behaviors of Alpha and I64 systems.
|
SYS$INIT_VOL
|
New item codes added: INIT$_ERASE_ON_DELETE and INIT$_ERASE_ON_INIT,
INIT$_VOLUME_LIMIT
|
SYS$LKWSET
|
Revised to reflect new behaviors of Alpha and I64 systems.
|
SYS$LKWSET_64
|
Revised to reflect new behaviors of Alpha and I64 systems.
|
SYS$MGBLSC_GPFN_64
|
SEC$M_UNCACHED flag ignored on I64 systems.
|
SYS$MOUNT
|
Item code $MNT$_DENSITY revised.
|
SYS$SETFLT
|
Small change made to FLT$M_EXECUTABLE.
|
SYS$SETFLT_64
|
Small change made to FLT$M_EXECUTABLE.
|
SYS$SETRWN
|
Added system resources and process quotas are affected by resource wait
mode.
|
SYS$SET_DEVICE
|
Added new condition values returned for SDV$_MP_SWITCH_PATH.
|
SYS$ULWSET
|
Revised to reflect new behaviors of Alpha and I64 systems.
|
SYS$ULWSET_64
|
Revised to reflect new behaviors of Alpha and I64 systems.
|
Refer to the descriptions in the HP OpenVMS System Services Reference Manual for more information.
4.16 Time Zone Information Compiler (zic) Updates
New time indicators are added for AT field in Rule line. The letter "u"
(or "g" or "z") indicates the time in AT field as UTC. The following is
a detailed description of zic:
AT --- Gives the time of day at which the rule takes effect. Recognized
forms include:
2 --- time in hours
2:00 --- time in hours and minutes
15:00 --- 24-hour format time (for times after noon)
1:28:14 --- time in hours, minutes, and seconds
minus sign (-) --- equivalent to 0
Hour 0 is midnight at the start of the day, and hour 24 is midnight at
the end of the day. Any of these forms may be followed by the letter w
if the given time is local "wall clock" time, the letter s if the given
time is local "standard" time, or the letter u (or g or z) if the given
time is universal time. In the absence of an indicator, wall clock time
is assumed.
4.17 Traceback Facility
The Traceback facility for I64 systems includes a new symbolize
routine, TBK$I64_SYMBOLIZE. This routine, which can be invoked at any
time, allows an application to process a condition invoked by an
exception.
The following information describes this routine.
TBK$I64_SYMBOLIZE
The Traceback symbolize routine, TBK$I64_SYMBOLIZE, allows an
application program to process an exception condition.
Calling Convention
#pragma pointer_size save
|
int32 tbk$i64_symbolize(
uint64 const pc,
struct dsc64$descriptor * const filename_desc,
struct dsc64$descriptor * const library_module_desc,
uint64 * const record_number,
struct dsc64$descriptor * const image_desc,
struct dsc64$descriptor * const module_desc,
struct dsc64$descriptor * const routine_desc,
uint64 * const listing_lineno,
uint64 * const rel_pc);
#pragma pointer_size restore
|
Input
pc
|
Executable instruction to be "tracebacked" by value in process space.
|
Output
filename_desc
|
String descriptor in which to return the name of the file containing
the code, by reference.
|
library_module_desc
|
String descriptor in which to return the name of the text library file
containing the code, by reference. Returned only if applicable.
|
record_number
|
A 64-bit unsigned integer in which to return the record number (that
is, record number n specifies the nth line of the file specified by
filename_desc), by reference.
|
image_desc
|
String descriptor in which to return the image name, by reference.
|
module_desc
|
String descriptor in which to return the module name, by reference.
|
routine_desc
|
String descriptor in which to return the routine name, by reference.
|
listing_lineno
|
A 64-bit unsigned integer in which to write the compiler listing line
number, by reference.
|
rel_pc
|
A 64-bit unsigned integer in which to write the relative PC value, by
reference.
|
Return Value
TBK$_NORMAL is returned on successful completion Other unsuccessful
completion codes may be returned if an error occurs.
Description
The Traceback facility for I64 systems includes a new symbolize
routine, TBK$I64_SYMBOLIZE. This routine, which can be invoked at any
time, allows an application to process a condition invoked by an
exception in an alternate way. Normal traceback processing generates
"traceback stack" information onto SYS$OUTPUT (that is, a series of pc
values, one for each stack level). If an application wants to
independently process traceback information, it can invoke the
traceback handling directly.
An application can specify any executable pc value within its image
address space and be returned any or all of the return arguments
described in the Output section, above. The return information
specifies the location of listing line and/or record number of the
source code line that generated the object code that includes the pc
value specified. This information can also specify the image name, the
module name, and the routine name. A relative pc value, which specifies
either the image relative or module relative value, is also returned.
The ability for Traceback to return the values requested is dependent
upon whether traceback information was requested during the compilation
and linker steps of image generation.
Notes
Specifying any output argument (value) as zero causes the argument to
be ignored.
To link an application that refers to TBK$I64_SYMBOLIZE, include the
following within a linker option file:
SYS$SHARE:TRACE.EXE/shareable
|
|
4.18 XDELTA New Features
The following list summarizes new features of the OpenVMS XDELTA
Debugger running on OpenVMS Alpha and I64 systems:
- New commands: ;D and ;T
- Better symbolization
- XDELTA supports access to the following Itanium® registers:
- General registers: R0 through R127
- Floating registers: FP0 through FP127
- Application registers: AR0 through AR127
- Branch registers: BR0 through BR7
- Control registers: CR0 through CR63
- Predicate registers: P0 through P63
- Miscellaneous registers: PC, PS, CFM
- Software implementation of Alpha hardware registers
For more information, see the HP OpenVMS Delta/XDelta Debugger Manual.
|