Updated: 24-SEP-2003 (Use your browsers' Reload button to ensure you're viewing the most recent version)
VMS73_ACRTL-V0400 Alpha V7.3 Compaq C RTL ECO Summary
New Kit Date: 28-JUN-2003
Modification Date: Not Applicable
Modification Type: New Kit
Copyright (c) Hewlett-Packard Company 2003. All rights reserved.
OP/SYS: OpenVMS Alpha
COMPONENT: DECC$SHR (Compaq C RTL)
SOURCE: Hewlett-Packard Company
ECO INFORMATION:
ECO Kit Name: VMS73_ACRTL-V0400
DEC-AXPVMS-VMS73_ACRTL-V0400--4.PCSI
ECO Kits Superseded by This ECO Kit: VMS73_ACRTL-V0300
ECO Kit Approximate Size: 16704 Blocks
Kit Applies To: OpenVMS Alpha V7.3
System/Cluster Reboot Necessary: Yes
Rolling Re-boot Supported: Yes
Installation Rating:
3 - To be installed by customers experiencing the problems
corrected.
Kit Dependencies:
The following remedial kit(s), or later, must be installed BEFORE
installation of this, or any required kit:
o VMS73_PCSI-V0100.
o VMS73_UPDATE-V0100.
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 Compaq C on OpenVMS Alpha V7.3. This kit
addresses the following problems:
PROBLEMS ADDRESSED IN VMS73_ACRTL-V0400 KIT
o Previous ACRTL kit not compatible with new PCSI functionality
The VMS73_ACRTL-V0300 kit is not compatible with the newly
released PRODUCT UNDO PATCH functionality. This new PCSI
functionality allows a user to uninstall a patch kit. If a
user was to install the VMS73_ACRTL-V0300 patch kit using the
new PROD INSTALL /SAVE_RECOVERY_DATA option and then attempted
to uninstall the kit using the PRODUCT UNDO PATCH feature, the
system could be left with an incorrect DECC$RTLDEF.TLB file.
This new VMS73_ACRTL-V0400 kit re-issues the VMS73_ACRTL-V0300
kit with updated installation files that allow safe removal of
the kit.
Note that this is the only change in this new ACRTL patch kit.
There are no new ACRTL changes in the VMS73_ACRTL-V0400 kit.
If you have already installed the VMS73_ACRTL-V0300 patch kit,
there is no need to install the VMS73_ACRTL-V0400 kit.
Images Affected: POSTUNDO.COM
PROBLEMS ADDRESSED IN KIT VMS73_ACRTL-V0300
Note: The first several entries list new features in this ECO kit.
For more information, see the New Features section of the release
notes.
o C header files are shipped with this ECO kit. These files
will be installed only if needed by your system.
o You can now set the default (working) directory for child
processes created by vfork/exec*, using the new RTL function
decc$set_child_default_dir().
o 64-bit pointer support is added for sendmsg(), recvmsg(),
getaddrinfo(), and freeaddrinfo().
For more information, see the "New Features" section of the
release notes for this ECO kit.
o A new feature logical DECC$ALLOW_REMOVE_OPEN_FILES is added to
control the behavior of remove() on open files.
For more information, see the "New Features" section of the
release notes for this ECO kit.
o New C RTL functions are provided with this kit.
The following new C RTL functions are provided with this kit:
pread()
pwrite()
readv()
_readv64()
__writev64()
decc$set_child_default_dir()
For more information, see the "New Features" section of the
release notes for this ECO kit.
o New socket routine poll() is provided with this kit.
For more information, see the "New Features" section of the
release notes for this ECO kit.
o Undefined symbol GETADDRINFO_COMPAT43
In some circumstances, the OpenVMS linker flagged the
GETADDRINFO_COMPAT43 symbol as undefined. This is fixed.
o 64-bit pointers were not supported for some socket routines.
The following socket routines did not have 64-bit pointer
support. Now they do:
accept()
getpeername()
getsockname()
A call to the listed socket routines fails with an access
violation (accvio) under the following conditions:
o The code making the call is compiled with /POINTER=LONG
o The address of the second argument (sockaddr structure) is
obtained by calling malloc() to allocate the memory at
runtime.
The affected socket routines are:
accept()
getpeername()
getsockname()
o fwrite() wrote inappropriate records to a file.
A previous fix to fwrite(), which involved padding short-sized
records with zeros to align them with bigger records in a
fixed-length-record file, allowed new records to have a
carriage return after every single byte, thereby creating a
large number of spurious records in the file.
Fix:
Because this is a change in behavior, a feature logical has
been added to control the new behavior. This new feature
logical, DECC$WRITE_SHORT_RECORDS, supports the previous fix
to fwrite() (to accommodate short-sized records), while
retaining the legacy way of writing records to a fixed-length
file as the default behavior:
When DECC$WRITE_SHORT_RECORDS is set to "ENABLE",
short-sized records are padded with zeros to align records
on record boundaries.
When DECC$WRITE_SHORT_RECORDS is set to "DISABLE" or when
it is deassigned, the legacy behavior of writing records is
implemented. This is the recommended and default behavior.
o A previous fix to fwrite(), which involved padding short-sized
records with zeros to align them with bigger records in a
fixed-length-record file, allowed new records to have a
carriage return after every single byte, thereby creating a
large number of spurious records in the file.
Cure:
A new feature logical was added to support the previous fix
for CRTL 2865 (to accommodate short-sized records), while
retaining the legacy way of writing records to a fixed-length
file as the default behavior.
Now, only when the DECC$$WRITE_SHORT_RECORDS feature logical
is set to "ENABLE" are short-sized records padded with zeros
to align with bigger records in a fixed-length record file.
o <ftw.h> was incompatible with local-time function ftw().
Recent versions of the C RTL, along with header files supplied
with Version 6.5 of the C compiler, incorrectly made a
local-time version of the ftw() function the default when
compiling with the _VMS_V6_SOURCE macro defined.
Fix:
This behavior was incompatible with previous C RTL versions,
and has been restored to default to the UTC-based ftw()
function under the same circumstances. Now, to get the
local-time ftw(), you must compile with
/DEFINE=__LOCAL_TIME_FTW, in addition to the macros
_VMS_V6_SOURCE and _DECC_V4_SOURCE.
o Spawned process did not inherit file positioning for append
access mode.
For spawned processes that are C programs, defining the
DECC$EXEC_FILEATTR_INHERITANCE feature logical name to a value
of 1 or ENABLE no longer causes the spawned child process to
inherit file positioning for all file access modes;
specifically, append mode does not inherit file positioning.
Fix:
For a child process to inherit file positioning for all file
access modes including append, DECC$EXEC_FILEATTR_INHERITANCE
must be set to a value of 2:
$ DEFINE DECC$EXEC_FILEATTR_INHERITANCE 2
For a child process to inherit file positioning for all file
access modes except append, set DECC$EXEC_FILEATTR_INHERITANCE
to a value of 1:
$ DEFINE DECC$EXEC_FILEATTR_INHERITANCE 1
This change was made in OpenVMS Version 7.3-1. This ECO
propagates the fix to OpenVMS Versions 7.3 and 7.22.
o Incomplete support for 64-bit iconv() has been removed.
Incomplete support for 64-bit iconv() was mistakenly put into
recent (Spring 2002) ECO kits and OpenVMS V7.3-1.
This gave the illusion of 64-bit iconv() support under some
circumstances (linking with STARLET.OLB). This was never
supported, and still is not supported.
Fix:
Because 64-bit iconv() is neither functional nor supported,
this ECO removes DECC$_ICONV64.
Users compiling with /POINTER=LONG should now expect a
compiler error message such as the following:
%CC-W-PTRMISMATCH, In this statement, the referenced type of the
pointer value "(char ...)0" is "long pointer to char", which is
not compatible with "short pointer to char".
RELATED ARTICLES:
Detailed articles describing the problems listed above may exist in
the OPENVMS and C databases. To view these articles, open the appropriate
product database and perform a query using either of the following
search strings: 'VMS73_ACRTL-V0300' or 'VMS73_ACRTL'.
ECO KIT ORDERING INSTRUCTIONS:
If after an evaluation you wish to obtain this kit, request it
electronically using the appropriate Advanced Electronic Services
(AES) Service Tool. If you are not familiar with how to request
kits electronically, open the DIA, WIS or DSNLINK database and
review the article entitled:
[AES] How To Electronically Request ECO Kits Using Service Tools
INSTALLATION NOTES:
Because the images in this kit will not take effect until the
system is rebooted, you must reboot the system after installing
this kit.
If you have other nodes in your OpenVMS cluster, 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.
INSTALLATION INSTRUCTIONS:
Install this kit with the POLYCENTER Software Installation Utility
by logging into the SYSTEM account, and typing the following at the
DCL prompt:
$ PRODUCT INSTALL VMS73_ACRTL/SOURCE=<kit location>
The kit location may be a tape drive, CD, or a disk directory that
contains the kit. If /SOURCE is not specified, the utility
searches in the location defined by the logical name PCSI$SOURCE.
If PCSI$SOURCE is not defined, and the /SOURCE qualifier is not
specified, the POLYCENTER Software Installation utility searches
the current default directory.
Special Installation Instructions:
o Installation time
The VMS73_ACRTL-V0400 ECO kit makes extensve changes to
STARLET.OLB and may also perform multiple header changes and
extractions on DECC$RTLDEF.TLB. These operations take
significant time, much of it occuring after the kit says it is
90% insltalled. This may make it appear that the kit
installation has hung. Depending on system coniguration this
kit could take up to 30 minutes to install.
o SAVE_RECOVERY_DATA Warning messages
When installing this kit on a system that does not have
recovery data saved from previous installations, if you do not
use the /SAVE_RECOVERY_DATA qualifier, the installation will
provide a warning and give you the opportunity to change your
mind and save the recovery data.
When installing this kit on a system that does have recovery
data saved from previous installations, PCSI will give you the
opportunity to terminate the installation. Note that if you
choose to continue you will still be given the above
opportunity to change your mind and save the recovery data.
This double check of recovery data selection on systems that
already have recovery data saved is an artifact of how PCSI
handles pre- and post- installation files.
o %INSTALL-E-NODELSHRADR Error Message
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.
o Scripting of Answers to Installation Questions
During installation, this kit will ask and require user
response to several questions. If you wish to automate the
installation of this kit and avoid having to provide responses
to these questions, you must create a DCL command procedure
that includes the following definitions and commands:
- $ DEFINE/SYS NO_ASK$BACKUP TRUE
- $ DEFINE/SYS NO_ASK$REBOOT TRUE
- Add the following qualifiers to the PRODUCT INSTALL
command and add that command to the DCL procedure.
/PROD=DEC/BASE=AXPVMS/VER=V4.0
- De-assign the logicals assigned
For example, a sample command file to install the
VMS73_ACRTL-V0400 kit would be:
$
$ DEFINE/SYS NO_ASK$BACKUP TRUE
$ DEFINE/SYS NO_ASK$REBOOT TRUE
$!
$ PROD INSTALL VMS73_ACRTL/PROD=DEC/BASE=AXPVMS/VER=V4.0
$!
$ DEASSIGN/SYS NO_ASK$BACKUP
$ DEASSIGN/SYS NO_ASK$REBOOT
$!
$ exit
All trademarks are the property of their respective owners.
==========================================================================
| Table of Kit Image Information |
+----------------------------+----------+-----------------+--------------+
| | Overall | Image File | Image Link |
| Image Name | Checksum | Identification | Date/Time |
+----------------------------+----------+-----------------+--------------+
| COMPARE_TIMES.EXE | 03C6B3B2 | V1.0 | 1-MAR-1995 |
| | | 15:24:15.94 |
+----------------------------+----------+-----------------+--------------+
| DECC$SHR.EXE | C7AC1476 | V7.3-0 | 9-DEC-2002 |
| | | 16:30:32.49 |
+----------------------------+----------+-----------------+--------------+
| LIBEXT_ALPHA.EXE | 77AB5502 | V1.0 | 20-APR-2001 |
| | | 22:39:37.93 |
+----------------------------+----------+-----------------+--------------+
|