What is Support Level Supplement (SLS) ptf9055h, the UnixWare 7.1.4 Maintenance Pack 4 Supplement? Problem Fixed ------------- The following fix was first provided with ptf9055a and is also contained in ptf9055h: 1. Fix a problem introduced in UnixWare 7.1.4 Maintenance Pack 4 that causes the command ln -s nonexistent newfile to fail inappropriately with UX:ln: ERROR: Cannot access nonexistent: No such file or directory when the target pathname ("nonexistent" in this case) doesn't exist. The "ln -s" command shouldn't care whether the target path (currently) exists. fz534960 The following fix was first provided with ptf9055b and is also contained in ptf9055h: 2. A memory corruption in dynamically loadable module subsystem is fixed which was caused by repeated loading and unloading of modules/drivers while an intervening open is initiated to get a hold on the driver. fz534990 The following fix was first provided with ptf9055c and is also contained in ptf9055h: 3. A packaging error in ptf9055b resulted in a kernel build failure due to an undefined symbol after installing ptf9055b. fz535193 The following fixes were first provided with ptf9055d and are also contained in ptf9055h: 4. When optimizing with compilation options "-K pentium_pro -KPIC", a bug in instruction scheduling may result in the incorrect re-ordering of two dependent instructions that modify a function argument before its first use. This could happen if both instructions are ultimately hoisted above the "popl %ebx" instruction used to establish the global offset table pointer. This bug has been resolved. fz535654 5. Incorrect code may be generated when optimizing nested loops where: - there are multiple exits, such as end of loop, continue, or break, from an inner loop; and - indexed operands (addresses) are promoted to register(s), temporarily freeing register(s) if needed. The error occurred in instructions added at one of the loop exits to restore previous values in the "temp" register and has only occurred in one known open-source source file. This problem has been fixed. fz535658 6. A previous change to the libc/port/catopen.c source file for OpenServer 6 (fz532671) required a new C macro define to be added into nl_types.h. While probably only needed for UnixWare 7.1.x and OpenServer 6 libc.so.1 runtime compilation, this updated header file is being released to be consistent across the SVR5 products. fz535700 7. To further aid the porting of open source software, some common extended APIs have been added: void _flushlbf(void); size_t __fbufsiz(FILE *stream); size_t __fpending(FILE *stream); void __fpurge(FILE *stream); int __flbf(FILE *stream); int __freading(FILE *stream); int __fwriting(FILE *stream); int __freadable(FILE *stream); int __fwritable(FILE *stream); fz535604 8. The duplicate typedef declarations for "pointer" and "const_pointer" have been removed from the C++ header file /usr/include/CC/deque. fz535708 9. The macro definitions of offsetof() in /usr/include/stddef.h and /usr/include/sys/sysmacros.h are now an exact match. A previous warning diagnostic about the offsetof macro being redefined no longer occurs when both header files are include into a compilation unit. fz535716 The following fixes were first provided with ptf9055e and are also contained in ptf9055h: 10. "ln -s source dst-dir" broken in MP4 A post MP4 fix to the "ln" command to create symbolic links when the source file(s) do not exist failed to also consider the case when the target was a directory. The command has been fixed to create the symbolic link in the target directory to the non-existent source files as required by the POSIX standard. fz535721 11. Incorrect time reporting by gettimeofday() call - UW714 MP4 Fixed bugs in the clock recalibration code which led to the gettimeofday() system call reporting an incorrect time. fz534251 12. ksh (ksh93e) coredumps under certain circumstances Two long standing ksh93 bugs in "here" document processing that have plagued open-source configure scripts and that had become more pronounced with UW7.1.4 MP4 have been resolved. Other reported and non-reported memory leaks and memory faults have been addressed. The ksh93 binaries on the system have been upgraded from ksh93e to ksh93u from AT&T Research. Please reference the new ksh man page, installed with this fix, for new features. fz535188 13. C++ ICE: Covariant return types usage gets internal error C++ Internal Compiler Error (ICE) - "cgtr_expr(): unexpected ep->kind" has been fixed for the case of covariant virtual functions with fixed argument lists. fz223362 The following fixes were first provided with ptf9055f and are also contained in ptf9055h: 14. The new ksh man page released in ptf9055e was empty. The new man page for ksh93u that was inadvertently truncated in ptf9055e has been corrected. fz535792 The following fixes were first provided with ptf9055g and are also contained in ptf9055h: 15. A new boot parameter, CONSOLE_VIDEO, has been added to allow specification of the video adapter type in cases where the OS does not identify the video adapter type correctly. Allowed values of CONSOLE_VIDEO are "VGA", "EGA", "CGA", "CGA40", and "MONO." Values may be specified in either all upper or all lower case. If CONSOLE_VIDEO is not set, or if it is set to a value other than the ones listed here, then the system will attempt to identify the video adapter automatically. fz535871 16. A new boot parameter, PS2_KEYBOARD, has been added that allows specification of the presence or absence of a PS/2 or legacy keyboard controller. The value of PS2_KEYBOARD may be: YES to specify there is a PS/2 keyboard controller present NO to specify there is no PS/2 keyboard controller AUTO to specify that the OS should detect presence or absence of a PS/2 keyboard controller at runtime The PS2_KEYBOARD boot parameter, if present, takes precedence over the kernel tunable i8042_detection defined in /etc/conf/pack.d/ws/space.c. If PS2_KEYBOARD is not specified, then the value of i8042_detection determines the treatment of the PS/2 keyboard. The default value of i8042_detection is 1, which has the same behavior as PS2_KEYBOARD=AUTO. fz535870 17. The system displays the message "WARNING: Integral console keyboard not found" if no i8042 keyboard controller was found on the system, regardless of the system tuning. This message and the circumstances under which it is displayed have been modified as follows. If the kernel is tuned to always ignore the i8042 keyboard controller (e.g., PS2_KEYBOARD=NO), then no message about its absence will be displayed. If the kernel is tuned to assume the presence of an i8042 keyboard controller (e.g., PS2_KEYBOARD=YES or i8042_detection=0), and no i8042 controller is found, then a warning will be displayed. If the kernel is set to auto-detect the presence of the controller, then a notice will be displayed if none is found. fz535713 18. Fix a kernel panic caused by a NULL pointer dereference in clock handling code. fz535800 19. Fix statvfs so that it returns the file system pack name. fz535072 20. A system was seen to pause during reboot for about two minutes following display of the message "Automatic Boot Procedure." The problem was tracked to code in the reset sequence that writes to the legacy i8042 keyboard controller. The reset sequence has been modified to write to the legacy controller only if the system has determined that it is present. fz535869 21. Fix a syntax error in /usr/sbin/rndc-keyadm that became evident when ksh93 was updated to the ksh93u release. fz535852 22. IGMP statistics were not being updated correctly. The problem has been fixed. fz535877 Fixes provided in ptf9055h: 23. Setting the boot parameter ACPI=Y actually causes the system to behave as if ACPI=N. This has been fixed. fz536068 24. Fix errors in the retrieval and interpretation of device configuration information from ACPI tables. fz536069 Contents -------- /bin/rksh /etc/conf/interface.d/psm.2.2 /etc/conf/mdevice.d/at_toolkit /etc/conf/pack.d/acpi/Driver_atup.o /etc/conf/pack.d/acpi/Driver_mp.o /etc/conf/pack.d/at_toolkit/Driver.o /etc/conf/pack.d/fs/Driver_atup.o /etc/conf/pack.d/fs/Driver_mp.o /etc/conf/pack.d/inet/Driver_atup.o /etc/conf/pack.d/inet/Driver_mp.o /etc/conf/pack.d/kd/Driver_atup.o /etc/conf/pack.d/kd/Driver_mp.o /etc/conf/pack.d/mod/Driver_atup.o /etc/conf/pack.d/mod/Driver_mp.o /etc/conf/pack.d/mps/Driver_mp.o /etc/conf/pack.d/specfs/Driver_atup.o /etc/conf/pack.d/specfs/Driver_mp.o /etc/conf/pack.d/svc/Driver_atup.o /etc/conf/pack.d/svc/Driver_mp.o /etc/conf/pack.d/ws/Driver_atup.o /etc/conf/pack.d/ws/Driver_mp.o /etc/suid_exec /sbin/cp /sbin/ln /sbin/mv /u95/bin/ksh /u95/bin/sh /usr/bin/cp /usr/bin/ksh /usr/bin/ln /usr/bin/mv /usr/bin/posix/sh /usr/bin/shcomp /usr/ccs/lib/c++be /usr/ccs/lib/libc.a /usr/ccs/lib/libc.so /usr/ccs/lib/libcudk70.a /usr/ccs/lib/libp/libc.a /usr/ccs/lib/libp/libc.so /usr/ccs/lib/libp/libc.so.1 /usr/ccs/lib/optim /usr/include/CC/cstdio /usr/include/CC/deque /usr/include/nl_types.h /usr/include/stdio.h /usr/include/sys/sysmacros.h /usr/man/html.1/ksh.1.html /usr/sbin/rndc-keyadm Software Notes and Recommendations ---------------------------------- ptf9055h should only be installed on: UnixWare 7.1.4 Maintenance Pack 4 with libc version 8.0.2f or later As noted above in item 23 in the list of fixes, installing this patch will change the behavior of ACPI=Y. If you have ACPI=Y specified in your system's /stand/boot file, it is recommended that before installing the patch, you change it to ACPI=N and also reboot the system to confirm that the system operates correctly once that change is made. Also, as noted in item 24 in the list of fixes, installing this patch fixes some problems in the interpretation of ACPI tables. It's therefore possible that after installation of this patch, a system that previously required the ACPI boot parameter to be set may no longer need that setting. Some experimentation may be needed to determine whether this is the case. Installation Instructions ------------------------- 1. Download the ptf9055h.image file to the /tmp directory on your machine. 2. As root, add the package to your system using these commands: $ su - Password: # pkgadd -d /tmp/ptf9055h.image Alternatively, this package may be installed in quiet mode, that is, without displaying the release notes and asking for confirmation. To do this, use these commands: $ su - Password: # pkgadd -qd /tmp/ptf9055h.image all 3. Reboot the system after installing this package. Removal Instructions -------------------- 1. As root, remove the package using these commands: $ su - Password: # pkgrm ptf9055 2. Reboot the system after removing this package. If you have questions regarding this supplement, or the product on which it is installed, please contact your software supplier.