PATCH.TXT PATCH.TXT file for Microsoft(R) C/C++, Version 7.0 (C) Copyright Microsoft Corporation, 1992 Several problems in the original Microsoft C/C++ 7.0 release have been fixed. This document describes the fixes. =============================< CONTENTS >============================= This file has the following sections: Part 1: Installation Instructions Part 2: What Has Been Fixed? Part 3: Affected Files =====================< INSTALLATION INSTRUCTIONS >==================== Copy the contents of the distribution disk to the directory where you installed C/C++ 7.0 (for instance, C:\C700). From that directory, run this command: patch The patch may take some time to complete; please be patient. =======================< WHAT HAS BEEN FIXED? >======================= The patch modifies the following components: LINK LIB IMPLIB PWB (including PWB.EXE and PWBUTILS.MXT) CV and CVW (including the DLLs) CVPACK TRACE TXTONLY.OBJ GRAPHICS.LIB Part 3 lists all the affected files. The following sections describe the fixes to each component. LINK (version 5.31.009) Fixes ----------------------------- - Fixups of MOVE overlays no longer incorrectly generate error L1101 ("invalid object module") if a thunk is targeted into the same overlay. - The linker no longer overflows internal tables if a large number of MOVE overlays are requested. - Data items defined as dw are no longer incorrectly initialized to zero in the presence of overlapping virtual memory areas. - The linker is no longer prevented from generating correct "unresolved external" error messages if a program uses APPLOADER in the .DEF file. - The linker no longer creates an executable file that fills available hard disk space, an error that occured only when [1] two symbols in the same .OBJ file differed only in capitalization (for example, ExtraBytes and EXTRABYTES), [2] you linked with /CO and not with /NOI, and [3] the symbols were defined in an order that created a COMDEF record for the first one and a PUBDEF for the second. - The linker no longer incorrectly generates errors when linking MOVE overlays that include .OBJ files compiled with the /Gy (use Comdats) option. - The linker no longer incorrectly generates error L1035 ("error in module definition file) in cases where [1] a FUNCTIONS statement appeared first in the .DEF file, or [2] new PRIVATE or PRIVATELIB statements were added to a LIBRARY statement. - New warning L4059 has been added. It occurs if code contains far segment references to overlaid targets. These references are resolved correctly only if they are code references (not data references). - New warning L4087 has been added. It warns that the /DYNAMIC option disables /EXEPACK. The linker now ignores /EXEPACK for MOVE applications, preventing previous problems in executables linked with /DYNAMIC and /EXEPACK. LIB (version 3.20.010) Fixes ---------------------------- - LIB now correctly handles a symbol with more than 128 characters in its name. IMPLIB (version 1.40.005) Fixes ------------------------------- - IMPLIB now correctly handles a symbol with more than 128 characters in its name. PWB (version 2.1.49) Fixes -------------------------- - PWB no longer causes unexpected link errors when you try to build a project after trying to customize a project template. This condition occurred if you had tried to use the Customize Project Template dialog and all additional libraries were removed from the link options. - PWB no longer causes fatal error U1095 ("expanded command line too long") if you use the library template with a large number of OBJ files in a project file. - PWB's project mechanism no longer reports errors if PRELOAD, FIXED, DISCARDABLE or LOADONCALL appear in your .RC file. To take advantage of this fix, be sure to delete your existing PWB status file (CURRENT.STS) located in the directory specified by the INIT environment variable. CV and CVW (version 4.01) Fixes ------------------------------- - It is now possible to set a breakpoint inside the Windows kernel (particularly, USER.DLL and GDI.DLL). - It is now possible to set a breakpoint on a Windows API routine (for instance, GlobalAlloc). - CodeView no longer causes a UAE when loading user DLLS. - The CodeView user interface no longer causes UAEs. CVPACK (version 4.01) Fixes --------------------------- - CVPACK no longer prevents linking of certain executables containing .OBJ files with CodeView information generated by C 6.0 and C/C++ 7.0. TRACE (version 1.1) Fixes ------------------------- - TRACE /E now recognizes the executable CV format. TXTONLY.OBJ Fixes ----------------- - TXTONLY.OBJ no longer causes a link error when a program calls _clearscreen. (TXTONLY.OBJ is used to reduce the size of executables that use only text modes and do not change the pallette.) GRAPHICS.LIB Fixes ------------------ - The _outtext and _outmem functions now behave correctly in text mode on CGA systems. ==========================< AFFECTED FILES >========================== Files contained in the C700\BIN directory: LIB.EXE LINK.EXE PWB.EXE PWBUTILS.MXT CV.EXE CVPACK.EXE RCVCOM.EXE TRACE.EXE CVW4.EXE RCVWCOM.EXE IMPLIB.EXE TLW0LOC.DLL DMW0.DLL EEW0CAN.DLL EMD1W0.DLL NMW0PCD.DLL EED1CAN.DLL EEW0CXX.DLL EMW0W0.DLL TLD1COM.DLL EED1CXX.DLL EMD1D1.DLL NMD1PCD.DLL TLD1LOC.DLL SHD1.DLL SHW0.DLL Files contained in the C700\LIB directory: TXTONLY.OBJ GRAPHICS.LIB