Revert "rts: Use .cfi_{start|end}proc directives"
authorBen Gamari <ben@smart-cactus.org>
Sun, 17 Jun 2018 13:41:46 +0000 (09:41 -0400)
committerBen Gamari <ben@smart-cactus.org>
Sun, 17 Jun 2018 13:41:54 +0000 (09:41 -0400)
This reverts commit 86210b238b86d810874a2315d1715546a4006cea.

rts/StgCRun.c

index 8fea23d..92b0696 100644 (file)
@@ -363,15 +363,6 @@ saved on the stack by the call instruction. Then we perform regular Haskell
 stack unwinding.
 */
 
-/*
- * gcc automatically inserts .cfi_startproc/.cfi_endproc directives around
- * inline assembler but clang does not. This caused the build to fail with
- * Clang (see #15207).
- */
-
-#if defined(__clang__)
-#define NEED_EXPLICIT_CFI_START_END
-#endif
 
 static void GNUC3_ATTRIBUTE(used)
 StgRunIsImplementedInAssembler(void)
@@ -385,10 +376,6 @@ StgRunIsImplementedInAssembler(void)
         STG_HIDDEN STG_RUN "\n"
 #endif
         STG_RUN ":\n\t"
-
-#if defined(NEED_EXPLICIT_CFI_START_END)
-        ".cfi_startproc simple\n\t"
-#endif
         "subq %1, %%rsp\n\t"
         "movq %%rsp, %%rax\n\t"
         "subq %0, %%rsp\n\t"
@@ -475,10 +462,6 @@ StgRunIsImplementedInAssembler(void)
 #if !defined(mingw32_HOST_OS)
         STG_HIDDEN xstr(STG_RUN_JMP) "\n"
 #endif
-#if defined(NEED_EXPLICIT_CFI_START_END)
-        ".cfi_endproc\n\t"
-#endif
-
 #if HAVE_SUBSECTIONS_VIA_SYMBOLS
         // If we have deadstripping enabled and a label is detected as unused
         // the code gets nop'd out.
@@ -517,7 +500,7 @@ StgRunIsImplementedInAssembler(void)
         "movq 136(%%rax),%%xmm15\n\t"
 #endif
         "addq %1, %%rsp\n\t"
-        "retq\n\t"
+        "retq"
 
         :
         : "i"(RESERVED_C_STACK_BYTES),