Harris CSD Software Development
                         Software Patch Report

 Patch Name:       ada7.1.1-001
 Project:          ADA
 Product:          ada
 Date Issued:      Mon Feb 13 17:23:06 1995


 Release on Which Patch May Be Installed: 7.1.1

 Release Which Corrects Problem: 8.1

 Related Patches: None

 Related Modification Numbers: None

 Related SARs: HM11314, HM11139, HM11374

 Enhancement Description:

   1: The pragma DEBUG has been enhanced to allow a single-parameter format:

         pragma DEBUG (debug_level) ;

      This form of the pragma is allowed only immediately within the
      outermost declarative context of a library-level compilation unit.
      It applies to the library-level unit in which it is located, instead
      of the unit name specified, as in the two-parameter format.  In all
      other respects, it is identical to the two-parameter format.

 Problem Description:

   1: The calendar.clock function would incorrectly raise time_error if
      invoked enough times (29, 30, 31, or 32 times) after midnight from
      an application that started before midnight.

   2: HM11314: The result of a binary logical operator (or/and/xor) on an
      array slice (array of boolean components) was being figured as the
      same operator on the entire array, not just the slice.  This caused
      constraint_error to be raised when trying to assign the result to a
      slice of the correct length.  If the slices were static, the
      compiler gave an error message about array sizes not being correct.

   3: In the presence of pragma memory_pool for data in a package, the
      calculations for the size of the memory pool were off by a factor of
      eight.  For small packages, this would be masked by rounding to the
      size of a page.  But for large packages, the data for the package
      could be much larger than necessary.

   4: The function task_attributes.get_task_priority could in some cases
      ignore the task_id passed as an argument, using in its place the
      current task.

   5: If a compilation fails for some reason before creating an object
      file, and that compilation used either share mode "shared" or
      "both", then subsequent links requiring that library would fail
      while attempting to update the shared object for that library.

   6: The use of a type in the definition of a subprogram which is marked
      with "pragma interface" and the subsequent application of a sizing
      clause to that type caused an internal error in the compiler
      whenever a call to that interfaced function was made.

   7: The -v option to the a.depend and a.which tools caused extraneous
      output to be generated along with the library search list, which is
      the correct output for that option.

   8: The warning "can not inline expand subprograms declared within
      nested generics" was being incorrectly emitted and inlining was
      being incorrectly disabled in complicated cases involving
      instantiations and generics.

   9: The a.db tool would fail on startup with an ASSERTION FAILURE 
      (file dbdwarf_attr.c, line 127) in certain rare circumstances.

  10: HM11139: The compiler was erroneously allowing a generic package to
      be renamed from another unit.  Generic packages can only be renamed
      from within themselves.

  11: HM11374: Compilations of units which contain large numbers
      (hundreds) of tiny instantiations nested directly within them were
      compiling very slowly.

  12: There were several internal bugs relating to the generation of DWARF
      debug information.

 Resolution Description:

   1: The calendar.clock function has been corrected.

   2: The binary logical operators now behave correctly even when their
      arguments are array slices.

   3: The size calculations for pragma memory_pool have been corrected.

   4: The function task_attributes.get_task_priority has been corrected.

   5: If an object file is unexpectedly missing, the a.ld tool will
      produce the shared object for its library without that object.

   6: The implementation of "pragma interface" has been corrected to avoid 
      the generation of internal errors in this case.

   7: The -v option to the a.depend and a.which tools has been corrected.

   8: The check for inlines of functions declared within nested generics
      has been corrected.

   9: The a.db tool has been corrected.

  10: Generic packages can no longer be renamed, as required by the Ada
      RM, except from within themselves.

  11: Some work has been done to improve the speed of compilations of
      units containing large numbers of tiny instantiations.

  12: The bugs related to the generation of DWARF debug information have 
      been corrected.

 Modified Source:

   None.

 Object Modules:

   usr/hapse/88k_7.1.1/bin/ld
   usr/hapse/88k_7.1.1/bin/a.depend
   usr/hapse/88k_7.1.1/bin/a.ld
   usr/hapse/88k_7.1.1/bin/a.make
   usr/hapse/88k_7.1.1/bin/a.netdb
   usr/hapse/88k_7.1.1/bin/a.which
   usr/hapse/88k_7.1.1/bin/fe
   usr/hapse/88k_7.1.1/bin/cg
   usr/hapse/88k_7.1.1/bin/cg.88110
   usr/hapse/88k_7.1.1/bin/a.db
   usr/hapse/88k_7.1.1/bin/std
   usr/hapse/88k_7.1.1/bindings/general/general.so
   usr/hapse/88k_7.1.1/bindings/posix_1003.1/posix_1003.1.so
   usr/hapse/88k_7.1.1/bindings/posix_1003.5/posix_1003.5.so
   usr/hapse/88k_7.1.1/bindings/sockets/sockets.so
   usr/hapse/88k_7.1.1/standard/calendar_s.a
   usr/hapse/88k_7.1.1/standard/ada.lib
   usr/hapse/88k_7.1.1/standard/.nets/calendar_s.a01
   usr/hapse/88k_7.1.1/standard/.objects/calendar_s.a01
   usr/hapse/88k_7.1.1/standard/.objects/calendar_s.a01.p
   usr/hapse/88k_7.1.1/standard/.objects/STANDARD.a00
   usr/hapse/88k_7.1.1/standard/.objects/STANDARD.a00.p
   usr/hapse/88k_7.1.1/standard/standard.so
   usr/hapse/88k_7.1.1/standard/gnrx.lib
   usr/hapse/88k_7.1.1/standard/GVAS_table
   usr/hapse/88k_7.1.1/lib/standard.so
   usr/hapse/88k_7.1.1/lib/harrislib.so
   usr/hapse/88k_7.1.1/lib/arms.so
   usr/hapse/88k_7.1.1/lib/publiclib.so
   usr/hapse/88k_7.1.1/lib/general.so
   usr/hapse/88k_7.1.1/lib/posix_1003.1.so
   usr/hapse/88k_7.1.1/lib/posix_1003.5.so
   usr/hapse/88k_7.1.1/lib/sockets.so
   usr/hapse/88k_7.1.1/lib/libio.f.a
   usr/hapse/88k_7.1.1/lib/libio.t.a
   usr/hapse/88k_7.1.1/lib/libiot.f.a
   usr/hapse/88k_7.1.1/lib/libiot.t.a
   usr/hapse/88k_7.1.1/lib/libarms.a
   usr/hapse/88k_7.1.1/lib/libarms.so
   usr/hapse/88k_7.1.1/lib/libarms.trace.a
   usr/hapse/88k_7.1.1/lib/libarms.trace.so
   usr/hapse/88k_7.1.1/lib/libarms.110.a
   usr/hapse/88k_7.1.1/lib/libarms.110.so
   usr/hapse/88k_7.1.1/lib/libarms.trace.110.a
   usr/hapse/88k_7.1.1/lib/libarms.trace.110.so
   usr/hapse/88k_7.1.1/arms/arms.so
   usr/hapse/88k_7.1.1/arms/.nets/calendar_s.a01
   usr/hapse/88k_7.1.1/arms/.objects/calendar_s.a01
   usr/hapse/88k_7.1.1/arms/.objects/calendar_s.a01.p
   usr/hapse/88k_7.1.1/arms/calendar_s.a
   usr/hapse/88k_7.1.1/arms/ada.lib
   usr/hapse/88k_7.1.1/arms/gnrx.lib
   usr/hapse/88k_7.1.1/arms/GVAS_table
   usr/hapse/88k_7.1.1/harrislib/harrislib.so
   usr/hapse/88k_7.1.1/publiclib/publiclib.so

 Conditions for Installation:

   Any Series 4000 or 5000 System
   32 Mb Physical Memory (minimum)
   CX 7.1 (UX, RT, or SX) installed
   Installation of ada_7.1.1

 Possible Side Effects:

   None
                                        return to index
