Changeset 258 in dev for trunk/abdev/BasicCompiler_Common/src
- Timestamp:
- Aug 2, 2007, 11:23:36 PM (17 years ago)
- Location:
- trunk/abdev/BasicCompiler_Common/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler_Common/src/Linker.cpp
r257 r258 20 20 21 21 // DLL関数スケジュール 22 void Linker::ResolveDllProcSchedules( long codeSectionBaseOffset, long importSectionBaseOffset )22 void Linker::ResolveDllProcSchedules( long codeSectionBaseOffset, long importSectionBaseOffset, long lookupSize, long hintSize ) 23 23 { 24 24 BOOST_FOREACH( const Schedule &schedule, nativeCode.GetSchedules() ) … … 33 33 ); 34 34 #else 35 // TODO: 未完成 36 SetError(); 35 nativeCode.Overwrite( 36 schedule.GetOffset(), 37 static_cast<long>( imageBase + importSectionBaseOffset + lookupSize + hintSize 38 + schedule.GetDllProc().GetLookupAddress() ) 39 ); 37 40 #endif 38 41 } … … 106 109 ObjectModule &masterObjectModule = *objectModules[0]; 107 110 108 nativeCode.Put( masterObjectModule.globalNativeCode );111 nativeCode.Put( masterObjectModule.globalNativeCode, false ); 109 112 110 113 masterObjectModule.meta.GetUserProcs().Iterator_Reset(); … … 117 120 pUserProc->SetBeginOpAddress( nativeCode.GetSize() ); 118 121 119 nativeCode.Put( pUserProc->GetNativeCode() );122 nativeCode.Put( pUserProc->GetNativeCode(), false ); 120 123 121 124 pUserProc->SetEndOpAddress( nativeCode.GetSize() ); -
trunk/abdev/BasicCompiler_Common/src/NativeCode.cpp
r257 r258 18 18 } 19 19 20 void NativeCode::Put( const NativeCode &nativeCode )20 void NativeCode::Put( const NativeCode &nativeCode, bool isOpBuffer ) 21 21 { 22 22 long baseOffset = size; 23 23 24 Put( nativeCode.codeBuffer, nativeCode.size );24 Put( nativeCode.codeBuffer, nativeCode.size, isOpBuffer ); 25 25 26 26 BOOST_FOREACH( const Schedule &schedule, nativeCode.schedules ) … … 29 29 Schedule( 30 30 schedule.GetType(), 31 baseOffset + schedule.GetOffset() 31 baseOffset + schedule.GetOffset(), 32 schedule.GetLongPtrValue() 32 33 ) 33 34 );
Note:
See TracChangeset
for help on using the changeset viewer.