Remove unwind directives not understood by iOS ARMv7 assembler.
Bug: https://github.com/dart-lang/sdk/issues/30879
Change-Id: I01394ea4ab39f559b4215b3a0315b3eff4d07ff0
Reviewed-on: https://dart-review.googlesource.com/8242
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
diff --git a/runtime/vm/snapshot.cc b/runtime/vm/snapshot.cc
index bc7e477..777b5d5 100644
--- a/runtime/vm/snapshot.cc
+++ b/runtime/vm/snapshot.cc
@@ -960,12 +960,7 @@
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_OS_MACOS) || defined(TARGET_OS_MACOS_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
+#if !defined(TARGET_OS_MACOS) && !defined(TARGET_OS_MACOS_IOS)
COMPILE_ASSERT(FP == R11);
assembly_stream_.Print(".fnstart\n");
assembly_stream_.Print(".save {r11, lr}\n");
@@ -977,8 +972,10 @@
void AssemblyImageWriter::FrameUnwindEpilogue() {
#if defined(TARGET_ARCH_ARM)
+#if !defined(TARGET_OS_MACOS) && !defined(TARGET_OS_MACOS_IOS)
assembly_stream_.Print(".fnend\n");
#endif
+#endif
assembly_stream_.Print(".cfi_endproc\n");
}