SEARCH CONTACT US SUPPORT SERVICES PRODUCTS STORE
United States    
COMPAQ STORE | PRODUCTS | SERVICES | SUPPORT | CONTACT US | SEARCH
gears
compaq support options
support home
software & drivers
ask Compaq
reference library
support forum
frequently asked questions
support tools
warranty information
service centers
contact support
product resources
parts for your system
give us feedback
associated links
.
} what's new
.
} contract access
.
} browse patch tree
.
} search patches
.
} join mailing list
.
} feedback
.
patches by topic
.
} DOS
.
} OpenVMS
.
} Security
.
} Tru64 Unix
.
} Ultrix 32
.
} Windows
.
} Windows NT
.
connection tools
.
} nameserver lookup
.
} traceroute
.
} ping
OpenVMS VMS712_ACRTL-V0100 Alpha V7.1-2 DEC C RTL ECO Summary

TITLE: OpenVMS VMS712_ACRTL-V0100 Alpha V7.1-2 DEC C RTL ECO Summary Modification Date: 23-SEP-1999 Modification Type: New Kit NOTE: An OpenVMS saveset or PCSI installation file is stored on the Internet in a self-expanding compressed file. The name of the compressed file will be kit_name-dcx_vaxexe for OpenVMS VAX or kit_name-dcx_axpexe for OpenVMS Alpha. Once the file is copied to your system, it can be expanded by typing RUN compressed_file. The resultant file will be the OpenVMS saveset or PCSI installation file which can be used to install the ECO. Copyright (c) Compaq Computer Corporation 1999. All rights reserved. OP/SYS: OpenVMS Alpha COMPONENT: DEC C RTL DECC$SHR.EXE CRTL.OBJ (new file - updates STARLET.OBJ) CRTLMSGDEF.OBJ (new file - updates STARLET.OBJ) SOURCE: Compaq Computer Corporation ECO INFORMATION: ECO Kit Name: VMS712_ACRTL-V0100 DEC-AXPVMS-VMS712_ACRTL-V0100--4.PCSI ECO Kits Superseded by This ECO Kit: None ECO Kit Approximate Size: 15,392 Blocks Kit Applies To: OpenVMS Alpha V7.1-2 System/Cluster Reboot Necessary: Yes Rolling Re-boot Supported: Yes Installation Rating: INSTALL_3 3 - To be installed on all systems running the listed versions of OpenVMS which are experiencing the problems described. Kit Dependencies: The following remedial kit(s) must be installed BEFORE installation of this kit: None In order to receive all the corrections listed in this kit, the following remedial kits should also be installed: None ECO KIT SUMMARY: An ECO kit exists for the DEC C RTL on OpenVMS Alpha V7.1-2. This kit addresses the following problems: o The getenv() function has been corrected to check for a Command Line Interpreter (CLI) symbol only when called in user access mode. While DEC C RTL is a user-mode run time library, a decision was made to correct getenv() in order to make the library more robust. The reason for this change is because calling the CLI from within exec or kernel mode may result in an access violation. With this fix, when called from inner access mode, the getenv() function will search only the C environment list and OpenVMS logical names. This fix does not mean however that the user-mode only restriction was lifted. It is still unsupported to call the DEC C RTL functions, including getenv(), in any access mode other than in user-mode. o The strptime() function has been modified to comply with X/Open CAE Specification System Interfaces and Headers Issue 5 (commonly known as XPG5). In XPG5, how the strptime() function processes the "%y" directive was changed for a two-digit year within the century, if no century is specified. According to XPG5, for the "%y" directive, when a century is not otherwise specified, values in the range 69-99 refer to years in the twentieth century (1969 to 1999 inclusive), while values in the range 00-68 refer to years in the twenty-first century (2000 to 2068 inclusive). Essentially, for the "%y" directive, strptime() became a "pivoting" function with 69 being a pivoting year. Before this change, the strptime() function was always interpreting a two-digit year with no century as a year within the twentieth century. With the current ECO kit, XPG5-compliant strptime() becomes a default strptime() function in the DEC C RTL. However, for compatibility reasons, the previous "non-pivoting" XPG4-compliant strptime() function was retained. The "pivoting" is controlled by the DECC$XPG4_STRPTIME logical name. Defining this logical name prior to invoking the application (any equivalence string) will cause the DEC C RTL to use the "non-pivoting" flavor of strptime(). Also, "non-pivoting" strptime() can be called directly as the decc$strptime_xpg4() function. While there is an easy way to disable "pivoting" by just defining a logical name, you should be aware that if the application ceases to work correctly due to the change in the strptime() function, it almost certainly means that there is a Y2K problem in the application. Y2K-safe applications should not be affected by the change in strptime(). o The stat() function has been corrected to process file specifications such as "foo:[000000]", where foo is defined as a concealed device like the following: $ define/trans=(conc) foo device:[bar.] Prior to this fix, the stat() function would fail for such a file specification with errno set to ENOENT (No such file or directory). o Both flavors of the system() function were corrected to ensure that the function always returns the correct status. The POSIX-compliant system() function has been corrected to always return a status corresponding to the signal, which terminated the child process if the child process was terminated due to receiving a signal. Prior to this fix, there was a small timing window when the function could return the status corresponding to the child process completion code, even in the case when the child process was terminated by a signal. The Non-POSIX system() function has been corrected to always return the OpenVMS completion code of the child process. Prior to this fix, there was a small timing window when the function could return the status from LIB$SPAWN(), instead of the completion code of the child process. o The opendir() and readdir() functions have been corrected to process directories on a remote node specified using the following DECnet file specification: nodename"username password"::device:[directory] Prior to this fix, opendir() could fail with errno set to ENOTDIR (Not a directory). In the case when opendir() could successfully open the directory, the readdir() function could return incorrect file names. o The times() and clock() functions have been modified to be both thread-safe and AST-reentrant. Prior to this change, these functions belonged to the class of functions which are thread safe, but not AST-reentrant (see section 1.7.2 Multithread Restrictions in the DEC C RTL Reference Manual). The change in the reentrancy status of the times() and clock() functions will be reflected in the next release of the Manual. o The stat() function no longer fails due to the failure of the mktime() function. It was reported that the stat() function fails for a file created on April 4th 1999 at 2:04 a.m. EST, which is the "missing hour" in the transition from standard to daylight saving time in the Eastern time zone. The problem was due to the failure of the mktime() function to process the "missing hour" (stat() calls mktime() to fill st_?time members of the stat structure with the UTC time). While the mktime() function was not fixed, the stat() function was corrected to handle the failure of mktime() and set st_?time fields correctly, even if mktime() fails. Note, that, strictly speaking, "missing hour" is an invalid input for mktime(): there is no such time as "April 4th 1999 2:04 a.m.", for example, in the Eastern time zone. Given the possibility of calling mktime() with an invalid time, the stat() function probably should not have used mktime() in the first place or at least should have been prepared for an mktime() failure. o The select() function has been corrected to return a failure status if either an invalid file descriptor or file descriptor not associated with a socket is found in one of the specified file descriptor sets. In the case of an invalid file descriptor, the select() function sets errno to EBADF. In case of a file descriptor not associated with a socket, the function sets errno to ENOTSOCK. Failure with errno set to EBADF is the standard requirement for the select() function. Failure with errno set to ENOTSOCK occurs because the select() function can currently operate only on sockets. Prior to this fix, the function was setting errno as described above, but otherwise was ignoring invalid file descriptors and file descriptors not associated with sockets. The old behavior can be requested by defining the logical name DECC$SELECT_IGNORES_INVALID_FD prior to invoking the application (any equivalence string). o The bug in the printf() "engine" introduced in the ALPACRT07_071 kit has been fixed. The bug was that when the minimal field width or precision specified in the format directive was greater than 1024, the "engine" could write beyond the end of allocated internal conversion buffer. It could happen only in X_FLOAT floating point mode (/L_DOUBLE_SIZE=128, which is the default on Alpha). The bug affected all functions from the printf() family of functions. o The problem commonly known as the "Y2038 bug" has been fixed. The C run-time library time functions, which access the current time using the OpenVMS time functions, have been corrected to handle times after 19-Jan-2038 3:14:07. Data type time_t is defined on OpenVMS as an unsigned 32-bit integer. However, some of the functions which retrieve current time from the system and convert it to time_t format were using signed arithmetic. This fix affects the functions: o decc$fix_time() o time() o ftime() o gettimeofday() o getclock() With this fix, DEC C RTL time functions will handle times successfully until 07-Feb-2106 06:28:15. o The printf() family of functions have been enhanced to perform better when the calling application has exhausted available memory. o The file access functions have been corrected to process file names on UNIX systems over DECnet. The file name for a file on a UNIX system accessed over DECnet was being converted to uppercase, even when the name was enclosed in double quotes. This problem was introduced on OpenVMS V7.2 and also affects OpenVMS V7.1-2 and OpenVMS V7.2-1. File names of the form node::"dir/name" are now processed correctly. INSTALLATION NOTES: The images in this kit will not take effect until the system is rebooted. If there are other nodes in the VMScluster, they must also be rebooted in order to make use of the new image(s). If it is not possible or convenient to reboot the entire cluster at this time, a rolling re-boot may be performed. During installation you may see the following message: %INSTALL-E-NODELSHRADR, unable to delete image with shareable address data -INSTALL-I-PLSREBOOT, please reboot to install a new version of this image This is not a cause for concern. It simply means that DECC$SHR.EXE was installed as a resident image, which is the standard configuration for OpenVMS Alpha systems. The new image will not take effect until the system is rebooted. All trademarks are the property of their respective owners.



This patch can be found at any of these sites:

Colorado Site
Georgia Site



Files on this server are as follows:

dec-axpvms-vms712_acrtl-v0100--4.README
dec-axpvms-vms712_acrtl-v0100--4.CHKSUM
dec-axpvms-vms712_acrtl-v0100--4.pcsi-dcx_axpexe
vms712_acrtl-v0100.CVRLET_TXT

privacy and legal statement