
Ben Gamari pushed to branch wip/T26312 at Glasgow Haskell Compiler / GHC Commits: 1b98c26b by Ben Gamari at 2025-08-19T11:26:11-04:00 rts/IPE: Fix compilation when zstd is enabled - - - - - d894fa3e by Ben Gamari at 2025-08-19T11:26:11-04:00 hadrian: Pass lib & include directories to ghc `Setup configure` - - - - - 2 changed files: - hadrian/src/Settings/Packages.hs - rts/IPE.c Changes: ===================================== hadrian/src/Settings/Packages.hs ===================================== @@ -36,6 +36,8 @@ packageArgs = do cursesLibraryDir <- getSetting CursesLibDir ffiIncludeDir <- getSetting FfiIncludeDir ffiLibraryDir <- getSetting FfiLibDir + libzstdIncludeDir <- getSetting LibZstdIncludeDir + libzstdLibraryDir <- getSetting LibZstdLibDir stageVersion <- readVersion <$> (expr $ ghcVersionStage stage) mconcat @@ -74,7 +76,9 @@ packageArgs = do , builder (Cabal Setup) ? mconcat [ arg "--disable-library-for-ghci" , anyTargetOs [OSOpenBSD] ? arg "--ld-options=-E" - , compilerStageOption ghcProfiled ? arg "--ghc-pkg-option=--force" ] + , compilerStageOption ghcProfiled ? arg "--ghc-pkg-option=--force" + , cabalExtraDirs libzstdIncludeDir libzstdLibraryDir + ] , builder (Cabal Flags) ? mconcat -- For the ghc library, internal-interpreter only makes ===================================== rts/IPE.c ===================================== @@ -314,7 +314,7 @@ void decompressIPEBufferListNodeIfCompressed(IpeBufferListNode *node) { "decompression library (zstd) is not available."); #else size_t compressed_sz = ZSTD_findFrameCompressedSize( - node->string_table, + node->string_table_block->string_table, node->string_table_size ); char *decompressed_strings = stgMallocBytes( @@ -324,10 +324,10 @@ void decompressIPEBufferListNodeIfCompressed(IpeBufferListNode *node) { ZSTD_decompress( decompressed_strings, node->string_table_size, - node->string_table, + node->string_table_block->string_table, compressed_sz ); - node->string_table = (const char *) decompressed_strings; + node->string_table_block->string_table = (const char *) decompressed_strings; // Decompress the IPE data compressed_sz = ZSTD_findFrameCompressedSize( View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/67d38774f1f5779fb0051ba5f6af587... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/67d38774f1f5779fb0051ba5f6af587... You're receiving this email because of your account on gitlab.haskell.org.