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 838b6903
"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: default avatarSergei Trofimovich <slyfox@gentoo.org>

Reviewers: simonmar, bgamari

Subscribers: rwbarton, thomie, carter

Differential Revision: https://phabricator.haskell.org/D4731
parent 9921f5b0
......@@ -616,8 +616,6 @@ isSomeRODataLabel (IdLabel _ _ ConInfoTable) = True
isSomeRODataLabel (IdLabel _ _ InfoTable) = True
isSomeRODataLabel (IdLabel _ _ LocalInfoTable) = True
isSomeRODataLabel (IdLabel _ _ BlockInfoTable) = True
-- static reference tables defined in haskell (.hs)
isSomeRODataLabel (SRTLabel _) = True
-- info table defined in cmm (.cmm)
isSomeRODataLabel (CmmLabel _ _ CmmInfo) = True
isSomeRODataLabel _lbl = False
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment