Not part of a normal build.

win32 codesighs symbol data now more accurate.
This commit is contained in:
blythe%netscape.com 2003-01-23 15:13:24 +00:00
parent 738ae4272e
commit 9ea442d495
5 changed files with 771 additions and 157 deletions

View File

@ -94,11 +94,18 @@ SUMMARYFILE="$3"
MYTMPDIR=`mktemp -d ./codesighs.tmp.XXXXXXXX`
#
# Find the types of files we are interested in.
#
ONEFINDPASS="$MYTMPDIR/onefind.list"
find ./mozilla -type f -name "*.obj" -or -name "*.map" > $ONEFINDPASS
#
# Find all object files.
#
ALLOBJSFILE="$MYTMPDIR/allobjs.list"
find ./mozilla -type f -name "*.obj" > $ALLOBJSFILE
grep -i "\.obj$" < $ONEFINDPASS > $ALLOBJSFILE
#
@ -119,14 +126,14 @@ SYMDBFILE="$MYTMPDIR/symdb.tsv"
# Find all map files.
#
ALLMAPSFILE="$MYTMPDIR/allmaps.list"
find ./mozilla -type f -name "*.map" > $ALLMAPSFILE
grep -i "\.map$" < $ONEFINDPASS > $ALLMAPSFILE
#
# Produce the TSV output.
#
RAWTSVFILE="$MYTMPDIR/raw.tsv"
xargs -n 1 ./mozilla/dist/bin/msmap2tsv --symdb $SYMDBFILE --input < $ALLMAPSFILE > $RAWTSVFILE 2> /dev/null
./mozilla/dist/bin/msmap2tsv --symdb $SYMDBFILE --batch < $ALLMAPSFILE > $RAWTSVFILE 2> /dev/null
#

View File

@ -99,11 +99,39 @@ SUMMARYFILE="$3"
MYTMPDIR=`mktemp -d ./codesighs.tmp.XXXXXXXX`
#
# Find the types of files we are interested in.
#
ONEFINDPASS="$MYTMPDIR/onefind.list"
find ./mozilla -type f -name "*.obj" -or -name "*.map" > $ONEFINDPASS
#
# Find all object files.
#
ALLOBJSFILE="$MYTMPDIR/allobjs.list"
grep -i "\.obj$" < $ONEFINDPASS > $ALLOBJSFILE
#
# Get a dump of the symbols in every object file.
#
ALLOBJSYMSFILE="$MYTMPDIR/allobjsyms.list"
xargs -n 1 dumpbin.exe /symbols < $ALLOBJSFILE > $ALLOBJSYMSFILE 2> /dev/null
#
# Produce the symdb for the symbols in all object files.
#
SYMDBFILE="$MYTMPDIR/symdb.tsv"
./mozilla/dist/bin/msdump2symdb --input $ALLOBJSYMSFILE | sort > $SYMDBFILE 2> /dev/null
#
# Find all map files.
#
ALLMAPSFILE="$MYTMPDIR/allmaps.list"
find ./mozilla -type f -name "*.map" > $ALLMAPSFILE
grep -i "\.map$" < $ONEFINDPASS > $ALLMAPSFILE
#
@ -115,11 +143,12 @@ RELEVANTSETFILE="$MYTMPDIR/relevant.set"
grep -v '\;' < $MANIFEST | sed 's/.*\\//' | grep '\.[eEdD][xXlL][eElL]' | sed 's/\.[eEdD][xXlL][eElL]//' > $RELEVANTSETFILE
RELEVANTARG=`xargs -n 1 echo --match-module < $RELEVANTSETFILE`
#
# Produce the TSV output.
#
RAWTSVFILE="$MYTMPDIR/raw.tsv"
xargs -n 1 ./mozilla/dist/bin/msmap2tsv $RELEVANTARG --input < $ALLMAPSFILE > $RAWTSVFILE
./mozilla/dist/bin/msmap2tsv --symdb $SYMDBFILE --batch $RELEVANTARG < $ALLMAPSFILE > $RAWTSVFILE 2> /dev/null
#

View File

@ -468,7 +468,15 @@ int processLine(Options* inOptions, MSDump_Container* inContainer, const char* i
{
char* typeDup = NULL;
/*
** Skip the leading period before duping.
*/
if('.' == *typeArg)
{
typeArg++;
}
typeDup = strdup(typeArg);
if(NULL != typeDup)
{
void* moved = NULL;

View File

@ -63,22 +63,6 @@ typedef enum __enum_MSMap_SymbolScope
MSMap_SymbolScope;
typedef struct __struct_MSMap_Symbol
/*
** Information about a symbol.
*/
{
address mPrefix;
address mOffset;
char* mSymbol;
address mRVABase;
char* mObject;
MSMap_SymbolScope mScope;
unsigned mSymDBSize;
}
MSMap_Symbol;
typedef enum __enum_MSMap_SegmentClass
/*
** Segment class.
@ -98,12 +82,30 @@ typedef struct __struct_MSMap_Segment
address mPrefix;
address mOffset;
address mLength;
address mUsed;
char* mSegment;
MSMap_SegmentClass mClass;
}
MSMap_Segment;
typedef struct __struct_MSMap_Symbol
/*
** Information about a symbol.
*/
{
address mPrefix;
address mOffset;
char* mSymbol;
address mRVABase;
char* mObject;
MSMap_SymbolScope mScope;
unsigned mSymDBSize;
MSMap_Segment* mSection;
}
MSMap_Symbol;
typedef struct __struct_MSMap_Module
/*
** Top level container of the map data.

File diff suppressed because it is too large Load Diff