author | y4jin |
Thu, 18 Nov 2010 13:43:06 +0800 | |
changeset 704 | 0f8b90f18a21 |
parent 695 | 46ca13b54f56 |
permissions | -rw-r--r-- |
695
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
1 |
/* |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
2 |
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
3 |
* All rights reserved. |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
4 |
* This component and the accompanying materials are made available |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
5 |
* under the terms of the License "Eclipse Public License v1.0" |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
6 |
* which accompanies this distribution, and is available |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html". |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
8 |
* |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
9 |
* Initial Contributors: |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
10 |
* Nokia Corporation - initial contribution. |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
11 |
* |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
12 |
* Contributors: |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
13 |
* |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
14 |
* Description: |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
15 |
* |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
16 |
*/ |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
17 |
|
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
18 |
#ifndef __BSYMUTIL_H__ |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
19 |
#define __BSYMUTIL_H__ |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
20 |
|
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
21 |
#include <e32std.h> |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
22 |
#include <vector> |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
23 |
#include <string> |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
24 |
|
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
25 |
using namespace std; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
26 |
|
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
27 |
const int BSYM_PAGE_SIZE = 4096; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
28 |
|
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
29 |
const int MaxSize = 4*1024*1024; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
30 |
const TUint16 BsymMajorVer = 3; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
31 |
const TUint16 BsymMinorVer = 0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
32 |
struct TBsymHeader { |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
33 |
char iMagic[4]; // 'B','S','Y','M' always big-endian |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
34 |
char iMajorVer[2]; // always big-endian, currently 3 |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
35 |
char iMinorVer[2]; // always big-endian, currently 0. |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
36 |
char iEndiannessFlag; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
37 |
char iCompressionFlag; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
38 |
char iReservered[2]; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
39 |
TUint32 iDbgUnitOffset; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
40 |
TUint32 iDbgUnitCount; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
41 |
TUint32 iSymbolOffset; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
42 |
TUint32 iSymbolCount; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
43 |
TUint32 iStringTableOffset; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
44 |
TUint32 iStringTableBytes; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
45 |
TUint32 iCompressedSize; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
46 |
TUint32 iUncompressSize; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
47 |
TUint32 iCompressInfoOffset; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
48 |
}; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
49 |
struct TDbgUnitEntry { |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
50 |
TUint32 iCodeAddress; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
51 |
TUint32 iCodeSymbolCount; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
52 |
TUint32 iDataAddress; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
53 |
TUint32 iDataSymbolCount; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
54 |
TUint32 iBssAddress; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
55 |
TUint32 iBssSymbolCount; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
56 |
TUint32 iPCNameOffset; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
57 |
TUint32 iDevNameOffset; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
58 |
TUint32 iStartSymbolIndex; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
59 |
TDbgUnitEntry() |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
60 |
{ |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
61 |
iCodeAddress =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
62 |
iCodeSymbolCount =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
63 |
iDataAddress =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
64 |
iDataSymbolCount =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
65 |
iBssAddress =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
66 |
iBssSymbolCount =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
67 |
iPCNameOffset =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
68 |
iDevNameOffset =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
69 |
iStartSymbolIndex =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
70 |
} |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
71 |
void Reset() |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
72 |
{ |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
73 |
iCodeAddress =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
74 |
iCodeSymbolCount =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
75 |
iDataAddress =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
76 |
iDataSymbolCount =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
77 |
iBssAddress =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
78 |
iBssSymbolCount =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
79 |
iPCNameOffset =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
80 |
iDevNameOffset =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
81 |
iStartSymbolIndex =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
82 |
} |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
83 |
}; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
84 |
struct TDbgUnitPCEntry { |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
85 |
TDbgUnitEntry iDbgUnitEntry; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
86 |
string iPCName; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
87 |
string iDevName; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
88 |
}; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
89 |
struct TSymbolEntry { |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
90 |
TUint32 iAddress; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
91 |
TUint32 iLength; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
92 |
TUint32 iScopeNameOffset; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
93 |
TUint32 iNameOffset; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
94 |
TUint32 iSecNameOffset; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
95 |
TSymbolEntry() |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
96 |
{ |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
97 |
iAddress =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
98 |
iLength =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
99 |
iScopeNameOffset =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
100 |
iNameOffset =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
101 |
iSecNameOffset =0; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
102 |
} |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
103 |
}; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
104 |
|
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
105 |
struct TSymbolPCEntry { |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
106 |
TSymbolEntry iSymbolEntry; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
107 |
string iScopeName; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
108 |
string iName; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
109 |
string iSecName; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
110 |
}; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
111 |
|
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
112 |
struct TPageInfo { |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
113 |
TUint32 iPageStartOffset; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
114 |
TUint32 iPageDataSize; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
115 |
}; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
116 |
|
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
117 |
struct TCompressedHeaderInfo |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
118 |
{ |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
119 |
TUint32 iPageSize; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
120 |
TUint32 iTotalPageNumber; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
121 |
TPageInfo iPages[1]; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
122 |
}; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
123 |
|
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
124 |
typedef vector<TDbgUnitPCEntry> TDbgUnitEntrySet; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
125 |
typedef vector<TSymbolPCEntry> TSymbolPCEntrySet; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
126 |
typedef vector<string> StringList; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
127 |
|
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
128 |
struct MapFileInfo |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
129 |
{ |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
130 |
TDbgUnitPCEntry iDbgUnitPCEntry; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
131 |
TSymbolPCEntrySet iSymbolPCEntrySet; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
132 |
}; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
133 |
|
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
134 |
typedef vector<MapFileInfo> MapFileInfoSet; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
135 |
class ByteOrderUtil |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
136 |
{ |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
137 |
public: |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
138 |
static bool IsLittleEndian() |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
139 |
{ |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
140 |
union { |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
141 |
unsigned int a; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
142 |
unsigned char b; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
143 |
} c; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
144 |
c.a = 1; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
145 |
return (c.b == 1); |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
146 |
} |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
147 |
}; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
148 |
|
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
149 |
class MemoryWriter |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
150 |
{ |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
151 |
public: |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
152 |
MemoryWriter(); |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
153 |
~MemoryWriter(); |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
154 |
int WriteBytes(const char* pChar, int size); |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
155 |
TUint32 GetOffset(); |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
156 |
char* GetDataPointer(); |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
157 |
bool ExtendMemory(); |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
158 |
bool SetOffset(TUint32 aOffset); |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
159 |
void AddEmptyString(); |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
160 |
TUint32 AddString(const string& aStr); |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
161 |
TUint32 AddScopeName(const string& aStr); |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
162 |
void SetStringTableStart(TUint32 aOffset); |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
163 |
TUint32 GetStringTableStart(); |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
164 |
private: |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
165 |
char* iChar; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
166 |
TUint32 iOffset; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
167 |
TUint32 iStringTableStart; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
168 |
string iLastScopeName; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
169 |
TUint32 iLastScopeNameOffset; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
170 |
TUint32 iTotalSize; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
171 |
}; |
46ca13b54f56
features: bsym for rofsbuild and log input support for rombuild
marvin shi <marvin.shi@nokia.com>
parents:
diff
changeset
|
172 |
#endif |