[Git][ghc/ghc][wip/toolchain-selection] 34 commits: Move via-C flags into GHC

Rodrigo Mesquita (@alt-romes) gitlab at gitlab.haskell.org
Tue May 23 19:17:56 UTC 2023



Rodrigo Mesquita pushed to branch wip/toolchain-selection at Glasgow Haskell Compiler / GHC


Commits:
8ff58c59 by Ben Gamari at 2023-05-23T20:15:53+01:00
Move via-C flags into GHC

These were previously hardcoded in configure (with no option for
overriding them) and simply passed onto ghc through the settings file.

Since configure already guarantees gcc supports those flags, we simply
move them into GHC.

- - - - -
90ce374e by Ben Gamari at 2023-05-23T20:15:53+01:00
Rip out runtime linker/compiler checks

- - - - -
9244615f by Ben Gamari at 2023-05-23T20:15:53+01:00
configure: Rip out toolchain selection logic

- - - - -
9f717f1b by Ben Gamari at 2023-05-23T20:15:53+01:00
Fixes

- - - - -
5aad1436 by Rodrigo Mesquita at 2023-05-23T20:15:53+01:00
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.

- - - - -
e644541b by Rodrigo Mesquita at 2023-05-23T20:15:53+01:00
Re-introduce ld-override option

- - - - -
44eee319 by Rodrigo Mesquita at 2023-05-23T20:17:17+01:00
ROMES:WIP

- - - - -
d6f9e6df by Rodrigo Mesquita at 2023-05-23T20:17:18+01:00
ghc-toolchain library and usage in hadrian flags

- - - - -
01843f1d by Rodrigo Mesquita at 2023-05-23T20:17:44+01:00
ROMES: WIP

- - - - -
89ad6be3 by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
Re-introduce flags in hadrian config

- - - - -
ce54a8ba by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
ROMES WIP

- - - - -
e2d5904d by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
ghc-toolchain: UseLibFFI, LdCompactUnwind, LdFileList

A more complete ghc-toolchain.
Added configuration of:

* Use libffi for adjustors
* Supports compact unwind
* Supports filelist

- - - - -
f04d7a02 by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
Handle passing CPP cmd and flags from configure to ghc-toolchain

- - - - -
76be5f8f by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
Rip more of configure that is no longer being used

- - - - -
1430e79c by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
Remove configure checks of GNUnoexecStack and ident directive

And fix bug in ghc-toolchain respective code

- - - - -
e49ea8d7 by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
Rip out more from hadrians system.config.in

- - - - -
0b584353 by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
Configure CLink supports response files

- - - - -
db527959 by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
Read deleted keys from host and target's target

- - - - -
e232320a by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
ROMES: WIP 3

- - - - -
632a4d42 by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
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.

- - - - -
c3b265bb by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
Fix [host|target]-[os|arch] vs [host|target]-haskell-[os|arch]

- - - - -
b4fa58e8 by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
Handle unspecified vs specified flags and commands better

- - - - -
4a17be94 by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
ROMES: WIP 4

- - - - -
208e074a by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
Configure Cpp and HsCpp separately

- - - - -
72e581e3 by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
Fixes for compilation

- - - - -
ab5652ac by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
Link is GNU linkerg

- - - - -
ee608654 by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
ROMES: WIP 5

- - - - -
f8a6e24a by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
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.

- - - - -
6cd2f434 by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
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...

- - - - -
51b3c775 by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
helper AC function for enable/disable

- - - - -
bbdef5cb by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
Delete unused imports of SysTools.Info

- - - - -
93e99dd3 by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
Drop PROG_CPP in distrib/autoconf too

- - - - -
4e34dda7 by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
Delete trailing whitespace

- - - - -
b58ffb71 by Rodrigo Mesquita at 2023-05-23T20:17:45+01:00
Delete trailing whitespace

- - - - -


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/IO.hs
- compiler/GHC/SysTools.hs
- compiler/GHC/SysTools/Info.hs
- compiler/GHC/SysTools/Tasks.hs
- configure.ac
- distrib/configure.ac.in
- hadrian/bindist/Makefile
- 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/Rules/BinaryDist.hs
- hadrian/src/Rules/Generate.hs
- hadrian/src/Rules/Gmp.hs
- hadrian/src/Rules/Libffi.hs
- hadrian/src/Rules/Test.hs
- hadrian/src/Settings/Builders/Cabal.hs
- hadrian/src/Settings/Builders/Cc.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/ac365d6f7c997dd4998dc4313231706750277efd...b58ffb71bf7fe28e5e2484f0cc7ea1e6036b522b

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/ac365d6f7c997dd4998dc4313231706750277efd...b58ffb71bf7fe28e5e2484f0cc7ea1e6036b522b
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/20230523/fdbd70c5/attachment-0001.html>


More information about the ghc-commits mailing list