From 860b49dd80e6f20baef5840dbd43ade365e6f54c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Povi=C5=A1er?= Date: Mon, 20 Jan 2025 12:45:53 +0100 Subject: [PATCH 1/3] Fix UB in `&mfs -r` print --- src/aig/gia/giaMfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/aig/gia/giaMfs.c b/src/aig/gia/giaMfs.c index c21c05cf5..6ad6b0039 100644 --- a/src/aig/gia/giaMfs.c +++ b/src/aig/gia/giaMfs.c @@ -562,7 +562,7 @@ Gia_Man_t * Gia_ManPerformMfs( Gia_Man_t * p, Sfm_Par_t * pPars ) { Sfm_Ntk_t * pNtk; Gia_Man_t * pNew; - int nFaninMax, nNodes; + int nFaninMax, nNodes = 0; assert( Gia_ManRegNum(p) == 0 ); assert( p->vMapping != NULL ); if ( p->pManTime != NULL && p->pAigExtra == NULL ) From 11732d3082bcabf782fbb3eb6dff338a2bac23f3 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Wed, 10 Dec 2025 11:03:11 +0100 Subject: [PATCH 2/3] Fix WASI build --- src/misc/util/utilNet.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/misc/util/utilNet.c b/src/misc/util/utilNet.c index e51a02531..db21c8c3b 100755 --- a/src/misc/util/utilNet.c +++ b/src/misc/util/utilNet.c @@ -1103,7 +1103,11 @@ tn_vi * Tn_SolveSat( const char * pFileNameIn, const char * pFileNameOut, int Se sprintf( pCommand, "%s --seed=%d %s %s > %s", pKissat, Seed, fVerboseSolver ? "": "-q", pFileNameIn, pFileNameOut ); //if ( fVerbose ) // printf( "Running command line: %s\n", pCommand ); +#if defined(__wasm) + if ( 1 ) +#else if ( system( pCommand ) == -1 ) +#endif { printf( "Command \"%s\" did not succeed.\n", pCommand ); return 0; From 35d19a9f33b93cd3578d03b1e17ce59d914201d6 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Mon, 22 Dec 2025 12:31:08 +0100 Subject: [PATCH 3/3] WASI build fix for solver command --- src/base/cmd/cmd.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/base/cmd/cmd.c b/src/base/cmd/cmd.c index a343c6789..fff4fa9f6 100644 --- a/src/base/cmd/cmd.c +++ b/src/base/cmd/cmd.c @@ -2844,6 +2844,10 @@ int CmdCommandSolver( Abc_Frame_t * pAbc, int argc, char **argv ) goto usage; } +#if defined(__wasm) + fprintf( pAbc->Err, "Unsupported command.\n" ); + return 1; +#else // Check if solver binary exists in current directory or PATH char * pSolverName; if ( (pFile = fopen( "./solver", "r" )) != NULL ) @@ -2913,7 +2917,7 @@ int CmdCommandSolver( Abc_Frame_t * pAbc, int argc, char **argv ) // Clean up the temporary file unlink( TempFileName ); - +#endif return 0; usage: