Jump to page titleUNITED STATES
hp.com home products and services support and drivers solutions how to buy
» contact hp


more options
 
hp.com home
End of Jump to page title
HP Services Software Patches
Jump to content


» software & drivers
» ask Compaq
» reference library
» forums & communities
» support tools
» warranty information
» contact support
» parts
» give us feedback

patches by topic
» DOS
» OpenVMS
» Security
» Tru64 Unix
» Ultrix 32
» Windows
» Windows NT

associated links
» what's new
» contract access
» browse patch tree
» search patch tree
» join mailing list

connection tools
» nameserver lookup
» traceroute
» ping


Find Support Information and Customer Communities for Presario.
Content starts here
OpenVMS ALPACRT13_062 Alpha V6.2 - V6.2-1H3 DEC C RTL ECO Summary
TITLE: OpenVMS ALPACRT13_062 Alpha V6.2 - V6.2-1H3 DEC C RTL ECO Summary
 
Modification Date:  25-FEB-99
Modification Type:  Updated Kit:  Supersedes ALPACRT12_062

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 1997, 1999.  All rights reserved.

OP/SYS:     DIGITAL OpenVMS Alpha

COMPONENT:  DEC C RTL - DECC$SHR.EXE
                        LOCALEDEF.EXE
                        CRTLMSGDEF.OBJ     (Updates STARLET.OLB)
                        CRTL.OBJ           (Updates STARLET.OLB)
                        ACRT$ECO_DROP.COM  (If desired, this command file
                                            may be used to remove the ECO
                                            and restore the original
                                            files and libraries.)

SOURCE:     Compaq Computer Corporation

ECO INFORMATION:

     ECO Kit Name:  ALPACRT13_062
     ECO Kits Superseded by This ECO Kit:  ALPACRT12_062
                                           ALPACRT11_062
                                           ALPACRT10_062
                                           ALPACRT09_062
                                           ALPACRT08_062
                                           ALPACRT07_062
                                           ALPACRT06_062
                                           ALPACRT05_062
                                           ALPACRT04_062
                                           ALPACRT02_062
     ECO Kit Approximate Size:  13068 Blocks
     Kit Applies To:  OpenVMS ALPHA V6.2, V6.2-1H1, V6.2-1H2, V6.2-1H3
     System/Cluster Reboot Necessary:  Yes
     Rolling Reboot Supported:  Yes
     Installation Rating:  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 V6.2 through
V6.2-1H3.  This kit addresses the following problems:

Problems addressed in the ALPACRT13_062 kit:

  o  The DECC$SHR.EXE image in the ALPACRT12_062 remedial kit did
     not include X/Open Issue 4 (XPG4) functions.


Problems addressed in the ALPACRT12_062 kit:

  o  A call to the POW function resulted in a %SYSTEM-F-HPARITH
     exception when called in D_FLOAT floating point mode.  The
     result exceeded the maximum value representable in D_FLOAT
     format.


Problems addressed in the ALPACRT11_062 kit:

  o  Sometimes, a call to the sigvec() C RTL function places the
     process in hibernate state.

  o  The printf function was enhanced to print "(null)" when passed
     a null pointer to be used with the "%S" format specifier.
     Prior to this, the DEC C RTL would issue an access violation
     error.

  o  The setlocale function was enhanced to detect the situation
     where run-time support for the specified locale is not available
     on the system.  Prior to this, the function would successfully
     load the locale, but a call to mbtowc function, for example,
     would result in access violation.


Problems addressed in the ALPACRT10_062 kit:

  o  The LOCALE COMPILE command fails.


Problems addressed in the ALPACRT09_062 kit:

  o  Customers who installed the previous ECO kit for  OpenVMS  V6.2
     have  reported  problems  accessing  VFC files.  The symptom is
     incorrect data when reading the first record of the file.

  o  The printf function has been corrected to properly initialize a
     work buffer during the format string processing.  Prior to this
     change, the processing of a format specifier  could  result  in
     data from the last specifier processed remaining in the buffer.
     This problem was reported as fixed  in  the  ALPACRT04_062  and
     VAXACRT04_062,  but  continued  testing showed that the problem
     still exists.

  o  Although files in  general  are  correctly  inherited  after  a
     fork/exec  function call, files which are opened in any sort of
     sharing mode are not.

  o  Unlike Digital UNIX, calling the fsync function with  a  socket
     descriptor   results  in  an  access  violation.   The  correct
     behavior is to set errno to EINVAL (Invalid Value) and return a
     failure status.

  o  When accessing files in  stream  mode,  closing  the  file  may
     result  in an extra byte being written to the file.  While this
     byte is not seen using the type command, it may  be  seen when
     using the dump utility.

  o  The runtime library disables control_y for  a  process  when  a
     call  is  made  to the signal function instructing it to ignore
     SIGINT signals, but does not restore control_y state  on  image
     exit, so that after image rundown they remain disabled.

     Note  that  the  during  image  rundown,  the  runtime  library
     restores  the  state  to  that  which  existed  when  they were
     disabled.  Applications which make calls to the LIBRTL routines
     LIB$DIS/ENABLE_CTRL after calling signal may have these changes
     discarded on image exit.

  o  A customer reports that the functions atof, strtod, and  wcstod
     incorrectly  return  HUGE_VAL  values  when  compiling with the
     IEEE_FLOAT and an ieee_mode qualifier of  DENORM_RESULTS.   The
     results  returned  have  been  modified to take the compilation
     mode of the calling program into account.  The return value can
     now be compared against HUGE_VAL.


  o  The following code segment demonstrates a problem in the printf
     family of functions running on OpenVMS for Alpha.

          double n;
          for (n = 9.0e16;  n < 11.0e17;  n += 1.0e+17)
              printf ("%20.0f\n", n);

     The result is that the final zero is missing in the display  of
     all but the first and last line.


Problems addressed in the ALPACRT08_062 kit:

  o  An ISV reports that extra  characters are seen on occasion
     when using a subprocess that sends data back to the parent
     process using a mailbox.

  o  A case was found where the fseek function fails.  It
     correctly returns a -1 value, but fails to set errno
     properly.

  o  After migration to OpenVMS V6.2, processing VFC files may be
     difficult.  Calling the fgetc function results in the error
     RMS-W-RTB which is "record too large for user's buffer".  In
     addition, carriage control information in PRINT VFC files is
     not interpreted correctly resulting in superfluous or missing
     blank lines when the contents are displayed to a terminal.


Problems addressed in the ALPACRT07_062 kit:

  o  Testing of the printf function showed that the conversion
     of "printf("%.9sn",s)" will access all 9 characters of the
     string even if the null terminator is earlier in the string.
     If the terminator is at the end of a page and the next page
     is a protected page, an access violation will result.

  o  Extra  characters may be written to stdout under the
     conditions that the application is reading from stdin and
     it is not a terminal.  The extra characters appear random
     in the output, but in fact are written each time a new
     record is read from stdin.

  o  An application which closes either stdin, stdout, or stderr,
     and then reopens it using the dup function may not have the
     file actually closed if I/O is not done using the file
     descriptor.  A workaround is to force I/O on the file by
     using a function call such as sync or flush.


Problems addressed in the ALPACRT06_062 kit:

  o  A change occurred in how fseek works with fixed length odd byte
     record  lengths.  The description of fseek in the rtl reference
     manual   says   "The   function   can   position   fixed-length
     record-access  file with no carriage control or a stream-access
     file on any byte offset, ....".

     Using OpenVMS V6.1 the phrase "on  any  byte  offset"  did  not
     include  the pad byte that RMS keeps on disk between records of
     odd length in fixed length record format sequential files.   By
     the  time  of  OpenVMS  V6.2,  the  phrase "on any byte offset"
     apparently includes that pad byte.

  o  The qsort function no longer access  violates  when  sorting  a
     large  number  of  records.   This  was demonstrated by sorting
     1966079 records whose values were 1 through 1966079.  The qsort
     function can now sort the maximum number of records.

  o  The DEC C Runtime Library had previously added the ability for
     users to define the logical name DECC$DEFAULT_LRL to change
     the default longest record length value on stream files.  A
     problem  existed  such that defining this logical name to zero
     resulted in files which had fixed length records instead of
     stream_lf records.

  o  A problem in the way the timer functions,  such  as  sleep  and
     alarm,  was  introduced  into  OpenVMS  6.2.   This  family  of
     functions has been rewritten to  no  longer  lose  Timer  Queue
     Entries.

  o  The rewind function is documented to write all buffered  output
     and  discard  all  buffered  input prior to rewinding the file.
     Under certain situations, the buffer was not being  flushed  to
     disk.

  o  In  the  access  function,  the  user_group   and   user_member
     components  are  no  longer truncated when they are larger than
     255.   In  addition,  the  system  group  now  abides  by   the
     MAXSYSGROUP SYSGEN parameter.


Problems addressed in the ALPACRT05_062 kit:

  o  The  RAB  size  for  the  LRL  (longest  record   length)   was
     incorrectly  set  to  -1  when  the  value was greater than the
     maximum allowed value - greater than 8K.   An  invalid  fseek()
     was therefore performed.


Problems addressed in the ALPACRT04_062 kit:

  o  Due to an uninitialized buffer, certain combinations  of  calls
     to  the  printf()  function would result in spurious characters
     being displayed.

  o  Calls to EXECVE with a parameter or environment list larger
     than 127 bytes fails.

  o  Poor performance or a failure may occur when an attempt is
     made to SORT a Stream_LF file with variable length records.

  o  DECC$TO_VMS does not recognize hyphens in OpenVMS file names
     resulting in difficulties porting software to OpenVMS.


Problems addressed in the ALPACRT02_062 kit:

  o  OpenVMS Alpha V6.2 STARLET modified two symbols (SYS_ERRLIST
     and SYS_NERR) to have DECC$ prefixes.  These symbols were
     inaccessable.  The ability to access these symbols via
     external references was not shipped with OpenVMS Alpha
     V6.2 and is included in this kit.

     NOTE:  In the C database, there was an article entitled:

                 [DEC C]  %LINK-I-UDFSYM, SYS_ERRLIST %LINK-I-UDFSYM,
                          SYS_NERR

            which gave instructions on how to compile and insert these
            global symbols into STARLET.OLB via small C and MACRO
            programs.  These small programs included these global
            symbols in a module named DECC$SYS_ERRLIST.

            The installation of ALPACRT02_062 will fail, ONLY FOR
            THOSE CUSTOMERS who utilized this article.

            With ALPACRT02_062, these global symbols are included in
            the CRTL.OBJ object file that is replaced into STARLET.OLB.
            When this occurs, you will get a DUPGLOBALS error.  That is,
            the global symbols SYS_ERRLIST and SYS_NERR are now defined
            twice (hence DUPlicates).

            To workaround this issue, please do the following before
            installing the ALPACRT02_062 kit:

            $ LIBRARY/DELETE=DECC$SYS_ERRLIST SYS$LIBRARY:STARLET.OLB

  o  On FT2 and FT3 of OpenVMS AXP T6.2, the DEC C RTL routine
     chdir() fails when passed a logical search list.

  o  In the DSNlink and DIA C database, there is an article on
     how to implement non-blocking pipes under OpenVMS.  The
     article title is:

     Example-C Implementing Non-Blocking Pipes Using VAX C RTL

     This example fails under OpenVMS Alpha V6.2.  It worked under
     OpenVMS Alpha V6.1.

  o  When fget is used to read a remote file over DECnet,
     different results are obtained than when an identical file
     is read locally.

  o  The function ungetc() stopped working in OpenVMS V6.2 for
     both variable and fixed length records.

  o  Using VAXC, the curses code fragment:

          wmove(win, 1, 2);  wprintw(win, "First line" );
          wmove(win, 2, 2);  wprintw(win, "Second line");

     produces the output:

          First line
          Second Line

     Using the compatible VMS Curses package provided by DECC
     on both VAX and Alpha, the results are:

          First lineSecond Line

  o  A call to getenv("TERM") will fail when it is issued from
     a VT500 class terminal.

  o  If a program containing the following fragment is run
     on an OpenVMS Alpha V6.1 system, a file called test.file
     will be created.  A second run of the fragment would
     append to the test.file.  If the same fragment is run on
     an OpenVMS Alpha V6.2 system, a new test.file is created
     every time.  It is not appended to the original test.file.

     fp = fopen("TEST", "a", "dna=SYS$DISK:[].file");

  o  On slow systems, the return value from sleep (which is defined
     to be how much of the time sleep did not occur) could be a
     negative number if sleep continued for too long.

  o  Two locks may be obtained during I/O operations.  In the
     fclose()  function, lock A is obtained before lock B.  In
     all other CRTL functions lock B is obtained before lock A.
     Under adverse conditions, deadlock results.

  o  The implementation of toupper/tolower was changed to use the
     value supplied by the user to index into the table of
     lowercase characters.  DEC C RTL was incorrectly using only
     7 bits instead of 8.  OpenVMS Alpha V6.2 mainlined the XPG4
     support.  Part of this support was support for locales.

  o  When using fflush()/fsynch() with DEC C the "stdout" buffer
     is NOT flushed at the time you call these RTLs.  Eventually the
     buffers do get flushed, but with VAX C the buffer is flushed
     using the same RTLs.

  o  Undefined symbols, CC$RMS_xxx, exist in STARLET.OLB. The
     symptoms for this are the following linker errors:

         %LINK-W-NUDFSYMS, 2 undefined symbols:
         %LINK-I-UDFSYM,         CC$RMS_XABFHC
         %LINK-I-UDFSYM,         CC$RMS_XABPRO

  o  Positioning to the end of file using the fseek function with
     the SEEK_SET option will no longer succeed if the user does not
     open the file with write.

  o  Bizarre I/O behavior occurs when the I/O operation involves
     positioning to the last block in the file.

  o  A regression was introduced in OpenVMS Alpha V6.2 that always
     causes access violations in the scanw and wscanw routines.

  o  An access violation may occur when zero length records from
     a FORTRAN carriage control record are read.  The carriage
     control from the previous read is used causing incorrect
     data to be the buffer.


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, the following message may appear:

   %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 V6.2 systems.  The new image will not take effect
until the system is rebooted.


REMOVAL INSTRUCTIONS:

Remove this kit and restore the original files and libraries by
logging into the SYSTEM account and typing the following DCL
prompt:

  @SYS$UPDATE:ACRT$ECO_DROP

  NOTE:

  ACRT$ECO_DROP.COM installs the earlier version of DECC$SHR.EXE.
  However, the earlier version will not take effect until the system
  is rebooted.  A reboot MUST be done as part of the removal process.
  Otherwise, the system may be left in an inconsistant state.

  To remove the kit from an OpenVMS cluster node, the ACRT$ECO_DROP.COM
  file must be run and a reboot MUST be performed on any system disk
  upon which the kit was installed.
Files on this server are as follows:
»alpacrt13_062.README
»alpacrt13_062.CHKSUM
»alpacrt13_062.CVRLET_TXT
»alpacrt13_062.a-dcx_axpexe
privacy statement using this site means you accept its terms