Changeset 281 for trunk/src/pe2lx/pe.cpp
- Timestamp:
- Jul 7, 1999, 10:11:58 AM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/pe2lx/pe.cpp
r275 r281 1 /* $Id: pe.cpp,v 1. 5 1999-07-06 08:50:11 sandervl Exp $ */1 /* $Id: pe.cpp,v 1.6 1999-07-07 08:11:11 sandervl Exp $ */ 2 2 3 3 /* … … 230 230 else OS2Exe.SetModuleName(os2file); 231 231 232 OS2Exe.SetEntryPoint(oh.AddressOfEntryPoint+oh.ImageBase); 233 232 234 nSections = NR_SECTIONS(win32file); 233 235 … … 276 278 continue; 277 279 } 280 if(strcmp(psh[i].Name, ".tls") == 0) 281 { 282 IMAGE_TLS_DIRECTORY *tlsDir; 283 284 tlsDir = (IMAGE_TLS_DIRECTORY *)ImageDirectoryOffset(win32file, IMAGE_DIRECTORY_ENTRY_TLS); 285 if(tlsDir) { 286 cout << "TLS Directory" << endl; 287 cout << "TLS Address of Index " << hex((ULONG)tlsDir->AddressOfIndex) << endl; 288 cout << "TLS Address of Callbacks " << hex((ULONG)tlsDir->AddressOfCallBacks) << endl; 289 cout << "TLS SizeOfZeroFill " << hex(tlsDir->SizeOfZeroFill) << endl; 290 cout << "TLS Characteristics " << hex(tlsDir->Characteristics) << endl; 291 OS2Exe.SetTLSAddress(tlsDir->StartAddressOfRawData); 292 OS2Exe.SetTLSIndexAddress((ULONG)tlsDir->AddressOfIndex); 293 OS2Exe.SetTLSInitSize(tlsDir->EndAddressOfRawData - tlsDir->StartAddressOfRawData); 294 OS2Exe.SetTLSTotalSize(tlsDir->EndAddressOfRawData - tlsDir->StartAddressOfRawData + tlsDir->SizeOfZeroFill); 295 OS2Exe.SetTLSCallBackAddr((ULONG)tlsDir->AddressOfCallBacks); 296 } 297 } 278 298 279 299 if ((psh[i].Characteristics & IMAGE_SCN_CNT_CODE) … … 287 307 OS2Exe.SetEntryAddress(oh.AddressOfEntryPoint - oh.BaseOfCode); 288 308 else OS2Exe.SetEntryAddress(oh.AddressOfEntryPoint-psh[i].VirtualAddress); 309 289 310 OS2Exe.StoreSection((char *)win32file+psh[i].PointerToRawData, 290 311 psh[i].SizeOfRawData, psh[i].Misc.VirtualSize, … … 332 353 prel = (PIMAGE_BASE_RELOCATION) ImageDirectoryOffset (win32file, IMAGE_DIRECTORY_ENTRY_BASERELOC); 333 354 OS2Exe.SetNrOff32Fixups((prel) ? oh.DataDirectory[IMAGE_DIRECTORY_ENTRY_BASERELOC].Size/2 : 0); 355 356 //SvL: Add EntryPoint & TLS fixups (if required) 357 OS2Exe.AddExtraFixups(); 334 358 335 359 if(prel) {
Note:
See TracChangeset
for help on using the changeset viewer.