================================================================================

                    Harris CSD Software Development
                         Software Patch Report

 Patch Name:       ada7.1.1-002
 Project:          ADA
 Product:          ada
 Date Issued:      Wed Jun 21 11:52:19 1995


 Release on Which Patch May Be Installed:   7.1.1

 Release Which Corrects Problem:  2.1

 Related Patches: None

 Related Modification Numbers: None

 Related SARs: HM11484, HM11500, HM11540, HM11564

 Problem Description:

   1. HM11484 Compile time, link time, execution load time, 
      and size of executable files drastically increased 
      when moving from 88k_6.2 to 88k_7.1.1 if pragma
      memory_pool was used on large arrays in packages.
      The new implementation in 88k_7.1.1 effectively 
      forced the array into the .data segment.

   2. HM11500  When an Ada ARMS application used a named semaphore 
      that was opened by the parent process and
      then shared by several child processes,
      the application hung in sem_wait, blocked on a client_block call.

   3. HM11540  Bit_moves and unchecked_conversions on large objects
      failed once the offset reached or exceeded 2**16.

   4. NightView required linker support for debugging shared-object.

   5. HM11564 Use of IPL_SERVER passive tasks had the effect of 
      incrementing the rescheduling lock of calling tasks.  This 
      adversely affected process scheduling on the CPUs utilized 
      by the calling tasks.

 Resolution Description:

   1. HM11484 The old 88k_6.2 and the new 88k_7.1.1 techniques 
      were combined to correct the problem in cg, cg.88110, a.ld,
      and the ARMS run-time libraries.
      
   2. HM11500 The ARMS run-time uses the new fork_init and fork_init_list 
      external variables found in cx7.1-037 patch to eliminate the
      blocked condition.  

   3. HM11540  Use the triadic register form of the AND instruction
      in libada.a and libada.so
      to get all 32 bits AND'd, rather than just the lower 16 bits.

   4. The linker (ld) contains support for shared-object debugging.

   5. HM11564 The ARMS run-time system was modified to prevent the 
      erroneous incrementing of the rescheduling lock of tasks calling 
      IPL_SERVER passive tasks.

 Modified Source:
 
   None.

 Object Modules:

   usr/hapse/88k_7.1.1/bin/ld      
   usr/hapse/88k_7.1.1/bin/a.ld 
   usr/hapse/88k_7.1.1/bin/cg  
   usr/hapse/88k_7.1.1/bin/cg.88110         
   usr/hapse/88k_7.1.1/lib/libada.a        
   usr/hapse/88k_7.1.1/lib/libada.so      
   usr/hapse/88k_7.1.1/lib/libarms.a     
   usr/hapse/88k_7.1.1/lib/libarms.so   
   usr/hapse/88k_7.1.1/lib/libarms.trace.a  
   usr/hapse/88k_7.1.1/lib/libarms.trace.so 
   usr/hapse/88k_7.1.1/lib/libarms.110.a    
   usr/hapse/88k_7.1.1/lib/libarms.110.so   
   usr/hapse/88k_7.1.1/lib/libarms.trace.110.a 
   usr/hapse/88k_7.1.1/lib/libarms.trace.110.so
   usr/hapse/88k_7.1.1/lib/libada.110.a       
   usr/hapse/88k_7.1.1/lib/libada.110.so

 Conditions for Installation:

   Any Series 4000 or 5000 System
   32 Mb Physical Memory (minimum)
   CX 7.1 (UX, RT, or SX) installed, up through patch cx7.1-041
   Installation of ada7.1.1, including patch ada7.1.1-001

 Possible Side Effects:

   None.
                                        return to index
================================================================================

                    Harris CSD Software Development
                         Software Patch Report

 Patch Name:       ada_rts7.1.1-001
 Project:          ADA
 Product:          ada_rts
 Date Issued:      Fri Feb 10 14:43:05 1995


 This patch corresponds to changes made in patch ada7.1.1-001 for the product
 ada.  The contents of ada7.1.1-001 are listed here.  Not all of these issues
 directly pertain to changes in the ada_rts7.1.1-001 patch.

 Release on Which Patch May Be Installed: 7.1.1

 Release Which Corrects Problem: 8.1

 Related Patches: None

 Related Modification Numbers: None

 Related SARs: HM11314, HM11139, HM11374

 Enhancement Description:

   1: The pragma DEBUG has been enhanced to allow a single-parameter format:

         pragma DEBUG (debug_level) ;

      This form of the pragma is allowed only immediately within the
      outermost declarative context of a library-level compilation unit.
      It applies to the library-level unit in which it is located, instead
      of the unit name specified, as in the two-parameter format.  In all
      other respects, it is identical to the two-parameter format.

 Problem Description:

   1: The calendar.clock function would incorrectly raise time_error if
      invoked enough times (29, 30, 31, or 32 times) after midnight from
      an application that started before midnight.

   2: HM11314: The result of a binary logical operator (or/and/xor) on an
      array slice (array of boolean components) was being figured as the
      same operator on the entire array, not just the slice.  This caused
      constraint_error to be raised when trying to assign the result to a
      slice of the correct length.  If the slices were static, the
      compiler gave an error message about array sizes not being correct.

   3: In the presence of pragma memory_pool for data in a package, the
      calculations for the size of the memory pool were off by a factor of
      eight.  For small packages, this would be masked by rounding to the
      size of a page.  But for large packages, the data for the package
      could be much larger than necessary.

   4: The function task_attributes.get_task_priority could in some cases
      ignore the task_id passed as an argument, using in its place the
      current task.

   5: If a compilation fails for some reason before creating an object
      file, and that compilation used either share mode "shared" or
      "both", then subsequent links requiring that library would fail
      while attempting to update the shared object for that library.

   6: The use of a type in the definition of a subprogram which is marked
      with "pragma interface" and the subsequent application of a sizing
      clause to that type caused an internal error in the compiler
      whenever a call to that interfaced function was made.

   7: The -v option to the a.depend and a.which tools caused extraneous
      output to be generated along with the library search list, which is
      the correct output for that option.

   8: The warning "can not inline expand subprograms declared within
      nested generics" was being incorrectly emitted and inlining was
      being incorrectly disabled in complicated cases involving
      instantiations and generics.

   9: The a.db tool would fail on startup with an ASSERTION FAILURE 
      (file dbdwarf_attr.c, line 127) in certain rare circumstances.

  10: HM11139: The compiler was erroneously allowing a generic package to
      be renamed from another unit.  Generic packages can only be renamed
      from within themselves.

  11: HM11374: Compilations of units which contain large numbers
      (hundreds) of tiny instantiations nested directly within them were
      compiling very slowly.

  12: There were several internal bugs relating to the generation of DWARF
      debug information.

 Resolution Description:

   1: The calendar.clock function has been corrected.

   2: The binary logical operators now behave correctly even when their
      arguments are array slices.

   3: The size calculations for pragma memory_pool have been corrected.

   4: The function task_attributes.get_task_priority has been corrected.

   5: If an object file is unexpectedly missing, the a.ld tool will
      produce the shared object for its library without that object.

   6: The implementation of "pragma interface" has been corrected to avoid 
      the generation of internal errors in this case.

   7: The -v option to the a.depend and a.which tools has been corrected.

   8: The check for inlines of functions declared within nested generics
      has been corrected.

   9: The a.db tool has been corrected.

  10: Generic packages can no longer be renamed, as required by the Ada
      RM, except from within themselves.

  11: Some work has been done to improve the speed of compilations of
      units containing large numbers of tiny instantiations.

  12: The bugs related to the generation of DWARF debug information have 
      been corrected.

 Modified Source:

   None.

 Object Modules:

   usr/hapse/88k_7.1.1/lib/standard.so
   usr/hapse/88k_7.1.1/lib/harrislib.so
   usr/hapse/88k_7.1.1/lib/arms.so
   usr/hapse/88k_7.1.1/lib/publiclib.so
   usr/hapse/88k_7.1.1/lib/general.so
   usr/hapse/88k_7.1.1/lib/posix_1003.1.so
   usr/hapse/88k_7.1.1/lib/posix_1003.5.so
   usr/hapse/88k_7.1.1/lib/sockets.so
   usr/hapse/88k_7.1.1/lib/libarms.so
   usr/hapse/88k_7.1.1/lib/libarms.trace.so
   usr/hapse/88k_7.1.1/lib/libarms.110.so
   usr/hapse/88k_7.1.1/lib/libarms.trace.110.so

 Conditions for Installation:

   Any Series 4000 or 5000 System
   32 Mb Physical Memory (minimum)
   CX 7.1 (UX, RT, or SX) installed
   Installation of ada_rts_7.1.1

 Possible Side Effects:

   None
                                        return to index
