Patch Name: PHCO_16923 Patch Description: s700_800 10.20 make(1) cumulative patch Creation Date: 98/11/13 Post Date: 98/11/19 Warning: 99/05/12 - This Critical Warning has been issued by HP. - The version of make(1) (rev 78.1.1.14), delivered by PHCO_16923, exposes a problem whereby make(1) may coredump under very specific conditions. - The problem (coredump risk) occurs if make(1) invokes a script which does not have a "#!/path/interpreter" on the first line of the script, i.e. "#!/usr/bin/sh" or similar is missing. - Working around the problem can be done by adding the missing interpreter line to the script. - Or, PHCO_16923 can be removed from the system and PHCO_16371 installed instead. - The problem is reported to be seen by Informix/4gl/fourgen, Foursite users. - PHCO_16923 is included in the following Extension Software General Release Patch Bundles: April 1999: XSW700GR1020,B.10.20.44 April 1999: XSW800GR1020,B.10.20.44 - HP recommends that PHCO_16923 be removed from systems and depots where it could lead to situations that expose the above described problem. - Superseded patch PHCO_16371 does not exhibit this problem and will be re-released until a replacement patch is available. Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: N/A Filesets: OS-Core.UX-CORE Automatic Reboot?: No Status: General Superseded With Warnings Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHCO_16923 Symptoms: PHCO_16923: Make(1) output the error message "Too many exec arguments" if the number of arguments exceeds 500 PHCO_16371: make(1) gives error "line too long" if the number of characters for exec() arguments exceeds 20478. PHCO_14612: 10.x make(1) is much slower compared to 9.x make(1) PHCO_11760: make(1) silently fails to search the list of directories to search for prerequisites if VPATH is longer than MAXPATHLEN. PHCO_10836: Performance of make(1) degrades drastically for very long VPATH. 10.X make is much slower than 9.X make. make does not see files built for previous prerequisites make can ignore the line following an "include" in Makefile PHCO_8893: 1. make(1) does not use the SHELL variable to run the commands always. 2. make(1) does not rebuild libraries as mentioned in the man-pages. 3. Dynamic pre-requisite variables like $${@:.o=.c} does not work as expected. 4. make(1) does not support multiple conditional macros. 5. make(1) ignores the last command line if there is no non-white characters after the '\' character. Defect Description: PHCO_16923: Make(1) has the value of OUTARGVMAX hardcoded to 500. Thus, if the number of argments exceeded 500, an error occurred PHCO_16371: make(1) uses the ARG_MAX constant defined in limit.h and this value(20478) has been hardcoded in the make code, as ARG_MAX is configurable make(1) now determines the value of ARG_MAX dynamically. PHCO_14612: 10.x make(1) used to make number of pathconf(2) calls. This is due to the fix for DSDe423658. Also make(1) used to make unnecessary access(2) calls to check the existence of the file. PHCO_11760: make(1) silently fails to search the list of directories to search for prerequisites if path set in VPATH holds longer than MAXPATHLEN. PHCO_10836: Performance of make(1) degrades drastically for very long VPATH. 10.X make is much slower than 9.X make. make does not see files built for previous prerequisites make can ignore the line following an "include" in Makefile PHCO_8893: 1. make(1) does not use the SHELL variable to run the commands always. 2. make(1) does not rebuild libraries as mentioned in the man-pages. 3. Dynamic pre-requisite variables like $${@:.o=.c} does not work as expected. 4. make(1) does not support multiple conditional macros. 5. make(1) ignores the last command line if there is no non-white characters after the '\' character. SR: 1653279174 5003395251 4701318378 5003345728 4701318378 1653197533 5003338079 1653177501 5003317768 1653189845 Patch Files: /usr/lib/nls/msg/C/make.cat /usr/ccs/bin/make what(1) Output: /usr/lib/nls/msg/C/make.cat: None /usr/ccs/bin/make: $Revision: 78.1.1.14 $ PATCH_10_20: main.o doname.o misc.o files.o rules.o dosys.o gram.o dyndep.o prtmem.o nl_strchr.o filehash.o hpux_rel.o 98/11/13 cksum(1) Output: 963206234 2129 /usr/lib/nls/msg/C/make.cat 2513088189 81920 /usr/ccs/bin/make Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_8893 PHCO_10836 PHCO_11760 PHCO_14612 PHCO_16371 Equivalent Patches: None Patch Package Size: 140 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHCO_16923 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_16923.depot 5b. For a homogeneous NFS Diskless cluster run swcluster on the server to install the patch on the server and the clients: swcluster -i -b This will invoke swcluster in the interactive mode and force all clients to be shut down. WARNING: All cluster clients must be shut down prior to the patch installation. Installing the patch while the clients are booted is unsupported and can lead to serious problems. The swcluster command will invoke an swinstall session in which you must specify: alternate root path - default is /export/shared_root/OS_700 source depot path - /tmp/PHCO_16923.depot To complete the installation, select the patch by choosing "Actions -> Match What Target Has" and then "Actions -> Install" from the Menubar. 5c. For a heterogeneous NFS Diskless cluster: - run swinstall on the server as in step 5a to install the patch on the cluster server. - run swcluster on the server as in step 5b to install the patch on the cluster clients. By default swinstall will archive the original software in /var/adm/sw/patch/PHCO_16923. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. Warning: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHCO_16923.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHCO_16923.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None