-
Notifications
You must be signed in to change notification settings - Fork 14.6k
[Runtimes][CMake] Add CMake option to enable execute-only code generation on AArch64 #143698
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
base: main
Are you sure you want to change the base?
Conversation
…tion on AArch64 Based on the discussion in https://discourse.llvm.org/t/rfc-execute-only-code-support-for-runtime-libraries-on-aarch64/86180 a single, global configuration option should be used to enable execute-only code generation for the runtime libraries. The new option `LLVM_EXECUTE_ONLY_CODE` adds the `-mexecute-only` flag to `CMAKE_C_FLAGS` and `CMAKE_CXX_FLAGS`, which simplifies the library-level configuration needed for the runtime libraries. Project-specific changes are still needed to handle assembly sources, e.g. in compiler-rt and libunwind.
@ldionne |
That's because we don't yet have a runtimes-specific variables but we expect to have more soon (see for example #134893 which introduces |
Thanks for the explanation, I updated the name. |
Gentle ping. I would like to get this approved and merged by the end of the month, before the LLVM 21 release. Can you review, or add other relevant reviewers, please? |
Ping |
Ping @ldionne @petrhosek |
Based on the discussion in https://discourse.llvm.org/t/rfc-execute-only-code-support-for-runtime-libraries-on-aarch64/86180 a single, global configuration option should be used to enable execute-only code generation for the runtime libraries. The new option
LLVM_EXECUTE_ONLY_CODE
adds the-mexecute-only
flag toCMAKE_C_FLAGS
andCMAKE_CXX_FLAGS
, which simplifies the library-level configuration needed for the runtime libraries.Project-specific changes are still needed to handle assembly sources, e.g. in compiler-rt and libunwind.