rts: Add casts to prevent compiler warnings in printfs.
Fix Trac #8485.

The problem was that the renamer treated role annotations by looking
up the annotated type in the module being compiled. If this check
succeeded, it was assumed that the annotated type was being compiled
at the same time. But this assumption is false! In GHCi (and Template
Haskell), sometimes compilation within one module can be staged. So,
now there is a more intricate check for orphan role annotations. This
also has the benefit of producing better error messages.
Update upstream repo url for `haskeline`

[hackage:haskeline] has now an official GitHub repo at
https://github.com/judah/haskeline.git

Consequently, there remain only 3 repos which are Darcs hosted
(and thus still require darcs2git mirroring), namely
[hackage:time], [hackage:terminfo], and [hackage:transformers].

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Update `terminfo` to version 0.3.2.6

Thus GHC's in-tree version corresponds exactly to
[hackage:terminfo-0.3.2.6]. Morever, `terminfo` has moved
to GitHub as well (https://github.com/judah/terminfo) so
the upstream repo URL in `packages` is updated as well.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Remove remains of _scc_ (#8170)
Remove debugging output (#8356)
Minor typos (fixes #8496)
Sync up to `haskeline` upstream's HEAD

This contains the Haskeline commit fixing #7768

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Load all modules before reporting errors (#8322)

Instead of reporting only one "module not found"" error.

Signed-off-by: Austin Seipp <austin@well-typed.com>
Add support for module reification (#1480)

Authored-by: Gergely Risko <gergely@risko.hu>
Signed-off-by: Austin Seipp <austin@well-typed.com>
Fix a race condition when PROFILING (#8453)

Signed-off-by: Austin Seipp <austin@well-typed.com>
Fix loop on 64bit Big-Endian platforms (#8134)

This is a fun one.

In the RTS, `cas` expects a pointer to StgWord which will translate to
unsigned long (8 bytes under LP64.) But we had previously declared
token_locked as *StgBool* - which evaluates to 'int' (4 bytes under
LP64.) That means we fail to provide enough storage for the cas
primitive, causing it to corrupt memory on a 64bit platform.

Hilariously, this somehow did not affect little-endian platforms (ARM,
x86, etc) before. That's because to clear our lock token, we would say:

    token_locked = 0;

But because token_locked is 32bits technically, this only writes to
half of the 64bit quantity. On a Big-Endian machine, this won't do
anything. That is, token_locked starts as 0:

 / token_locked
 |
 v
 0x00000000

and the first cas modifies the memory to:

 / valid    / corrupted
 |          |
 v          v
 0x00000000 0x00000001

We then clear token_locked, but this doesn't change the corrupted 4
bytes of memory. And then we try to lock the token again, spinning until
it is released - clearly a deadlock.

Related: Windows (amd64) doesn't follow LP64, but LLP64, where both
int and long are 4 bytes, so this shouldn't change anything on these
platforms.

Thanks to Reid Barton for helping the diagnosis. Also, thanks to Jens
Peterson who confirmed this also fixes building GHC on Fedora/ppc64 and
Fedora/s390x.

Authored-by: Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
Signed-off-by: Austin Seipp <austin@well-typed.com>
rts_apply uses CCS_MAIN rather than CCS_SYSTEM (#7753)

Signed-off-by: Austin Seipp <austin@well-typed.com>
Remove superfluous #ifdef from Takano's patch.

Signed-off-by: Austin Seipp <austin@well-typed.com>
adding further documentation and explanation to the prefetch primops

Signed-off-by: Carter Tazio Schonwald <carter.schonwald@gmail.com>
Signed-off-by: Austin Seipp <austin@well-typed.com>
Nuke trailing whitespace.

Signed-off-by: Austin Seipp <austin@well-typed.com>
removed can_fail=True attribute and updated documentation to reflect recommended usage pattern for prefetchByteArray and prefetchAddr