Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[X86/Linux] Fail to SkipCrossgen when enabled Interpreter #12707

Closed
xiangzhai opened this issue May 17, 2019 · 3 comments · Fixed by dotnet/coreclr#24662
Closed

[X86/Linux] Fail to SkipCrossgen when enabled Interpreter #12707

xiangzhai opened this issue May 17, 2019 · 3 comments · Fixed by dotnet/coreclr#24662

Comments

@xiangzhai
Copy link
Contributor

Hi,

FEATURE_INTERPRETER and CROSSGEN_COMPILE are mutually exclusive dotnet/coreclr#11252

So how to disable CROSSGEN_COMPILE? skipcrossgen doesn't work:

./build.sh cmakeargs "-DFEATURE_INTERPRETER=1" skipcrossgen

...
/home/loongson/zhaixiang/coreclr/src/inc/switches.h:199:9: warning: defined(FEATURE_INTERPRETER) && defined(CROSSGEN_COMPILE)
      [-W#pragma-messages]
#pragma message("defined(FEATURE_INTERPRETER) && defined(CROSSGEN_COMPILE)")
        ^

Then FEATURE_INTERPRETER is undefined, not be enabled https://github.com/dotnet/coreclr/issues/17294#issuecomment-493071519

diff --git a/src/inc/switches.h b/src/inc/switches.h
index 6003460..7f735f3 100644
--- a/src/inc/switches.h
+++ b/src/inc/switches.h
@@ -196,5 +196,6 @@
 #endif // !defined(CROSSGEN_COMPILE)
 
 #if defined(FEATURE_INTERPRETER) && defined(CROSSGEN_COMPILE)
+#pragma message("defined(FEATURE_INTERPRETER) && defined(CROSSGEN_COMPILE)")
 #undef FEATURE_INTERPRETER
 #endif

Please give me some hint about how to SkipCrossgen.

Thanks,
Leslie Zhai

@jkotas
Copy link
Member

jkotas commented May 17, 2019

You can try adding DFEATURE_INTERPRETER to remove_definitions section in https://github.com/dotnet/coreclr/blob/master/crossgen.cmake to make this cleaner.

@xiangzhai
Copy link
Contributor Author

Hi @jkotas

Thanks for your kind response!

You can try adding DFEATURE_INTERPRETER to remove_definitions section in https://github.com/dotnet/coreclr/blob/master/crossgen.cmake to make this cleaner.

Another question is how to just enable FEATURE_INTERPRETER but disable CROSSGEN_COMPILE for hacking Interpreter.

Thanks,
Leslie Zhai

@xiangzhai
Copy link
Contributor Author

Hi @jkotas and @RussKeldorph

Please review it dotnet/coreclr#24653

Thanks,
Leslie Zhai

@msftgits msftgits transferred this issue from dotnet/coreclr Jan 31, 2020
@msftgits msftgits added this to the Future milestone Jan 31, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 13, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants