diff options
author | David Srbecky <dsrbecky@google.com> | 2015-04-12 11:40:39 +0100 |
---|---|---|
committer | David Srbecky <dsrbecky@google.com> | 2015-04-13 21:24:12 +0100 |
commit | 8dc7324da5bd0f2afd2ab558ab04882329a61fe8 (patch) | |
tree | 245ce4265cc31990fa6d2f6e792ccd9d44af1dc1 /dex2oat | |
parent | 4af290af4e89cfbc3a4e1ada79909ccee353361a (diff) | |
download | art-8dc7324da5bd0f2afd2ab558ab04882329a61fe8.zip art-8dc7324da5bd0f2afd2ab558ab04882329a61fe8.tar.gz art-8dc7324da5bd0f2afd2ab558ab04882329a61fe8.tar.bz2 |
Add --include-cfi compiler option.
Decouple generation of CFI from the rest of debug symbols.
This makes it possible to generate oat with CFI but without
the rest of debug symbols.
This is in line with intention of the .eh_frame section.
The section does not have the .debug_ prefix because it
is considered somewhat different to the rest of debug symbols.
Change-Id: I32816ecd4f30ac4e0dc69d69a4993e349c737f96
Diffstat (limited to 'dex2oat')
-rw-r--r-- | dex2oat/dex2oat.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/dex2oat/dex2oat.cc b/dex2oat/dex2oat.cc index 143dacd..eda7ec6 100644 --- a/dex2oat/dex2oat.cc +++ b/dex2oat/dex2oat.cc @@ -231,6 +231,11 @@ NO_RETURN static void Usage(const char* fmt, ...) { UsageError(""); UsageError(" --no-include-debug-symbols: Do not include ELF symbols in this oat file"); UsageError(""); + UsageError(" --include-cfi: Include call frame information in the .eh_frame section."); + UsageError(" The --include-debug-symbols option implies --include-cfi."); + UsageError(""); + UsageError(" --no-include-cfi: Do not include call frame information in the .eh_frame section."); + UsageError(""); UsageError(" --runtime-arg <argument>: used to specify various arguments for the runtime,"); UsageError(" such as initial heap size, maximum heap size, and verbose output."); UsageError(" Use a separate --runtime-arg switch for each argument."); @@ -496,6 +501,7 @@ class Dex2Oat FINAL { bool debuggable = false; bool include_patch_information = CompilerOptions::kDefaultIncludePatchInformation; bool include_debug_symbols = kIsDebugBuild; + bool include_cfi = kIsDebugBuild; bool watch_dog_enabled = true; bool abort_on_hard_verifier_error = false; bool requested_specific_compiler = false; @@ -677,6 +683,10 @@ class Dex2Oat FINAL { include_debug_symbols = true; } else if (option == "--no-include-debug-symbols" || option == "--strip-symbols") { include_debug_symbols = false; + } else if (option == "--include-cfi") { + include_cfi = true; + } else if (option == "--no-include-cfi") { + include_cfi = false; } else if (option == "--debuggable") { debuggable = true; } else if (option.starts_with("--profile-file=")) { @@ -932,6 +942,7 @@ class Dex2Oat FINAL { top_k_profile_threshold, debuggable, include_debug_symbols, + include_cfi, implicit_null_checks, implicit_so_checks, implicit_suspend_checks, |