[Git][ghc/ghc][wip/backports-9.8] 9 commits: Fix C output for modern C initiative

Zubin (@wz1000) gitlab at gitlab.haskell.org
Tue Feb 20 11:05:51 UTC 2024



Zubin pushed to branch wip/backports-9.8 at Glasgow Haskell Compiler / GHC


Commits:
92239ede by Florian Weimer at 2024-02-20T13:38:04+05:30
Fix C output for modern C initiative

GCC 14 on aarch64 rejects the C code written by GHC with this kind of
error:

   error: assignment to ‘ffi_arg’ {aka ‘long unsigned int’} from ‘HsPtr’ {aka ‘void *’} makes integer from pointer without a cast [-Wint-conversion]
         68 | *(ffi_arg*)resp = cret;
            |                 ^

Add the correct cast.

For more information on this see:
https://fedoraproject.org/wiki/Changes/PortingToModernC

Tested-by: Richard W.M. Jones <rjones at redhat.com>
(cherry picked from commit 1f534c2e7388273e70534680212c1357614c11ed)

- - - - -
eb7dbc1c by Fendor at 2024-02-20T13:38:04+05:30
Prefer RdrName over OccName for looking up locations in doc renaming step

Looking up by OccName only does not take into account when functions are
only imported in a qualified way.

Fixes issue #24294

Bump haddock submodule to include regression test

(cherry picked from commit b57200de601e4ef6827727176611d7192016b8b2)

- - - - -
0bb7198d by Cheng Shao at 2024-02-20T13:38:04+05:30
Fix genapply for cross-compilation by nuking fragile CPP logic

This commit fixes incorrectly built genapply when cross compiling
(#24347) by nuking all fragile CPP logic in it from the orbit. All
target-specific info are now read from DerivedConstants.h at runtime,
see added note for details. Also removes a legacy Makefile and adds
haskell language server support for genapply.

(cherry picked from commit dd4af0e5a4a3af208bdf57e8237d85261eef24f7)

- - - - -
737ca257 by Cheng Shao at 2024-02-20T13:39:37+05:30
rts: enable wasm32 register mapping

The wasm backend didn't properly make use of all Cmm global registers
due to #24347. Now that it is fixed, this patch re-enables full
register mapping for wasm32, and we can now generate smaller & faster
wasm modules that doesn't always spill arguments onto the stack. Fixes #22460 #24152.

(cherry picked from commit 0cda2b8b15cdbc44c45ffa36a37ed8c2fe8b8b9c)

- - - - -
c4d60c5c by Andrew Lelechenko at 2024-02-20T13:39:37+05:30
Bump submodule text to 2.1.1

T17123 allocates less because of improvements to Data.Text.concat in 1a6a06a.

Metric Decrease:
    T17123

(cherry picked from commit 56e3f097fa7205f77e7903af345ed3798ecb039e)

- - - - -
34a20047 by Matthew Craven at 2024-02-20T13:39:37+05:30
Bump bytestring submodule to something closer to 0.12.1

...mostly so that 16d6b7e835ffdcf9b894e79f933dd52348dedd0c
(which reworks unaligned writes in Builder) and the stuff in
https://github.com/haskell/bytestring/pull/631 can see wider testing.

The less-terrible code for unaligned writes used in Builder on
hosts not known to be ulaigned-friendly also takes less effort
for GHC to compile, resulting in a metric decrease for T21839c
on some platforms.

The metric increase on T21839r is caused by the unrelated commit
750dac33465e7b59100698a330b44de7049a345c.  It perhaps warrants
further analysis and discussion (see #23822) but is not critical.

Metric Decrease:
T21839c
Metric Increase:
T21839r

(cherry picked from commit 27020458220da55f52f1f94c42a6ae7b4f321387)

- - - - -
273532ed by Matthew Craven at 2024-02-20T13:39:37+05:30
Bump bytestring submodule to 0.12.1.0

(cherry picked from commit 5d3f786264db88a758ae65277c1b8d7f37f2e460)

- - - - -
f2d4a749 by Matthew Pickering at 2024-02-20T13:39:37+05:30
driver: Check transitive closure of haskell package dependencies when deciding whether to relink

We were previously just checking whether direct package dependencies had
been modified. This caused issues when compiling without optimisations
as we wouldn't relink the direct dependency if one of its dependenices
changed.

Fixes #23724

(cherry picked from commit 291d81aef8083290da0d2ce430fbc5e5a33bdb6e)

- - - - -
872bc84a by Zubin Duggal at 2024-02-20T16:35:32+05:30
Prepare release 9.8.2

- - - - -


30 changed files:

- compiler/GHC/Driver/Pipeline.hs
- compiler/GHC/HsToCore/Foreign/C.hs
- compiler/GHC/Platform/Wasm32.hs
- compiler/GHC/Rename/Doc.hs
- configure.ac
- + docs/users_guide/9.8.2-notes.rst
- docs/users_guide/release-notes.rst
- hadrian/hadrian.cabal
- hadrian/src/Rules/Generate.hs
- + hadrian/src/Settings/Builders/GenApply.hs
- hadrian/src/Settings/Builders/Ghc.hs
- hadrian/src/Settings/Default.hs
- hadrian/src/Settings/Packages.hs
- libraries/base/base.cabal
- libraries/base/changelog.md
- libraries/bytestring
- libraries/text
- rts/Apply.cmm
- rts/HeapStackCheck.cmm
- rts/include/stg/MachRegsForHost.h
- testsuite/tests/cmm/should_compile/all.T
- + testsuite/tests/driver/t23724/LICENSE
- + testsuite/tests/driver/t23724/Makefile
- + testsuite/tests/driver/t23724/README.md
- + testsuite/tests/driver/t23724/Setup.hs
- + testsuite/tests/driver/t23724/all.T
- + testsuite/tests/driver/t23724/cabal.project
- + testsuite/tests/driver/t23724/packageA/Setup.hs
- + testsuite/tests/driver/t23724/packageA/packageA.cabal
- + testsuite/tests/driver/t23724/packageA/src/LibA.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/e7ec68b822c3e58757542068670c15f0dd999d4f...872bc84a10cdcd96b81b00cad35e2bcb92292909

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/e7ec68b822c3e58757542068670c15f0dd999d4f...872bc84a10cdcd96b81b00cad35e2bcb92292909
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20240220/bbc1be32/attachment-0001.html>


More information about the ghc-commits mailing list