[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 16 commits: base: Use strerror_r instead of strerror

Marge Bot (@marge-bot) gitlab at gitlab.haskell.org
Fri Mar 8 23:28:50 UTC 2024



Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC


Commits:
2859a637 by Ben Gamari at 2024-03-08T18:26:47-05:00
base: Use strerror_r instead of strerror

As noted by #24344, `strerror` is not necessarily thread-safe.
Thankfully, POSIX.1-2001 has long offered `strerror_r`, which is
safe to use.

Fixes #24344.

CLC discussion: https://github.com/haskell/core-libraries-committee/issues/249

- - - - -
e2ea2ce8 by Ben Gamari at 2024-03-08T18:28:35-05:00
rts/CloneStack: Bounds check array write

- - - - -
23f81003 by Ben Gamari at 2024-03-08T18:28:35-05:00
rts/CloneStack: Don't expose helper functions in header

- - - - -
c34a51b6 by Ben Gamari at 2024-03-08T18:28:35-05:00
base: Move internals of GHC.InfoProv into GHC.InfoProv.Types

Such that we can add new helpers into GHC.InfoProv.Types without
breakage.

- - - - -
c2608564 by Ben Gamari at 2024-03-08T18:28:35-05:00
rts: Lazily decode IPE tables

Previously we would eagerly allocate `InfoTableEnt`s for each
info table registered in the info table provenance map. However, this
costs considerable memory and initialization time. Instead we now
lazily decode these tables. This allows us to use one-third the memory
*and* opens the door to taking advantage of sharing opportunities within
a module.

This required considerable reworking since lookupIPE now must be passed
its result buffer.

- - - - -
a983949a by Ben Gamari at 2024-03-08T18:28:35-05:00
rts/IPE: Don't expose helper in header

- - - - -
00b4fe2e by Ben Gamari at 2024-03-08T18:28:35-05:00
rts/IPE: Share module_name within a Node

This allows us to shave a 64-bit word off of the packed IPE entry size.

- - - - -
69118f5f by Ben Gamari at 2024-03-08T18:28:36-05:00
IPE: Expose unit ID in InfoTableProv

Here we add the unit ID to the info table provenance structure.

- - - - -
13568b23 by Ben Gamari at 2024-03-08T18:28:36-05:00
rts: Refactor GHC.Stack.CloneStack.decode

Don't allocate a Ptr constructor per frame.

- - - - -
0c93142d by Ben Gamari at 2024-03-08T18:28:36-05:00
base: Do not expose whereFrom# from GHC.Exts

- - - - -
6d4bdf9e by Jade at 2024-03-08T18:28:37-05:00
Error messages: Improve Error messages for Data constructors in type signatures.

This patch improves the error messages from invalid type signatures by
trying to guess what the user did and suggesting an appropriate fix.

Partially fixes: #17879

- - - - -
a930b2fd by Patrick at 2024-03-08T18:28:38-05:00
HieAst: add module name #24493

The main purpose of this is to tuck the module name `xxx` in `module xxx where` into the hieAst.
It should fix #24493.

The following have been done:
1. Renamed and update the `tcg_doc_hdr :: Maybe (LHsDoc GhcRn)` to `tcg_hdr_info :: (Maybe (LHsDoc GhcRn), Maybe (XRec GhcRn ModuleName))`
   To store the located module name information.
2. update the `RenamedSource` and `RenamedStuff` with extra `Maybe (XRec GhcRn ModuleName)` located module name information.
3. add test `testsuite/tests/hiefile/should_compile/T24493.hs` to ensure the module name is added and update several relevent tests.
4. accompanied submodule haddoc test update MR in https://gitlab.haskell.org/ghc/haddock/-/merge_requests/53

- - - - -
0852436a by Vaibhav Sagar at 2024-03-08T18:28:42-05:00
GHC.Utils.Binary: fix a couple of typos

- - - - -
52525fcc by Ben Gamari at 2024-03-08T18:28:42-05:00
rts: Drop .wasm suffix from .prof file names

This replicates the behavior on Windows, where `Hi.exe` will produce
profiling output named `Hi.prof` instead of `Hi.exe.prof`.

While in the area I also fixed the extension-stripping logic, which
incorrectly rewrote `Hi.exefoo` to `Hi.foo`.

Closes #24515.

- - - - -
bb867146 by Cheng Shao at 2024-03-08T18:28:42-05:00
testsuite: drop exe extension from .hp & .prof filenames

See #24515 for details.

- - - - -
4e3e1f8b by Ben Gamari at 2024-03-08T18:28:43-05:00
rts/linker: Enable GOT support on all platforms

There is nothing platform-dependent about our GOT implementation and
GOT support is needed by `T24171` on i386.

- - - - -


30 changed files:

- compiler/GHC.hs
- compiler/GHC/Builtin/primops.txt.pp
- compiler/GHC/HsToCore/Docs.hs
- compiler/GHC/Iface/Ext/Ast.hs
- compiler/GHC/Parser/Errors/Ppr.hs
- compiler/GHC/Parser/Errors/Types.hs
- compiler/GHC/Parser/PostProcess.hs
- compiler/GHC/StgToCmm/InfoTableProv.hs
- compiler/GHC/Tc/Module.hs
- compiler/GHC/Tc/Types.hs
- compiler/GHC/Tc/Utils/Backpack.hs
- compiler/GHC/Tc/Utils/Monad.hs
- compiler/GHC/Types/Hint.hs
- compiler/GHC/Types/Hint/Ppr.hs
- compiler/GHC/Utils/Binary.hs
- libraries/base/changelog.md
- libraries/base/src/GHC/Base.hs
- libraries/base/src/GHC/Exts.hs
- + libraries/ghc-internal/cbits/strerror.c
- libraries/ghc-internal/configure.ac
- libraries/ghc-internal/ghc-internal.cabal
- libraries/ghc-internal/jsbits/errno.js
- libraries/ghc-internal/src/GHC/Internal/Base.hs
- libraries/ghc-internal/src/GHC/Internal/Exts.hs
- libraries/ghc-internal/src/GHC/Internal/Foreign/C/Error.hs
- + libraries/ghc-internal/src/GHC/Internal/InfoProv.hs
- libraries/ghc-internal/src/GHC/Internal/InfoProv.hsc → libraries/ghc-internal/src/GHC/Internal/InfoProv/Types.hsc
- libraries/ghc-internal/src/GHC/Internal/Stack/CloneStack.hs
- rts/CloneStack.c
- rts/CloneStack.h


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/a7c876e35ee0998bba256d4bf0808750d57dc7b4...4e3e1f8be39871b43c788584543d27718a9dbe35

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/a7c876e35ee0998bba256d4bf0808750d57dc7b4...4e3e1f8be39871b43c788584543d27718a9dbe35
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/20240308/cafe3b89/attachment.html>


More information about the ghc-commits mailing list