[Git][ghc/ghc][wip/toolchain-selection] 22 commits: configure: Rip out Solaris dyld check
Rodrigo Mesquita (@alt-romes)
gitlab at gitlab.haskell.org
Wed Jul 5 08:07:53 UTC 2023
Rodrigo Mesquita pushed to branch wip/toolchain-selection at Glasgow Haskell Compiler / GHC
Commits:
de5830d0 by Ben Gamari at 2023-07-04T22:03:59-04:00
configure: Rip out Solaris dyld check
Solaris 11 was released over a decade ago and, moreover, I doubt we have
any Solaris users
- - - - -
59c5fe1d by doyougnu at 2023-07-04T22:04:56-04:00
CI: add JS release and debug builds, regen CI jobs
- - - - -
679bbc97 by Vladislav Zavialov at 2023-07-04T22:05:32-04:00
testsuite: Do not require CUSKs
Numerous tests make use of CUSKs (complete user-supplied kinds),
a legacy feature scheduled for deprecation. In order to proceed
with the said deprecation, the tests have been updated to use SAKS
instead (standalone kind signatures).
This also allows us to remove the Haskell2010 language pragmas that
were added in 115cd3c85a8 to work around the lack of CUSKs in GHC2021.
- - - - -
945d3599 by Ben Gamari at 2023-07-04T22:06:08-04:00
gitlab: Drop backport-for-8.8 MR template
Its usefulness has long passed.
- - - - -
66c721d3 by Alan Zimmerman at 2023-07-04T22:06:44-04:00
EPA: Simplify GHC/Parser.y comb2
Use the HasLoc instance from Ast.hs to allow comb2 to work with
anything with a SrcSpan
This gets rid of the custom comb2A, comb2Al, comb2N functions, and
removes various reLoc calls.
- - - - -
2be99b7e by Matthew Pickering at 2023-07-04T22:07:21-04:00
Fix deprecation warning when deprecated identifier is from another module
A stray 'Just' was being printed in the deprecation message.
Fixes #23573
- - - - -
46c9bcd6 by Ben Gamari at 2023-07-04T22:07:58-04:00
rts: Don't rely on initializers for sigaction_t
As noted in #23577, CentOS's ancient toolchain throws spurious
missing-field-initializer warnings.
- - - - -
ec55035f by Ben Gamari at 2023-07-04T22:07:58-04:00
hadrian: Don't treat -Winline warnings as fatal
Such warnings are highly dependent upon the toolchain, platform, and
build configuration. It's simply too fragile to rely on these.
- - - - -
3a09b789 by Ben Gamari at 2023-07-04T22:07:58-04:00
hadrian: Only pass -Wno-nonportable-include-path on Darwin
This flag, which was introduced due to #17798, is only understood by
Clang and consequently throws warnings on platforms using gcc. Sadly,
there is no good way to treat such warnings as non-fatal with `-Werror`
so for now we simply make this flag specific to platforms known to use
Clang and case-insensitive filesystems (Darwin and Windows).
See #23577.
- - - - -
4af7eac2 by Mario Blažević at 2023-07-04T22:08:38-04:00
Fixed ticket #23571, TH.Ppr.pprLit hanging on large numeric literals
- - - - -
2304c697 by Ben Gamari at 2023-07-04T22:09:15-04:00
compiler: Make OccSet opaque
- - - - -
cf735db8 by Andrei Borzenkov at 2023-07-04T22:09:51-04:00
Add Note about why we need forall in Code to be on the right
- - - - -
fb140f82 by Hécate Moonlight at 2023-07-04T22:10:34-04:00
Relax the constraint about the foreign function's calling convention of FinalizerPtr to capi as well as ccall.
- - - - -
6a58ad2a by Rodrigo Mesquita at 2023-07-05T09:07:32+01:00
configure: Drop Clang command from settings
Due to 01542cb7227614a93508b97ecad5b16dddeb6486 we no longer use the
`runClang` function, and no longer need to configure into settings the
Clang command. We used to determine options at runtime to pass clang when
it was used as an assembler, but now that we configure at configure time
we no longer need to.
- - - - -
c653ee1f by Ben Gamari at 2023-07-05T09:07:32+01:00
ghc-toolchain: Initial commit
- - - - -
aaa7f9a4 by Rodrigo Mesquita at 2023-07-05T09:07:32+01:00
Create ghc_toolchain.m4
Don't pass options to ghc-toolchain, it should arrive at the same conclusion as configure for now
Don't crash on ghc-toolchain failure
Mingw bundled toolchain
- - - - -
0ade0ad4 by Rodrigo Mesquita at 2023-07-05T09:07:32+01:00
ghc-toolchain: Toolchain Selection
ghc-toolchain: Rename readProcess to readProcessStdout
Fixes bugs regarding a translation from the original autconf program
that failed to account for the exit code.
The longer name reenforces that we really only care about the stdout,
and the exit code and stderr of the program are irrelevant for the case.
Fixes
Re-introduce ld-override option
ghc-toolchain library and usage in hadrian flags
Re-introduce flags in hadrian config
ghc-toolchain: UseLibFFI, LdCompactUnwind, LdFileList
A more complete ghc-toolchain.
Added configuration of:
* Use libffi for adjustors
* Supports compact unwind
* Supports filelist
Handle passing CPP cmd and flags from configure to ghc-toolchain
Rip more of configure that is no longer being used
Remove configure checks of GNUnoexecStack and ident directive
And fix bug in ghc-toolchain respective code
Rip out more from hadrians system.config.in
Configure CLink supports response files
Read deleted keys from host and target's target
Delete CMD_OPTS_STAGEX
Instead of having configure configure different options for different
programs depend on the stage, we delete this completely and have hadrian
select the correct target toolchain configuration file depending on the
stage, from which it can read those options.
Fix [host|target]-[os|arch] vs [host|target]-haskell-[os|arch]
Handle unspecified vs specified flags and commands better
Configure Cpp and HsCpp separately
Fixes for compilation
Link is GNU linkerg
Revert "Rip more of configure that is no longer being used"
I realized we still need this function in rts/configure.ac
This reverts commit 01f5d4b4.
Revert get_arm_isa deletion from 74f03f24
As in the previous commit, we still need this info from the rts
configure script.
I suppose it could be useful for the rts to also read somehow the
toolchain information...
helper AC function for enable/disable
Delete unused imports of SysTools.Info
Drop PROG_CPP in distrib/autoconf too
Get rid of MonadCatch instances and dependencies
ghc-toolchain: Check Cc supports extra-via-c-flags
Consider empty programs as non-specified programs
Cpp and HsCpp cleanup
Add comment from check for gold t22266
Remove more settings bits from hadrian/cfg
Use llvm target from ghc-toolchain
Print default.target
Fix bugs in MergeTool and Ar
Add check and log errors on error
X
Revert LLVMTarget deletion in mkprojectmkin
Fix stack job
Fixes for ghc-toolchain to match configure output
ghc-toolchain: Fix ar supports at file
Fixes
ghc-toolchain: Fix check for gold bug
ghc-toolchain: configure linker options correctly
Support more targets and dont use llvmtarget
allow duplos in place of triples
A TODO comment
ghc-toolchain: set CC LD plat. dependent flags
A lot to be said about the approach of configuring linker flags (what
used to be SET CC LD platform dependent flags in configure), we might
want to re-do this all eventually...
Perhaps I ought to add a TODO at the top level of these functions?
We might also not do it altogether, some of these might be outdated?
Move osElfTarget from GHC.Platform to GHC.Platform.ArchOS, to use it in
Toolchain.Tools.Link to correctly determine if -Wl,--no-as-needed is required
Windows bundled toolchain, output path, etc
Add windows bundled toolchain specific flags
- - - - -
3d7244bb by Rodrigo Mesquita at 2023-07-05T09:07:32+01:00
refactor on hadrian handling of toolchains
Fixes to hadrian and ghc-toolchain
- - - - -
8d74813f by Rodrigo Mesquita at 2023-07-05T09:07:32+01:00
configure: Create and validate toolchain target file
Interpolate LeadingUnderscore in distrib/configure.ac.in
- - - - -
67a3e879 by Rodrigo Mesquita at 2023-07-05T09:07:32+01:00
Split GHC.Platform.ArchOS from ghc-boot into ghc-platform
- - - - -
72c45e27 by Rodrigo Mesquita at 2023-07-05T09:07:32+01:00
Use ghc-platform instead of ghc-boot
- - - - -
a53d9c7b by Rodrigo Mesquita at 2023-07-05T09:07:32+01:00
Revert "Mingw bundled toolchain"
This reverts commit 7d04d6bcb4a65d6dc97f1d59497c3c0a208b8be6.
Revert "Windows bundled toolchain, output path, etc"
This reverts commit 50089ea4b39885c38f1e6b02c9babebf47170d1c.
Revert "Add windows bundled toolchain specific flags"
This reverts commit a5734d7450890f739196d46610ba8d5558755782.
Adjust
- - - - -
30 changed files:
- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
- − .gitlab/merge_request_templates/backport-for-8.8.md
- + TODO
- compiler/GHC/Driver/Session.hs
- compiler/GHC/Iface/Ext/Ast.hs
- compiler/GHC/Linker/Static.hs
- compiler/GHC/Parser.y
- compiler/GHC/Parser/Annotation.hs
- compiler/GHC/Platform.hs
- compiler/GHC/Settings.hs
- compiler/GHC/Settings/IO.hs
- compiler/GHC/SysTools/Tasks.hs
- compiler/GHC/Tc/Errors/Ppr.hs
- compiler/GHC/Types/Name/Occurrence.hs
- configure.ac
- + default.target.in
- distrib/configure.ac.in
- hadrian/bindist/Makefile
- hadrian/bindist/config.mk.in
- hadrian/cabal.project
- hadrian/cfg/system.config.in
- hadrian/hadrian.cabal
- hadrian/src/Base.hs
- hadrian/src/Builder.hs
- hadrian/src/Context.hs
- hadrian/src/Flavour.hs
- hadrian/src/Hadrian/Haskell/Hash.hs
- hadrian/src/Hadrian/Oracles/TextFile.hs
- hadrian/src/Oracles/Flag.hs
The diff was not included because it is too large.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/6b3d4b33d6be50dd63047f65ad54533b42a19ddd...a53d9c7b95a021655869b5598ed14ec5b0c53b28
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/6b3d4b33d6be50dd63047f65ad54533b42a19ddd...a53d9c7b95a021655869b5598ed14ec5b0c53b28
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/20230705/0dfc4236/attachment-0001.html>
More information about the ghc-commits
mailing list