================================================================================

                    Harris CSD Software Development
                         Software Patch Report

 Patch Name:       ada_rts7.1.1-002
 Project:          ADA
 Product:          ada_rts
 Date Issued:      Fri Jul  7 14:06:59 1995


 Release on Which Patch May Be Installed:   7.1.1

 Release Which Corrects Problem:  2.1

 Related Patches: None

 Related Modification Numbers: None

 Related SARs: HM11484, HM11500, HM11540, HM11564 

 Problem Description:

   1. HM11484 Compile time, link time, execution load time, 
      and size of executable files drastically increased 
      when moving from 88k_6.2 to 88k_7.1.1 if pragma
      memory_pool was used on large arrays in packages.
      The new implementation in 88k_7.1.1 effectively 
      forced the array into the .data segment.

   2. HM11500  When an Ada ARMS application used a named semaphore 
      that was opened by the parent process and
      then shared by several child processes,
      the application hung in sem_wait, blocked on a client_block call.

   3. HM11540  Bit_moves and unchecked_conversions on large objects
      failed once the offset reached or exceeded 2**16.

   4. HM11564 Use of IPL_SERVER passive tasks had the effect of 
      incrementing the rescheduling lock of calling tasks.  This
      adversely affected process scheduling on the CPUs utilized
      by the calling tasks.

 Resolution Description:

   1. HM11484 The old 88k_6.2 and the new 88k_7.1.1 techniques 
      were combined to correct the problem in cg, cg.88110, a.ld,
      and the ARMS run-time libraries.
      
   2. HM11500 The ARMS run-time uses the new fork_init and fork_init_list 
      external variables found in cx7.1-037 patch to eliminate the
      blocked condition.  

   3. HM11540  Use the triadic register form of the AND instruction
      in libada.a and libada.so
      to get all 32 bits AND'd, rather than just the lower 16 bits.

   4. HM11564 The ARMS run-time system was modified to prevent the
      erroneous incrementing of the rescheduling lock of tasks calling
      IPL_SERVER passive tasks.
  
 Modified Source:
 
   None.

 Object Modules:

   usr/hapse/88k_7.1.1/lib/libada.so      
   usr/hapse/88k_7.1.1/lib/libarms.so   
   usr/hapse/88k_7.1.1/lib/libarms.trace.so 
   usr/hapse/88k_7.1.1/lib/libarms.110.so   
   usr/hapse/88k_7.1.1/lib/libarms.trace.110.so
   usr/hapse/88k_7.1.1/lib/libada.110.so

 Conditions for Installation:

   Any Series 4000 or 5000 System
   32 Mb Physical Memory (minimum)
   CX 7.1 (UX, RT, or SX) installed, up through patch cx7.1-041
   Installation of ada_rts7.1.1, including patch ada_rts7.1.1-001

 Possible Side Effects:

   None.
                                        return to index
================================================================================

                    Harris CSD Software Development
                         Software Patch Report

 Patch Name:       cx_rt_develop7.1-008
 Project:          HCX
 Product:          cx_rt_develop
 Date Issued:      Thu Jun 13 14:32:35 1996


 Release on Which Patch May Be Installed:   7.1

 Release Which Corrects Problem: TBD

 Related Patches:

        cx7.1-057

        The following are the related patches for cx_rt_develop patches
	001 through 007.

        001 - cx7.1-007
              trace7.1-001

        005 - cx7.1-046

        006 - cnd7.1-001
              eg7.1-003
              hps7.1-004
              ise7.1-005
              nfs7.1-003
              pg7.1-003
              tcp_ip7.1-004

 Related Modification Numbers: none

 Related SARs:

        HM11830

        The following are the related SARs for cx_rt_develop patches
	001 through 007.

        002 - HM10199, HM11266

        004 - HM11501

 Problem Description:

        cx_rt_develop7.1-007 was built with an older /usr/include/sys/fbs.h
        which meant all objects using struct fbsproc_ds are wrong.

        Because cx_rt_develop patches are installed after cx patches, the
        corresponding patch cx7.1-057 will not correct the header file problem
        unless 7.1 cx_rt_develop patches 001 through 007 are removed.

        The following are the problem descriptions for cx_rt_develop patches
	001 through 007.

        001 - The FBS needed to be instrumented with tracepoints.

        002 - rt_datarec fails to map valid target addresses.
            - fbsquery and pmqrylist functions leave unreferenced allocated
              memory (HM11266).
            - cannot specify null pointer or blank string for query functions
              (HM10199).
            - cannot obtain invocation parameter (HM10199).

        003 - RIQ 1CR5045 requires that the major frame and minor cycle at
              which an FBS resumes scheduling can be specified.

        004 - CX/UX 7.1 obtains a completely new memory page mapping for each
              usermap request; after several thousand requests it begins to
              take a considerable amount of time to add a new mapping or
              perhaps even to fault in a mapped page.

        005 - Scheduling FBS (Frequency-Based Scheduled) processes from a
              program being debugged under NightView would cause a
              multiprocessor system to hang.

        006 - Display of variables at an octal address for data recording does
              not work properly.
            - Variables greater than twelve in the data definition file are not
              printed properly.  The type is incorrect and the message
              "VAR NOT FND" is displayed.
            - The system does not allow a user to remove another user's FBS
              without being root.
            - fbsgetrtc does not work properly from a Fortran program.  The man
              page does not reflect the number of variables to be passed into
              the function call.  Calling the functions without the proper
              number of variables will produce a memory fault.
            - Scheduling FBS (Frequency Based Scheduled) processes from a
              program being debugged under NightView, would cause a
              multiprocessor system to hang.
            - The FORTRAN function calls fbsquery(), sched_fbsquery(), and
              pmqrylist(), when called multiple times from a monitoring process
              will consume all available memory.

 Resolution Description:

        Rebuilt all fbs related objects with most current header
        (from cx7.1-050).

        Rebuilt all fbs related objects that 7.1 cx_rt_develop patches from 001
        to 007 modified so that cx_rt_develop7.1-008 will replace all 7.1
        cx_rt_develop patches to date and no longer distributing 7.1
        cx_rt_develop patches 001 through 007.

        The following are the resolution descriptions for cx_rt_develop patches
	001 through 007.

        001 - The FBS tracepoints have been inserted in the FBS source.

        002 - rt_datarec was not testing usermap(2) return value appropriately;
              as of release 7.1, only -1 indicates an error, not any negative
              value.
            - free allocated memory before returning from functions.
            - correct name_ptr parameter verification in pgmquery and
              pgmreschedule.
            - return invocation parameter in fbsquery and pgmquery.

        003 - The kernel routine fbsctl() was enhanced with a new function code
              to permit arbitrarily changing the major frame and minor cycle of
              a stopped FBS and then resuming the FBS.  User libraries were
              enhanced to offer this functionality to programs.
   
        004 - Keep track of previously mapped pages and use them, if possible,
              for subsequent usermap requests.  This function is implemented by
              a new usermap library function (in librt.a) that invokes the
              system call only when a new memory page is really needed.
              Applications that are linked with the -lrt option will invoke
              this new wrapper function instead of using the usermap(2) system
              call directly.
   
        005 - Made necessary changes in the kernel to prevent hanging the
              system.
   
        006 - Modified code to handle octal address.
            - Modified code to handle more than 12 variables.
            - Added an access vector FBS_REMOVE to allow the removal of an FBS
              without being root.
            - Modified the man page to reflect the need for a fifth variable to
              passed to the function.
            - Made necessary changes in the kernel to prevent hanging the
              system.
            - Added in free() calls to release the memory used after each call.
   
 Modified Source:

        The following are the modified source for patches 001 through 007.

        001 - usr/src/uts/machine/fbs/fbsintr.c

        002 - usr/src/cmd/rt_datarec/map_address.c
              usr/src/lib/librt/fbsquery.c
              usr/src/lib/librt/pgmquery.c
              usr/src/lib/librt/pgmreschedule.c
              usr/src/lib/librt/pmqrylist.c

        003 - usr/include/sys/fbs.h

        004 - usr/src/lib/librt/librt.mk
              usr/src/lib/librt/usermap.c

        005 - usr/src/uts/machine/fbs/fbsop.c

        006 - usr/man/p_man/man2/fbsctl.2
              usr/man/p_man/man3/fbsgetrtc.3f
              usr/src/lib/libF77rt/fbsquery_.c
              usr/src/lib/libF77rt/pmqrylist_.c
              usr/src/cmd/rtutil/dr_load.f
              usr/src/cmd/rtutil/dr_parse.f
              usr/src/uts/machine/fbs/fbsctl.c
              usr/src/uts/machine/fbs/fbsintr.c
              usr/src/uts/machine/fbs/fbsop.c

 Object Modules:
   
        /usr/src/uts/machine/M88K/lib_fbs
        /usr/src/uts/machine/M88K-RT/lib_fbs
        /usr/src/uts/machine/NH5000/lib_fbs
        /usr/src/uts/machine/NH5000-RT/lib_fbs
        /usr/lib/libF77rt.a
        /usr/lib/librt.a
        /usr/man/p_man/man2/fbsctl.2
        /usr/catman/p_man/man2/fbsctl.2.z
        /usr/man/p_man/man3/fbsgetrtc.3f
        /usr/catman/p_man/man3/fbsgetrtc.3f.z
        /usr/man/p_man/man3/fbsresume.3c
        /usr/catman/p_man/man3/fbsresume.3c.z
        /usr/man/p_man/man3/fbsresume.3f
        /usr/catman/p_man/man3/fbsresume.3f.z
        /usr/bin/rt_datarec
        /usr/bin/rt_datarec1
        /usr/bin/rt_datarec2
        /usr/bin/rtutil
   
 Conditions for Installation:

        Patch cx7.1-057 must be installed for the installation of this patch to
        be complete.
   
        004 - Systems that configure the DATAREC kernel option may install this
              software if any application calls the usermap(2) system call for
              a large number of variable locations and the time used to make
              the series of usermap calls is significant.
   
 Possible Side Effects:
   
        004 - This patch alters the order in which usermap requests are made.
              Applications that make all usermap calls together in a
              preparatory stage of the program should see no difference.
              However, applications that scatter usermap calls throughout the
              execution of the program can be fooled if the target's address
              space layout is modified.
                                        return to index
