rts: Use .cfi_{start|end}proc directives
ClosedPublic

Authored by bgamari on Jun 3 2018, 4:03 PM.

Details

Summary

It seems the LLVM assembler gets angry if we omit these. See Trac Trac #15207.

Test Plan

Validate using LLVM assembler

Diff Detail

Repository
rGHC Glasgow Haskell Compiler
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
bgamari created this revision.Jun 3 2018, 4:03 PM
carter added a comment.Jun 3 2018, 4:21 PM

I did a rebuild with only these files patched and the build succeeded!

(i'll also do a dist/maintainer clean rebuild to confirm)

carter added a comment.Jun 3 2018, 8:47 PM

I can confirm this patch works for me :)

Awesome, thanks for testing, @carter

bgamari updated this revision to Diff 16699.Jun 4 2018, 12:23 PM

Fix placement

simonmar accepted this revision.Jun 8 2018, 2:17 PM

Ok by me.

This revision is now accepted and ready to land.Jun 8 2018, 2:17 PM

Sigh; I finally had a chance to investigate why this causes Linux/gcc to fail. It seems that gcc already inserts CFI begin/end directives in inline assembler but LLVM doesn't. Quite annoying.

bgamari updated this revision to Diff 16944.Jun 15 2018, 3:22 PM

Fix gcc build

This revision was automatically updated to reflect the committed changes.