- MapParseState = EdbEbcMapParseStateVarbssInitSymbol;\r
-// goto ExitFieldParse;\r
- Name = FieldBuffer;\r
- SymbolParseState = EdbEbcSymbolParseStateReadyForRVA;\r
- } else if (AsciiStrnCmp (FieldBuffer, "Crt", AsciiStrLen ("Crt")) == 0) {\r
+ if (AsciiStrnCmp (FieldBuffer, "___safe_se_handler", AsciiStrLen ("___safe_se_handler")) == 0) {\r
+ //\r
+ // skip SeHandler\r
+ //\r
+ MapParseState = EdbEbcMapParseStateSeHandlerSymbol;\r
+ goto ExitFieldParse;\r
+ } else if (AsciiStrnCmp (FieldBuffer, "varbss_init", AsciiStrLen ("varbss_init")) == 0) {\r
+ //\r
+ // check VarbssInit\r
+ //\r
+ MapParseState = EdbEbcMapParseStateVarbssInitSymbol;\r
+ // goto ExitFieldParse;\r
+ Name = FieldBuffer;\r
+ SymbolParseState = EdbEbcSymbolParseStateReadyForRVA;\r
+ } else if (AsciiStrnCmp (FieldBuffer, "Crt", AsciiStrLen ("Crt")) == 0) {\r
+ //\r
+ // check Crt\r
+ //\r
+ MapParseState = EdbEbcMapParseStateCrtSymbol;\r
+ // goto ExitFieldParse;\r
+ Name = FieldBuffer;\r
+ SymbolParseState = EdbEbcSymbolParseStateReadyForRVA;\r
+ } else {\r
+ //\r
+ // Now, it is normal function\r
+ //\r
+ switch (MapParseState) {\r
+ case EdbEbcMapParseStateSeHandlerSymbol:\r
+ MapParseState = EdbEbcMapParseStateFunctionSymbol;\r
+ break;\r
+ case EdbEbcMapParseStateCrtSymbol:\r
+ MapParseState = EdbEbcMapParseStateVariableSymbol;\r
+ break;\r
+ case EdbEbcMapParseStateFunctionSymbol:\r
+ case EdbEbcMapParseStateVariableSymbol:\r
+ case EdbEbcMapParseStateStaticFunctionSymbol:\r
+ break;\r
+ default:\r
+ ASSERT (FALSE);\r
+ break;\r
+ }\r
+\r
+ Name = FieldBuffer;\r
+ SymbolParseState = EdbEbcSymbolParseStateReadyForRVA;\r
+ }\r
+\r
+ break;\r
+ case EdbEbcSymbolParseStateReadyForRVA:\r