Ignore:
Timestamp:
Feb 2, 2001, 9:35:54 AM (25 years ago)
Author:
bird
Message:
All-in-one-object fix is now implmented thru an option. (-1<+|[*]>)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/win32k/pe2lx/pe2lx.cpp

    r4830 r5050  
    1 /* $Id: pe2lx.cpp,v 1.23 2000-12-18 14:19:24 bird Exp $
     1/* $Id: pe2lx.cpp,v 1.24 2001-02-02 08:35:54 bird Exp $
    22 *
    33 * Pe2Lx class implementation. Ring 0 and Ring 3
     
    558558     *    alignment which is not a multiple of 64Kb. The sections are concatenated into one big object. */
    559559    /* TODO! this test has to be enhanced a bit. WWPack32, new Borland++ depends on image layout. */
    560     fAllInOneObject = (pNtHdrs->FileHeader.Characteristics & IMAGE_FILE_RELOCS_STRIPPED) == IMAGE_FILE_RELOCS_STRIPPED;
    561     fAllInOneObject = 1; /* KSO Fri 22.09.2000: for the time beeing we'll allways apply the alignment fix.
    562                           * There are just too many apps failing because of missing baserelocations.
    563                           * When I have explored the VDM flag of VMAllocMem I'll remove this.
    564                           */
     560    fAllInOneObject =  !isPEOneObjectDisabled()
     561                       && (   isPEOneObjectForced()
     562                           || (pNtHdrs->FileHeader.Characteristics & IMAGE_FILE_RELOCS_STRIPPED) == IMAGE_FILE_RELOCS_STRIPPED
     563                           );
    565564    if (fAllInOneObject)
    566565    {
    567566        printInf(("All-In-One-Object fix is applied.\n"));
    568         if (pNtHdrs->OptionalHeader.ImageBase >= 0x04000000UL)
     567        if (pNtHdrs->OptionalHeader.ImageBase >= 0x04000000UL && !(pNtHdrs->FileHeader.Characteristics & IMAGE_FILE_DLL))
    569568            printWar(("ImageBase >= 64MB this object may not be runnable! (ImageBase=%#8x)\n",
    570569                     pNtHdrs->OptionalHeader.ImageBase));
Note: See TracChangeset for help on using the changeset viewer.