Opened 4 months ago

Closed 3 months ago

Last modified 3 months ago

#15237 closed bug (fixed)

New SRT scheme breaks -fvia-C

Reported by: bgamari Owned by:
Priority: high Milestone: 8.6.1
Component: Compiler Version: 8.4.3
Keywords: Cc: simonmar, slyfox
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s): Phab:D4837
Wiki Page:

Description

The SRT rework implemented in 2b0918c9834be1873728176e4944bec26271234a introduces a sub-word-size field into StgSRT. Unfortunately -fvia-C doesn't support such fields. This breaks CircleCI's unregisterised target.

Change History (9)

comment:1 Changed 3 months ago by bgamari

Cc: simonmar added

comment:2 Changed 3 months ago by simonmar

Maybe we should just disable this optimisation for !TABLES_NEXT_TO_CODE.

comment:3 Changed 3 months ago by bgamari

Yes, I think that would be the easiest way forward.

comment:4 Changed 3 months ago by slyfox

Cc: slyfox added

Does CircleCI still try to run unregisterised GHC? I'd like to peek at failures you are seeing.

comment:5 Changed 3 months ago by bgamari

Indeed I should have included a link: https://circleci.com/gh/ghc/ghc/5735

comment:6 Changed 3 months ago by slyfox

Differential Rev(s): Phab:D4837

comment:7 Changed 3 months ago by Ben Gamari <ben@…>

In 0238a6c/ghc:

UNREG: PprC: add support for of W32 literals

Today UNREG build fails to generate sub-word literals:
```
  rts_dist_HC rts/dist/build/StgStartup.o
ghc-stage1: panic! (the 'impossible' happened)
  (GHC version 8.5.20180612 for x86_64-unknown-linux):
        pprStatics: cannot emit a non-word-sized static literal
  W32
```

The change allows combining two subwords into one word.

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>

Reviewers: simonmar, bgamari

Reviewed By: bgamari

Subscribers: rwbarton, thomie, carter

GHC Trac Issues: #15237

Differential Revision: https://phabricator.haskell.org/D4837

comment:8 Changed 3 months ago by bgamari

Resolution: fixed
Status: newclosed

comment:9 Changed 3 months ago by Sergei Trofimovich <slyfox@…>

In 01c9d95a/ghc:

UNREG: PprC: add support for of W16 literals (Ticket #15237)

Fix UNREG build failure for 32-bit targets.

This change is an equivalent of commit
0238a6c78102d43dae2f56192bd3486e4f9ecf1d
("UNREG: PprC: add support for of W32 literals")

The change allows combining two subwords into one word
on 32-bit targets. Tested on nios2-unknown-linux-gnu.

GHC Trac Issues: #15237

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Note: See TracTickets for help on using tickets.