From: rryan@panix.com (Rob Ryan)
Subject: Re: Microsoft C/C++ Patches... what do they fix?
Organization: Panix, NYC
Date: Mon, 25 Jan 1993 15:34:25 GMT

In <727699610snx@cursci.demon.co.uk> andrew@cursci.demon.co.uk (Andrew Trotman) writes:

>I keep seeing notices of people requesting various patches to Microsoft
>C/C++ version 7.  I would like to know what these patches fix.

Here is the listing of changes from patch.txt for the first patch v7.0a.
Hope this helps.

-- Rob

=======================< 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.
-- 
Rob Ryan
    rryan@panix.com