Ignore:
Timestamp:
Aug 11, 2007, 4:03:49 PM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/src/Linker.cpp

    r263 r273  
    7878void Linker::ResolveGlobalVarSchedules( long rwSectionBaseOffset )
    7979{
     80    int allInitVarSize = compiler.GetObjectModule().meta.GetGlobalVars().GetAllInitSize();
     81
    8082    BOOST_FOREACH( const Schedule &schedule, nativeCode.GetSchedules() )
    8183    {
     
    8486            if( nativeCode.GetLong( schedule.GetOffset() ) & 0x80000000 )
    8587            {
    86                 extern int AllInitGlobalVarSize;
    8788                nativeCode.Overwrite(
    8889                    schedule.GetOffset(),
    89                     static_cast<long>( AllInitGlobalVarSize + (nativeCode.GetLong( schedule.GetOffset() ) & 0x7FFFFFFF) + imageBase + rwSectionBaseOffset )
     90                    static_cast<long>( allInitVarSize + (nativeCode.GetLong( schedule.GetOffset() ) & 0x7FFFFFFF) + imageBase + rwSectionBaseOffset )
    9091                );
    9192            }
     
    101102}
    102103
    103 void Linker::Link( vector<ObjectModule *> &objectModules )
     104void Linker::Link( ObjectModule &masterObjectModule )
    104105{
    105106    // nativeCodeは初期状態でなければならない
     
    108109        SetError();
    109110    }
    110 
    111     /*
    112     BOOST_FOREACH( ObjectModule *pObjectModule, objectModules )
    113     {
    114     }*/
    115     ObjectModule &masterObjectModule = *objectModules[0];
    116111
    117112    nativeCode.Put( masterObjectModule.globalNativeCode, false );
Note: See TracChangeset for help on using the changeset viewer.