diff --git a/src/dbginfo/dbginfo.c b/src/dbginfo/dbginfo.c index 0b1d9e2c0..06a040cb4 100644 --- a/src/dbginfo/dbginfo.c +++ b/src/dbginfo/dbginfo.c @@ -2220,6 +2220,7 @@ static void ParseSym (InputData* D) ibType = 0x08, ibSize = 0x10, ibSegment = 0x20, + ibFile = 0x40, ibRequired = ibSymName | ibValue | ibAddrSize | ibType, } InfoBits = ibNone; @@ -2232,9 +2233,10 @@ static void ParseSym (InputData* D) Token Tok; /* Something we know? */ - if (D->Tok != TOK_ADDRSIZE && D->Tok != TOK_NAME && - D->Tok != TOK_SEGMENT && D->Tok != TOK_SIZE && - D->Tok != TOK_TYPE && D->Tok != TOK_VALUE) { + if (D->Tok != TOK_ADDRSIZE && D->Tok != TOK_FILE && + D->Tok != TOK_NAME && D->Tok != TOK_SEGMENT&& + D->Tok != TOK_SIZE && D->Tok != TOK_TYPE && + D->Tok != TOK_VALUE) { /* Try smart error recovery */ if (D->Tok == TOK_IDENT || TokenIsKeyword (D->Tok)) { @@ -2261,6 +2263,15 @@ static void ParseSym (InputData* D) InfoBits |= ibAddrSize; break; + case TOK_FILE: + if (!IntConstFollows (D)) { + goto ErrorExit; + } + /* ### Drop value for now */ + InfoBits |= ibFile; + NextToken (D); + break; + case TOK_NAME: if (!StrConstFollows (D)) { goto ErrorExit;