                              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