================================================================================

                    Harris CSD Software Development
                         Software Patch Report

 Patch Name:       cx_rt_develop7.1-009
 Project:          HCX
 Product:          cx_rt_develop
 Date Issued:      Mon Aug 19 08:57:01 1996


 Release on Which Patch May Be Installed:   7.1

 Release Which Corrects Problem: TBD

 Related Patches: none

 Related Modification Numbers: none

 Related SARs: none

 Problem Description:

	Customers that already installed patches cx_rt_develop7.1-001 through
	cx_rt_develop7.1-007 would still have the wrong fbs.h installed unless
	they removed those previously installed patches.

	The rtutil released in cx_rt_develop7.1-008 was built incorrectly.

 Resolution Description:

	Release fbs.h in cx_rt_develop product.

	Release working rtutil.

 Modified Source: none

 Object Modules:

/usr/include/sys/fbs.h
/usr/bin/rtutil

 Conditions for Installation: none

 Possible Side Effects: none
                                        return to index
================================================================================

                    Harris CSD Software Development
                         Software Patch Report

 Patch Name:       gdb7.1-001
 Project:          HCX
 Product:          gdb
 Date Issued:      Fri Jun 24 14:00:21 1994


 Release on Which Patch May Be Installed:   	7.1

 Release Which Corrects Problem:   		TBD

 Related Patches:  				hc7.1-001

 Related Modification Numbers:			none

 Related SARs:					none

 Problem Description:   
	gdb had many problems dealing with ELF/DWARF files

 Resolution Description:   
	gdb was upgraded to version 4.11 and many bug fixes to the DWARF
	reader were added.

 Modified Source:
	usr/src/cmd/gdb/gdb.mk
	usr/src/cmd/gdb/gdb_script
	usr/src/cmd/gdb/gdb-4.9 directory tree replaced with 
			        usr/src/cmd/gdb/gdb-4.11.

 Object Modules:   
	/usr/bin/gdb
	/usr/bin/gdb4.11
	/usr/bin/gdb4.9 (replaced by /usr/bin/gdb4.11)

 Conditions for Installation:   
	Install along with hc7.1-001 on all 7.1 systems

 Possible Side Effects:				none

 Comments:
	Note that the gdb-4.9 source tree is archived using '/bin/tar' and
	compressed using '/usr/ucb/compress' for storage in the 'old'
	directory of the patch.

	The documentation for gdb 4.9 does not need to be updated for 
        this patch.

                                        return to index
