[Git][ghc/ghc][wip/toolchain-selection] 25 commits: Configure MergeObjs supports response files rather than Ld
Rodrigo Mesquita (@alt-romes)
gitlab at gitlab.haskell.org
Mon Jun 26 13:51:13 UTC 2023
Rodrigo Mesquita pushed to branch wip/toolchain-selection at Glasgow Haskell Compiler / GHC
Commits:
502caaa3 by Rodrigo Mesquita at 2023-06-26T14:11:03+01:00
Configure MergeObjs supports response files rather than Ld
The previous configuration script to test whether Ld supported response
files was
* Incorrect (see #23542)
* Used, in practice, to check if the *merge objects tool* supported
response files.
This commit modifies the macro to run the merge objects tool (rather
than Ld), using a response file, and checking the result with $NM
Fixes #23542
- - - - -
d5791574 by Ben Gamari at 2023-06-26T14:11:03+01:00
ghc-toolchain: Initial commit
- - - - -
12edf2ce by Ben Gamari at 2023-06-26T14:11:03+01:00
Rip out runtime linker/compiler checks
- - - - -
816cf9d1 by Ben Gamari at 2023-06-26T14:11:27+01:00
configure: Rip out toolchain selection logic
- - - - -
f4a93aee by Rodrigo Mesquita at 2023-06-26T14:45:45+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 01f5d4b480f4ab1514ac0a4fc957db199d1a0279.
Revert get_arm_isa deletion from 74f03f243d08aa910d39cdd9dadb976e9386283a
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
- - - - -
116804b8 by Rodrigo Mesquita at 2023-06-26T14:45:47+01:00
configure: Revert ripping out of toolchain selection logic
- - - - -
dc0a755e by Rodrigo Mesquita at 2023-06-26T14:45:47+01:00
Stop configuring into settings unused Ld command
- - - - -
2cd9396b by Rodrigo Mesquita at 2023-06-26T14:45:47+01:00
configure: Create and validate toolchain target file
- - - - -
42e13f7b by Rodrigo Mesquita at 2023-06-26T14:47:03+01:00
Fixes for ghc-toolchain to match configure output
- - - - -
d0c11f3d by Rodrigo Mesquita at 2023-06-26T14:47:05+01:00
Don't pass options to ghc-toolchain, it should arrive at the same conclusion as configure for now
- - - - -
971ecc34 by Rodrigo Mesquita at 2023-06-26T14:47:05+01:00
Tweak to prep_target_file
- - - - -
49fadc4b by Rodrigo Mesquita at 2023-06-26T14:47:05+01:00
ghc-toolchain: Fix ar supports at file
- - - - -
89d8997a by Rodrigo Mesquita at 2023-06-26T14:47:40+01:00
Fixes
- - - - -
d172a99f by Rodrigo Mesquita at 2023-06-26T14:48:14+01:00
ghc-toolchain: Fix check for gold bug
- - - - -
ddca75b5 by Rodrigo Mesquita at 2023-06-26T14:49:27+01:00
ghc-toolchain: set CC LD plat. dependent flags
A lot to be said about this approach, 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?
- - - - -
5b65d82a by Rodrigo Mesquita at 2023-06-26T14:49:28+01:00
Configure -Wl,--no-as-needed
- - - - -
a326b21f by Rodrigo Mesquita at 2023-06-26T14:50:21+01:00
ghc-toolchain: configure linker options correctly
- - - - -
6f67a22f by Rodrigo Mesquita at 2023-06-26T14:50:23+01:00
Revert LLVMTarget deletion in mkprojectmkin
- - - - -
9e26862c by Rodrigo Mesquita at 2023-06-26T14:50:23+01:00
Fix stack job
- - - - -
c2a56f8f by Rodrigo Mesquita at 2023-06-26T14:50:23+01:00
ghc-toolchain: Create default.target in the bindist
- - - - -
f066dac2 by Rodrigo Mesquita at 2023-06-26T14:51:00+01:00
Part of -Wl,--no-as-needed saga
- - - - -
57bb085c by Rodrigo Mesquita at 2023-06-26T14:51:02+01:00
Support more targets and dont use llvmtarget
- - - - -
064187bf by Rodrigo Mesquita at 2023-06-26T14:51:02+01:00
allow duplos in place of triples
- - - - -
8000f790 by Rodrigo Mesquita at 2023-06-26T14:51:02+01:00
Split GHC.Platform.ArchOS from ghc-boot into ghc-platform
- - - - -
3e17c729 by Rodrigo Mesquita at 2023-06-26T14:51:02+01:00
Use ghc-platform instead of ghc-boot
del async dep
- - - - -
30 changed files:
- compiler/GHC/Driver/Backend.hs
- compiler/GHC/Driver/DynFlags.hs
- compiler/GHC/Driver/Main.hs
- compiler/GHC/Driver/Pipeline/Execute.hs
- compiler/GHC/Linker/ExtraObj.hs
- compiler/GHC/Linker/Static.hs
- compiler/GHC/Settings.hs
- compiler/GHC/Settings/IO.hs
- compiler/GHC/SysTools.hs
- compiler/GHC/SysTools/Info.hs
- compiler/GHC/SysTools/Tasks.hs
- configure.ac
- + default.target.in
- distrib/configure.ac.in
- ghc/Main.hs
- 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/Hadrian/Haskell/Hash.hs
- hadrian/src/Hadrian/Oracles/TextFile.hs
- hadrian/src/Oracles/Flag.hs
- hadrian/src/Oracles/Setting.hs
- hadrian/src/Packages.hs
- hadrian/src/Rules/BinaryDist.hs
- hadrian/src/Rules/Generate.hs
The diff was not included because it is too large.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/db1e17eaf8b7f0b61d5dfa65012a05ea4e0ccc63...3e17c7293eb8f99bc592819bdea82a6a18357e31
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/db1e17eaf8b7f0b61d5dfa65012a05ea4e0ccc63...3e17c7293eb8f99bc592819bdea82a6a18357e31
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/20230626/df1c4f3a/attachment-0001.html>
More information about the ghc-commits
mailing list