UNREG: mark SRT as writable in generated C code
authorSergei Trofimovich <slyfox@gentoo.org>
Fri, 1 Jun 2018 08:35:23 +0000 (08:35 +0000)
committerSergei Trofimovich <slyfox@gentoo.org>
Fri, 1 Jun 2018 16:21:26 +0000 (16:21 +0000)
commit9fd4ed90bcdb22fc0d71051644084b75a3e8a376
treee5e5ca8f307c42977a1e0313b8824ee89bf43f76
parent9921f5b0f04a5b7871a4852e4da368ea6a763ec3
UNREG: mark SRT as writable in generated C code

Noticed section mismatch on UNREG build failure:

```
  HC [stage 1] libraries/integer-gmp/dist-install/build/GHC/Integer/Type.o

     error: conflicting types for 'ufu0_srt'
     static StgWord ufu0_srt[]__attribute__((aligned(8)))= {
                    ^~~~~~~~

     note: previous declaration of 'ufu0_srt' was here
     IRO_(ufu0_srt);
          ^~~~~~~~
```

`IRO_` is a 'const' qualifier.

The error is a leftover from commit 838b69032566ce6ab3918d70e8d5e098d0bcee02
"Merge FUN_STATIC closure with its SRT" where part of SRT was moved
into closure itself and made SRTs writable.

This change puts all SRTs into writable section.

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Reviewers: simonmar, bgamari

Subscribers: rwbarton, thomie, carter

Differential Revision: https://phabricator.haskell.org/D4731
compiler/cmm/CLabel.hs