================================================================================

                    Harris CSD Software Development
                         Software Patch Report

 Patch Name:       nfs7.1-001
 Project:          HCX
 Product:          nfs
 Date Issued:      Tue Sep 26 13:12:20 1995


 Release on Which Patch May Be Installed:   7.1

 Release Which Corrects Problem: TBD

 Related Patches: None.

 Related Modification Numbers: None.

 Related SARs: None.

 Problem Description:
     1.	A race condition between syncs and unmounts on nfs filesystems
	can cause the system to panic.  Improper rnode locking in
	the nfs_putpage() routine will cause a sync operation to
	use a null pointer from a vnode structure field that has
	been cleared by a nfs_unmount() operation.

     2.	During the boot process, rpc.lockd implements a grace period during
	which lockdaemon peers can re-acquire locks they held prior to the
	reboot. During this period, kernel messages are acknowledged and kept
	in a cache, but no action is taken on their behalf.  At the end of
	the grace period, rpc.lockd discards all kernel messages from its
	message cache.  rpc.lockd then gets confused and uses a stale pointer
	to send a reply back to the last kernel message it received.  This
	produces a message from rpc.lockd

	on the system console (or the debug trace file):
		rpc.lockd: unknown klm_reply proc(0)

	A truncated reply is then sent to the kernel.  The kernel then
	complains on the system console with the following message:
		lock-manager: RPC error: RPC: Can't decode result

 Resolution Description:
     1.	Move the rnode locking in the nfs_putpage() routine up
	sooner in the routine in order to properly serialize sync
	operations in this routine with unmount operations.

     2.	Modify the code in rpc.lockd that discards messages from the cache
	so the last kernel message pointer is cleared when that message is
	discarded.

 Modified Source:
	usr/src/uts/machine/nfs/nfs_vnodeops.c
	usr/src/cmd/rpc.lockd/prot_msg.c

 Object Modules:
	lib_nfs		nfs_vnodeops.o
	/usr/etc/rpc.lockd

 Conditions for Installation:
	All CX/UX 7.1 systems.

 Possible Side Effects:
	None.

                                        return to index
================================================================================

                    Harris CSD Software Development
                         Software Patch Report

 Patch Name:       nfs7.1-002
 Project:          HCX
 Product:          nfs
 Date Issued:      Tue Nov 28 10:47:00 1995


 Release on Which Patch May Be Installed:   7.1

 Release Which Corrects Problem: TBD

 Related Patches: none

 Related Modification Numbers: none

 Related SARs: none

 Problem Description:

        When file sharing is used, rpc.lockd uses a hash function to index a
        table of shared records.  This function can sometimes yield negative
        values, causing rpc.lockd to coredump.  This is the same problem that
        patch nfs6.2-001 fixes (see problem 1 in the Problem Description for
        this patch); however a different part of the code caused the negative
        value in the hash function.  This was seen from accessing a file from
        a PowerUX filesystem via NFS.

 Resolution Description:

	Modified hash function so hash value is always non-negative.

 Modified Source:

	usr/src/cmd/rpc.lockd/udp.c

 Object Modules:

	usr/etc/rpc.lockd

 Conditions for Installation: none

 Possible Side Effects: none
                                        return to index
================================================================================

                    Harris CSD Software Development
                         Software Patch Report

 Patch Name:       nfs7.1-003
 Project:          HCX
 Product:          nfs
 Date Issued:      Wed Jan 17 16:29:09 1996


 Release on Which Patch May Be Installed:   7.1

 Release Which Corrects Problem:	N/A

 Related Patches:	cnd7.1-001
			eg7.1-003
			pg7.1-003
			tcp_ip7.1-004
			hps7.1-004
			ise7.1-005
			cx_rt_develop7.1-006
			cx7.1-050


 Related Modification Numbers:	None

 Related SARs:	None

 Problem Description:
	1.  xtimer getting confused

 Resolution Description:
	1.  Fix for dequeued messages causing xtimer to get 
	    confused

 Modified Source:
 usr/src/cmd/rpc.lockd/prot_msg.c

 Object Modules:
 usr/etc/rpc.lockd

 Conditions for Installation:	None

 Possible Side Effects: None
                                        return to index
================================================================================

                    Harris CSD Software Development
                         Software Patch Report

 Patch Name:       nfs7.1-004
 Project:          HCX
 Product:          nfs
 Date Issued:      Mon Apr 15 07:59:01 1996


 Release on Which Patch May Be Installed:   7.1

 Release Which Corrects Problem:	TBD

 Related Patches:	None.

 Related Modification Numbers:	None.

 Related SARs:	HM11708

 Problem Description:

	When using touch on a PowerUX system to update the access and modify
times of a file residing on a NFS-mounted CX/UX system disk, the file's modify
time gets set to Dec 31, 1969.  This occurs only if no time is specified on the
touch command.


 Resolution Description:

	Changed rfs_setattr() to fill in the current time if it sees a request
with the tv_usec field set to 1000000.  PowerUX systems create requests this
way but CX/UX systems do not, apparently because of a discrepancy in NFS
protocol versions with the CX/UX system having the older version of the two.


 Modified Source:
usr/src/uts/machine/nfs/nfs_server.c

 Object Modules:
lib_nfs		nfs_server.o

 Conditions for Installation:	None.

 Possible Side Effects:		None.
                                        return to index
