Sven Tennie pushed to branch wip/romes/hadrian-cross-stage2-rebase_SVEN_FINAL at Glasgow Haskell Compiler / GHC Commits: b788c97c by Sven Tennie at 2026-01-18T17:52:31+01:00 Windows needs NM_STAGE0 as well The stage0 always needs nm. - - - - - e88a442d by Sven Tennie at 2026-01-18T17:52:31+01:00 T17912 sometimes works for windows-validate This seems to be timing related. However, just simply increasing the timeout (sleep) statement of this test didn't help. Maybe, it has been flaky on CI before. - - - - - 408de4a2 by Sven Tennie at 2026-01-18T17:52:31+01:00 Fix rebase: settings-use-distro-mingw is now staged - - - - - 3b6f72a7 by Sven Tennie at 2026-01-18T18:19:29+01:00 TextFile should contain no logic It's very confusing to query for one file and then get another... - - - - - 5 changed files: - hadrian/src/Builder.hs - hadrian/src/Hadrian/Oracles/TextFile.hs - hadrian/src/Oracles/Setting.hs - libraries/base/tests/IO/all.T - m4/fp_find_nm.m4 Changes: ===================================== hadrian/src/Builder.hs ===================================== @@ -228,10 +228,10 @@ instance H.Builder Builder where -- changes (#18001). _bootGhcVersion <- setting GhcVersion pure [] - Ghc _ _ -> do + Ghc _ stage -> do root <- buildRoot unlitPath <- builderPath Unlit - distro_mingw <- lookupSystemConfig "settings-use-distro-mingw" + distro_mingw <- lookupStageBuildConfig "settings-use-distro-mingw" stage return $ [ unlitPath ] ++ [ root -/- mingwStamp | windowsHost, distro_mingw == "NO" ] ===================================== hadrian/src/Hadrian/Oracles/TextFile.hs ===================================== @@ -125,18 +125,7 @@ getBuildTarget = getTargetConfig buildTargetFile -- | Get the host target configuration through 'getTargetConfig' getHostTarget :: Action Toolchain.Target -getHostTarget = do - -- MP: If we are not cross compiling then we should use the target file in order to - -- build things for the host, in particular we want to use the configured values for the - -- target for building the RTS (ie are we using Libffi for adjustors, and the wordsize) - -- TODO: Use "flag CrossCompiling" - ht <- getTargetConfig hostTargetFile - tt <- getTargetConfig targetTargetFile - if (Toolchain.targetPlatformTriple ht) == (Toolchain.targetPlatformTriple tt) - then return tt - else return ht - -- where - -- msg = "The host's target configuration file " ++ quote hostTargetFile ++ " does not exist! ghc-toolchain might have failed to generate it." +getHostTarget = getTargetConfig hostTargetFile -- | Get the target target configuration through 'getTargetConfig' getTargetTarget :: Action Toolchain.Target ===================================== hadrian/src/Oracles/Setting.hs ===================================== @@ -236,7 +236,17 @@ libsuf st way -- For example, we want to build RTS with stage1 for the host target as we -- produce a host executable with stage1 (which cross-compiles to stage2). targetStage :: Stage -> Action Target -targetStage stage | isHostStage stage = getHostTarget +targetStage Stage0 {} = getHostTarget +targetStage stage | isHostStage stage = do + -- MP: If we are not cross compiling then we should use the target file in order to + -- build things for the host, in particular we want to use the configured values for the + -- target for building the RTS (ie are we using Libffi for adjustors, and the wordsize) + -- TODO: Use "flag CrossCompiling" + ht <- getHostTarget + tt <- getTargetTarget + if targetPlatformTriple ht == targetPlatformTriple tt + then return tt + else return ht targetStage _ = getTargetTarget isHostStage :: Stage -> Bool ===================================== libraries/base/tests/IO/all.T ===================================== @@ -182,7 +182,7 @@ test('T17414', compile_and_run, ['']) test('T17510', expect_broken(17510), compile_and_run, ['']) test('bytestringread001', extra_run_opts('test.data'), compile_and_run, ['']) -test('T17912', [only_ways(['threaded1']), when(opsys('mingw32'),expect_broken(1))], compile_and_run, ['']) +test('T17912', [only_ways(['threaded1']), when(opsys('mingw32'),fragile(1))], compile_and_run, ['']) test('T18832', only_ways(['threaded1']), compile_and_run, ['']) test('mkdirExists', [exit_code(1), when(opsys('mingw32'), ignore_stderr)], compile_and_run, ['']) ===================================== m4/fp_find_nm.m4 ===================================== @@ -12,6 +12,7 @@ AC_DEFUN([FP_FIND_NM], if test "$HostOS" = "mingw32" then NmCmd=$(cygpath -m "$NM") + NM_STAGE0=$NmCmd else NmCmd="$NM" fi View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/565e3e7c82a265704335dd6ac355d6c... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/565e3e7c82a265704335dd6ac355d6c... You're receiving this email because of your account on gitlab.haskell.org.