diff options
author | Randy Eckenrode <randy@largeandhighquality.com> | 2024-05-09 17:32:51 -0400 |
---|---|---|
committer | Randy Eckenrode <randy@largeandhighquality.com> | 2024-05-09 17:35:07 -0400 |
commit | dbe34b193d331c4324be70c21c99d464834256fc (patch) | |
tree | 1215e34621b3f0b131ce50ca97903f3465d07ae4 /pkgs/development/compilers | |
parent | 42a5d29b6f94f3f12ca13295cc10ce91d0a21c35 (diff) |
gnat{11,12,13}: fix build on x86_64-darwin
- gnat11: make sure to use the gnat-bootstrap gcc in the stdenv; and - Drop the dual assemblers. x86_64-darwin uses the clang assembler by default, so it no longer needs the workaround for the GNU assembler.
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r-- | pkgs/development/compilers/gcc/common/pre-configure.nix | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/pkgs/development/compilers/gcc/common/pre-configure.nix b/pkgs/development/compilers/gcc/common/pre-configure.nix index 77179d7397687..75f59163bdac3 100644 --- a/pkgs/development/compilers/gcc/common/pre-configure.nix +++ b/pkgs/development/compilers/gcc/common/pre-configure.nix @@ -38,31 +38,6 @@ in lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) '' export GFORTRAN_FOR_TARGET=${pkgsBuildTarget.gfortran}/bin/${stdenv.targetPlatform.config}-gfortran '' -# On x86_64-darwin, the gnat-bootstrap bootstrap compiler that we need to build a -# native GCC with Ada support emits assembly that is accepted by the Clang -# integrated assembler, but not by the GNU assembler in cctools-port that Nix -# usually in the x86_64-darwin stdenv. In particular, x86_64-darwin gnat-bootstrap -# emits MOVQ as the mnemonic for quadword interunit moves, such as between XMM -# and general registers (e.g "movq %xmm0, %rbp"); the cctools-port assembler, -# however, only recognises MOVD for such moves. -# -# Therefore, for native x86_64-darwin builds that support Ada, we have to use -# the Clang integrated assembler to build (at least stage 1 of) GCC, but have to -# target GCC at the cctools-port GNU assembler. In the wrapped x86_64-darwin -# gnat-bootstrap, the former is provided as `as`, while the latter is provided as -# `gas`. -# -+ lib.optionalString ( - langAda - && buildPlatform == hostPlatform - && hostPlatform == targetPlatform - && targetPlatform.isx86_64 - && targetPlatform.isDarwin - ) '' - export AS_FOR_BUILD=${gnat-bootstrap}/bin/as - export AS_FOR_TARGET=${gnat-bootstrap}/bin/gas -'' - # NOTE 2020/3/18: This environment variable prevents configure scripts from # detecting the presence of aligned_alloc on Darwin. There are many facts that # collectively make this fix necessary: |