566 DumpInHex("Heap min", aRomImgEntry->iHeapSizeMin) << endl; |
566 DumpInHex("Heap min", aRomImgEntry->iHeapSizeMin) << endl; |
567 DumpInHex("Heap max", aRomImgEntry->iHeapSizeMax) << endl; |
567 DumpInHex("Heap max", aRomImgEntry->iHeapSizeMax) << endl; |
568 DumpInHex("Stack size", aRomImgEntry->iStackSize) << endl; |
568 DumpInHex("Stack size", aRomImgEntry->iStackSize) << endl; |
569 |
569 |
570 TDllRefTable *aRefTbl = NULL; |
570 TDllRefTable *aRefTbl = NULL; |
571 |
571 |
572 if( aRomImgEntry->iDllRefTable ) { |
572 if( aRomImgEntry->iDllRefTable ) { |
573 TUint32 aOff = (TUint32)aRomImgEntry->iDllRefTable - iImageHeader->iRomHdr->iRomBase; |
573 TUint32 aOff = (TUint32)aRomImgEntry->iDllRefTable - iImageHeader->iRomHdr->iRomBase; |
574 aRefTbl = (TDllRefTable*) ((char*)iImageHeader->iRomHdr + aOff); |
574 if(static_cast<TInt32>(aOff) > 0) { |
575 TUint32 aVirtualAddr = (TUint32)aRefTbl->iEntry[0]; |
575 aRefTbl = (TDllRefTable*) (iRomLayoutData + aOff); |
576 DumpInHex("Dll ref table", aVirtualAddr) << endl; |
576 TUint32 aVirtualAddr = reinterpret_cast<TUint32>(aRefTbl->iEntry[0]); |
|
577 DumpInHex("Dll ref table", aVirtualAddr) << endl; |
|
578 |
|
579 } |
|
580 else { |
|
581 DumpInHex("Error Dll ref table", 0) << endl; |
|
582 } |
577 } |
583 } |
578 |
584 |
579 DumpInHex("Export directory", aRomImgEntry->iExportDir) << endl; |
585 DumpInHex("Export directory", aRomImgEntry->iExportDir) << endl; |
580 DumpInHex("Export dir count", aRomImgEntry->iExportDirCount) << endl; |
586 DumpInHex("Export dir count", aRomImgEntry->iExportDirCount) << endl; |
581 DumpInHex("Hardware variant", aRomImgEntry->iHardwareVariant) << endl; |
587 DumpInHex("Hardware variant", aRomImgEntry->iHardwareVariant) << endl; |
605 |
611 |
606 if( iDisplayOptions & DUMP_E32_IMG_FLAG){ |
612 if( iDisplayOptions & DUMP_E32_IMG_FLAG){ |
607 if(stricmp(iE32ImgFileName.c_str(), aEntry->Name()) == 0){ |
613 if(stricmp(iE32ImgFileName.c_str(), aEntry->Name()) == 0){ |
608 TUint aSectionOffset = aRomImgEntry->iCodeAddress - iImageHeader->iRomHdr->iRomBase; |
614 TUint aSectionOffset = aRomImgEntry->iCodeAddress - iImageHeader->iRomHdr->iRomBase; |
609 TUint* aCodeSection = (TUint*)((char*)iImageHeader->iRomHdr + aSectionOffset); |
615 TUint* aCodeSection = (TUint*)((char*)iImageHeader->iRomHdr + aSectionOffset); |
|
616 //TUint* aCodeSection = (TUint*)(iRomLayoutData + aSectionOffset); |
610 *out << "\nCode (Size=0x" << hex << aRomImgEntry->iCodeSize << ")" << endl; |
617 *out << "\nCode (Size=0x" << hex << aRomImgEntry->iCodeSize << ")" << endl; |
611 DumpData(aCodeSection, aRomImgEntry->iCodeSize); |
618 DumpData(aCodeSection, aRomImgEntry->iCodeSize); |
612 |
619 |
613 aSectionOffset = aRomImgEntry->iDataAddress - iImageHeader->iRomHdr->iRomBase; |
620 aSectionOffset = aRomImgEntry->iDataAddress - iImageHeader->iRomHdr->iRomBase; |
614 TUint* aDataSection = (TUint*)((char*)iImageHeader->iRomHdr + aSectionOffset); |
621 TUint* aDataSection = (TUint*)((char*)iImageHeader->iRomHdr + aSectionOffset); |
|
622 //TUint* aDataSection = (TUint*)(iRomLayoutData + aSectionOffset); |
615 if( aRomImgEntry->iDataSize){ |
623 if( aRomImgEntry->iDataSize){ |
616 *out << "\nData (Size=0x" << hex << aRomImgEntry->iDataSize << ")" << endl; |
624 *out << "\nData (Size=0x" << hex << aRomImgEntry->iDataSize << ")" << endl; |
617 DumpData(aDataSection, aRomImgEntry->iDataSize); |
625 DumpData(aDataSection, aRomImgEntry->iDataSize); |
618 } |
626 } |
619 } |
627 } |