Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Unified Diff: runtime/vm/snapshot.cc

Issue 2757783003: Set TARGET_OS_* from GN, falling back to HOST_OS_*. (Closed)
Patch Set: . Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/vm/snapshot.cc
diff --git a/runtime/vm/snapshot.cc b/runtime/vm/snapshot.cc
index 09f3cb8e81942938bde534f90f78cc100e83c13c..ad74a91ac7f8800e5ce90ae025aa1fcc08acd687 100644
--- a/runtime/vm/snapshot.cc
+++ b/runtime/vm/snapshot.cc
@@ -896,13 +896,12 @@ void AssemblyImageWriter::WriteText(WriteStream* clustered_stream, bool vm) {
FrameUnwindEpilogue();
-#if defined(HOST_OS_LINUX)
+#if defined(TARGET_OS_LINUX) || defined(TARGET_OS_ANDROID)
zra 2017/03/17 17:24:24 Would it make sense to speculatively include FUCHS
rmacnak 2017/03/17 18:22:16 Did a quick check and they are using the Linux var
zra 2017/03/17 19:39:16 Cool, thanks!
assembly_stream_.Print(".section .rodata\n");
-#elif defined(HOST_OS_MACOS)
+#elif defined(TARGET_OS_MACOS) || defined(TARGET_OS_IOS)
zra 2017/03/17 17:24:24 no define() around TARGET_OS_IOS, right?. (Maybe c
assembly_stream_.Print(".const\n");
#else
- // Unsupported platform.
- UNREACHABLE();
+ UNIMPLEMENTED();
#endif
const char* data_symbol =
@@ -954,14 +953,14 @@ void AssemblyImageWriter::FrameUnwindPrologue() {
assembly_stream_.Print(".cfi_escape 0x10, 31, 2, 0x23, 16\n");
#elif defined(TARGET_ARCH_ARM)
-#if defined(TARGET_ABI_EABI)
+#if defined(TARGET_OS_MACOS) || TARGET_OS_IOS
+ COMPILE_ASSERT(FP == R7);
+ assembly_stream_.Print(".cfi_def_cfa r7, 0\n"); // CFA is fp+j0
+ assembly_stream_.Print(".cfi_offset r7, 0\n"); // saved fp is *(CFA+0)
+#else
COMPILE_ASSERT(FP == R11);
assembly_stream_.Print(".cfi_def_cfa r11, 0\n"); // CFA is fp+0
assembly_stream_.Print(".cfi_offset r11, 0\n"); // saved fp is *(CFA+0)
-#elif defined(TARGET_ABI_IOS)
- COMPILE_ASSERT(FP == R7);
- assembly_stream_.Print(".cfi_def_cfa r7, 0\n"); // CFA is fp+0
- assembly_stream_.Print(".cfi_offset r7, 0\n"); // saved fp is *(CFA+0)
#endif
assembly_stream_.Print(".cfi_offset lr, 4\n"); // saved pc is *(CFA+4)
// saved sp is CFA+8
@@ -975,16 +974,16 @@ void AssemblyImageWriter::FrameUnwindPrologue() {
assembly_stream_.Print(".cfi_escape 0x10, 13, 2, 0x23, 8\n");
// libunwind on ARM may use .ARM.exidx instead of .debug_frame
-#if defined(TARGET_ABI_EABI)
- COMPILE_ASSERT(FP == R11);
- assembly_stream_.Print(".fnstart\n");
- assembly_stream_.Print(".save {r11, lr}\n");
- assembly_stream_.Print(".setfp r11, sp, #0\n");
-#elif defined(TARGET_ABI_IOS)
+#if defined(TARGET_OS_MACOS) || TARGET_OS_IOS
COMPILE_ASSERT(FP == R7);
assembly_stream_.Print(".fnstart\n");
assembly_stream_.Print(".save {r7, lr}\n");
assembly_stream_.Print(".setfp r7, sp, #0\n");
+#else
+ COMPILE_ASSERT(FP == R11);
+ assembly_stream_.Print(".fnstart\n");
+ assembly_stream_.Print(".save {r11, lr}\n");
+ assembly_stream_.Print(".setfp r11, sp, #0\n");
#endif
#elif defined(TARGET_ARCH_MIPS)

Powered by Google App Engine
This is Rietveld 408576698