diff options
author | Ben Gamari <ben@smart-cactus.org> | 2018-06-17 09:41:46 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2018-06-17 09:41:54 -0400 |
commit | 76b343f5d2e98eb02fc91ff6fd3ea06e0159713c (patch) | |
tree | f546c1af841b2506802d4b61735c2b062b6cb94a /rts | |
parent | 8df24474d0194d28b8273c1539af05793156e23f (diff) | |
download | haskell-76b343f5d2e98eb02fc91ff6fd3ea06e0159713c.tar.gz |
Revert "rts: Use .cfi_{start|end}proc directives"
This reverts commit 86210b238b86d810874a2315d1715546a4006cea.
Diffstat (limited to 'rts')
-rw-r--r-- | rts/StgCRun.c | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/rts/StgCRun.c b/rts/StgCRun.c index 8fea23d8dc..92b0696c2b 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), |