================================================================================

                    Harris CSD Software Development
                         Software Patch Report

 Patch Name:       nfs7.1-005
 Project:          HCX
 Product:          nfs
 Date Issued:      Fri Jun 28 14:43:47 1996


 Release on Which Patch May Be Installed:   7.1

 Release Which Corrects Problem: TBD

 Related Patches: NONE

 Related Modification Numbers: NONE

 Related SARs: HM11843

 Problem Description:
        NFS automount was not properly deallocating memory and grew in size
        during operation.

 Resolution Description:
        Problem was due to a missing `free(fs)' at the end of procedure
        free_filsys. Source code "usr/src/cmd/automount/auto_node.c" was
        modified to fix the problem.

 Modified Source:
 usr/src/cmd/automount/auto_node.c

 Object Modules:
 usr/etc/automount

 Conditions for Installation: NONE

 Possible Side Effects: NONE
                                        return to index
================================================================================

                    Harris CSD Software Development
                         Software Patch Report

 Patch Name:       nfs7.1-006
 Project:          HCX
 Product:          nfs
 Date Issued:      Mon Aug 19 08:24:47 1996


 Release on Which Patch May Be Installed:   7.1

 Release Which Corrects Problem: TBD

 Related Patches: cx7.1-062

 Related Modification Numbers: NONE

 Related SARs: HM11453

 Problem Description:
        For some rpc problems, massive error messages can be dumped to the
        system console before the problems got fixed, this will overwhelm
        other useful messages.

 Resolution Description:
        A tunable variable "lock_rpc_error_quiet" is added to "space.c".
        Now the rpc error messages to console can be turned on/off by changing
        the value of "lock_rpc_error_quiet". The default value is to turn on
        the message.

 Modified Source:
 usr/src/uts/machine/krpc/klm_lockmgr.c

 Object Modules:
 lib_krpc       klm_lockmgr.o

 Conditions for Installation: 
	Need to insatll patch cx7.1-062 first.

 Possible Side Effects: NONE
                                        return to index
================================================================================

         Concurrent Computer Corporation Software Development
                         Software Patch Report

 Patch Name:       nfs7.1-007
 Project:          HCX
 Product:          nfs
 Date Issued:      Thu Nov 21 13:25:37 1996


 Release on Which Patch May Be Installed:   7.1

 Release Which Corrects Problem: TBD

 Related Patches: None

 Related Modification Numbers: None

 Related SARs: 11919

 Problem Description:
        When SATAN was run against a CX/UX system, it would cause
        all sorts of problems, including a possible panic.  It was
        determined that this was occurring when a short packet was
        sent to a port being serviced via RPC.

 Resolution Description:
        The problem was in the code which processes incoming 
        RPC service requests (which includes NFS requests).  

        All incoming requests are delivered to this routine in the 
        form of mbufs.  

        It is possible for a request to span multiple mbufs (ie: an mbuf 
        chain where part of the request is in the first mbuf, continues 
        into the second mbuf, and so on).  

        As illustrated below, this routine was checking if the current 
        mbuf had at least 4*sizeof(u_long) (or 16) bytes, and, if it 
        didn't, it would call m_pullup().  

        The purpose of m_pullup() is to traverse an mbuf chain and 
        "pull up" at least n (in this case 16) bytes from the front 
        of the chain into a new mbuf (it will then recreate the rest 
        of the mbuf chain as hanging off of that one, and free the old 
        first mbuf).
                
        Here is the problem that the original coder missed:
                When m_pullup() doesn't find at least n bytes,
                it will call m_freem(m) (and return an error code).

        Here is the code:
        ----------------------------------------------------------
         if ((m->m_len < 4*sizeof(u_long)) &&
             (m_pullup(m,4*sizeof(u_long)) == 0)) {
                  rsstat.rsbadlen++;
                  goto bad;
         }
         ...
         bad:
                m_freem(m);
                ...

        ----------------------------------------------------------

        We are properly checking the error code, but then we
        were jumping down to "bad".  "bad" would then call
        m_freem() on m (whose value never changed to this
        calling routine).

        The end result was that when we couldn't pull up at least
        16 bytes in the incoming request, we would wind up calling
        m_freem() on the same chain twice.  The first time would put
        the chain on the free list.  The second time was attempting 
	to put the chain that's already on the free list on to the 
	free list.  
        
        The end result was that somehow multiple references 
        to the same mbuf could be acquired, and 'funky' stats 
        (such as "-574958294/220 mbufs in use") would be 
        reported.

        The fix was as simple as adding one line (see below).

         if ((m->m_len < 4*sizeof(u_long)) &&
             (m_pullup(m,4*sizeof(u_long)) == 0)) {
                  rsstat.rsbadlen++;
Insert            m=0; /*Don't free -- m_pullup() does that*/
                  goto bad;
         }
         ...            
         bad:
         m_freem(m);
         ...

        By setting 'm' to NULL when m_pullup() fails, the second m_freem() 
        (in bad) will not try to (nor will it be able to) free it again.



 Modified Source:
 usr/src/uts/machine/rpc/svc_kudp.c

 Object Modules:
 lib_rpc svc_kudp.o

 Conditions for Installation: None

 Possible Side Effects: None
                                        return to index
================================================================================

	     Concurrent Computer Corporation Software Development
                         Software Patch Report

 Patch Name:       nfs7.1-008
 Project:          HCX
 Product:          nfs
 Date Issued:      Mon Jul 13 14:16:22 1998


 Release on Which Patch May Be Installed: 7.1

 Release Which Corrects Problem: TBD

 Related Patches: NONE

 Related Modification Numbers: NONE

 Related SARs: 
	HM12152, HM12222, HM12348

 Problem Description:
    (1) Running makes across NFS causes defunct processes to accumulate
    	until the system is out of process table space and the system hangs.
    (2) When using the automounter with a large map the automounter dies
	and causes user shells in auto-mounted directories to freeze. The 
	problem has been traced to a pointer not getting reset in a loop
	and eventually overwriting the stack for the process.
    (3) Init process may hang doing an nfs sync.  As a result, the operations
	that init does such as spawning new terminal processes or removal of
	orphaned zombie processes is not done.

 Resolution Description:
    (1) Added a timeout mechanism to the loop where RPC calls wait for a
	semaphore before sending data across the wire. This prevents nfs
	processes from spinning forever while holding resources needed by 
	init.
    (2) Added code to reset pointer in the loop.
    (3) The hang was caused by a previous nfs operation. If the file was
	truncated during the operation, it could leave pages locked forever.
	Fix is to always release page locks even if a file is truncated.

 Modified Source:
	usr/src/uts/machine/rpc/clnt_kudp.c
	usr/src/cmd/automount/auto_look.c
	usr/src/uts/machine/nfs/nfs_vnodeops.c

 Object Modules:
	lib_rpc		clnt_kudp.o
	usr/etc/automount
	lib_nfs		nfs_vnodeops.o

 Conditions for Installation: NONE

 Possible Side Effects: NONE
                                        return to index
================================================================================

                    Harris CSD Software Development
                         Software Patch Report

 Patch Name:       trace7.1-001
 Project:          HCX
 Product:          trace
 Date Issued:      Wed Mar 30 13:52:01 1994


 Release on Which Patch May Be Installed:   7.1

 Release Which Corrects Problem:  TBD

 Related Patches:  cx7.1-007 and cx_rt_develop7.1-001

 Related Modification Numbers:   none

 Related SARs:   none

 Problem Description:
   The trace tool needed an option to support the FBS tracepoints added in
   patch cx7.1-007.

   The ntfilter tool lost the second and third arguments of non-standard
   kernel tracepoints (for example, the FBS tracepoints).

   The ntfilter tool did not handle nested system calls, which can occur
   during the execution of user-level interrupt routines.

 Resolution Description:
   The -F option has been added to the trace tool to enable the FBS
   tracepoints.

   The ntfilter tool has been changed to keep all the arguments logged with
   non-standard tracepoints.

   The ntfilter tool has been changed to produce the proper sequence of
   tracepoints for a nested system call.

 Modified Source:
   usr/src/cmd/trace/ntfilter.c
   usr/src/cmd/trace/trace.c
   usr/src/cmd/trace/trace_def.h

 Object Modules:
   usr/bin/trace
   usr/bin/ntfilter

 Conditions for Installation:
   Patch cx7.1-007 must be installed for the installation of this patch to
   be complete.

 Possible Side Effects:  none
                                        return to index
================================================================================

                    Harris CSD Software Development
                         Software Patch Report

 Patch Name:       vdisk7.1-001
 Project:          HCX
 Product:          vdisk
 Date Issued:      Wed Jul 20 13:13:14 1994


 Release on Which Patch May Be Installed:   7.1

 Release Which Corrects Problem:   TBD

 Related Patches:   cx7.1-017

 Related Modification Numbers:   None

 Related SARs:   None

 Problem Description:
	RIQ# 4FR1310 (Ref# 4700) requires support for file systems
	larger than 4 gigabytes.

	System may panic when using virtual disks.

 Resolution Description:
	Provide support for disk concatenation (also known as spanning)
	and for new interface necessary for file system maintenance
	tools to access devices larger than 4 gigabytes.

	Notify physical disk device driver that request is NOT async
	I/O request, so the device driver will not try to access the
	wrong structure.

 Modified Source:
	usr/man/a_man/man1/vdisk.1m
	usr/man/p_man/man4/vdisk.conf.4
	usr/src/cmd/vdisk.c
	usr/src/uts/machine/sys/vdisk.h
	usr/src/uts/machine/io/vdisk.c

 Object Modules:
	sbin/vdisk
	usr/catman/a_man/man1/vdisk.1m.z
	usr/catman/p_man/man4/vdisk.conf.4.z
	usr/include/sys/vdisk.h
	usr/man/a_man/man1/vdisk.1m
	usr/man/p_man/man4/vdisk.conf.4
	usr/src/uts/machine/sys/vdisk.h
	lib_vdisk	vdisk.o

 Conditions for Installation:
	Patch cx7.1-017 must be installed.

 Possible Side Effects:   None
                                        return to index
================================================================================

                    Harris CSD Software Development
                         Software Patch Report

 Patch Name:       vsx_tests7.1-001
 Project:          HCX
 Product:          vsx_tests
 Date Issued:      Fri Apr  8 14:16:50 1994


 Release on Which Patch May Be Installed:   7.1

 Release Which Corrects Problem:  TBD

 Related Patches:  None

 Related Modification Numbers:  None

 Related SARs:  None

 Problem Description:  
	CX/UX 7.1 requires new files to support portions of the
	VSX Test Suite Version 4.3.2.

 Resolution Description:
	Add new files in support of VSX Test Suite Version 4.3.2.

 Modified Source:
 None

 Object Modules:
 usr/src/PRODUCTS/vsx_tests_7.1_lpr
 usr/src/PRODUCTS/vsx_tests_7.1_rel
 usr/src/VSX/LANG/README
 usr/src/VSX/LANG/VSX4L0.coll
 usr/src/VSX/LANG/VSX4L0.ctype
 usr/src/VSX/LANG/VSX4L0.info
 usr/src/VSX/LANG/VSX4L0.mon
 usr/src/VSX/LANG/VSX4L0.time
 usr/src/VSX/LANG/VSX4L1.coll
 usr/src/VSX/LANG/VSX4L1.ctype
 usr/src/VSX/LANG/VSX4L1.info
 usr/src/VSX/LANG/VSX4L1.mon
 usr/src/VSX/LANG/VSX4L1.time
 usr/src/VSX/LANG/VSX4L1.time-a
 usr/src/VSX/LANG/VSX4L1.xlate
 usr/src/VSX/LANG/VSX4L2.coll
 usr/src/VSX/LANG/VSX4L2.ctype
 usr/src/VSX/LANG/VSX4L2.info
 usr/src/VSX/LANG/VSX4L2.mon
 usr/src/VSX/LANG/VSX4L2.time
 usr/src/VSX/LANG/VSX4L2.time-a
 usr/src/VSX/LANG/VSX4L2.xlate
 usr/src/VSX/LANG/VSX4L3.coll
 usr/src/VSX/LANG/VSX4L3.ctype
 usr/src/VSX/LANG/VSX4L3.info
 usr/src/VSX/LANG/VSX4L3.mon
 usr/src/VSX/LANG/VSX4L3.time
 usr/src/VSX/LANG/VSX4L3@dict.coll
 usr/src/VSX/LANG/VSX4L3@dict.ctype
 usr/src/VSX/LANG/VSX4L3@dict.info
 usr/src/VSX/LANG/VSX4L3@dict.mon
 usr/src/VSX/LANG/VSX4L3@dict.time
 usr/src/VSX/LANG/makefile

 Conditions for Installation:
 Install on CX/UX Release 7.1 for XPG3 verification using VSX 4.3.2 only.

 Possible Side Effects:
 None
                                        return to index
================================================================================