mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-26 22:32:46 +00:00
Not part of a normal build.
win32 codesighs symbol data now more accurate.
This commit is contained in:
parent
738ae4272e
commit
9ea442d495
@ -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
|
||||
|
||||
|
||||
#
|
||||
|
@ -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
|
||||
|
||||
|
||||
#
|
||||
|
@ -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;
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user