[commit: ghc] ghc-8.6: Revert "rts: Use .cfi_{start|end}proc directives" (76b343f)

git at git.haskell.org git at git.haskell.org
Sun Jun 17 14:29:18 UTC 2018


Repository : ssh://git@git.haskell.org/ghc

On branch  : ghc-8.6
Link       : http://ghc.haskell.org/trac/ghc/changeset/76b343f5d2e98eb02fc91ff6fd3ea06e0159713c/ghc

>---------------------------------------------------------------

commit 76b343f5d2e98eb02fc91ff6fd3ea06e0159713c
Author: Ben Gamari <ben at smart-cactus.org>
Date:   Sun Jun 17 09:41:46 2018 -0400

    Revert "rts: Use .cfi_{start|end}proc directives"
    
    This reverts commit 86210b238b86d810874a2315d1715546a4006cea.


>---------------------------------------------------------------

76b343f5d2e98eb02fc91ff6fd3ea06e0159713c
 rts/StgCRun.c | 19 +------------------
 1 file changed, 1 insertion(+), 18 deletions(-)

diff --git a/rts/StgCRun.c b/rts/StgCRun.c
index 8fea23d..92b0696 100644
--- a/rts/StgCRun.c
+++ b/rts/StgCRun.c
@@ -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),



More information about the ghc-commits mailing list