From 82258b3e06db6c9f1b494f8d957ed036c705f8ed Mon Sep 17 00:00:00 2001 From: Felipe Garay Date: Tue, 30 Dec 2025 17:33:41 -0800 Subject: [PATCH 1/2] Set current design as associated data for Tcl commands This is a fix for a crash that happens when calling initialize_floorplan from python. In a normal OpenROAD run, we associate the design with Tcl_SetAssocData in src/Main.cc but this function is not called if OpenROAD is being used as a library. Signed-off-by: Felipe Garay --- src/Design.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Design.cc b/src/Design.cc index d6ae89d136a..c9521148ed0 100644 --- a/src/Design.cc +++ b/src/Design.cc @@ -136,6 +136,7 @@ std::string Design::evalTclString(const std::string& cmd) ord::OpenRoad::setOpenRoad(openroad, /* reinit_ok */ true); Tcl_Interp* tcl_interp = openroad->tclInterp(); sta::Sta::setSta(openroad->getSta()); + Tcl_SetAssocData(tcl_interp, "design", nullptr, this); Tcl_Eval(tcl_interp, cmd.c_str()); return std::string(Tcl_GetStringResult(tcl_interp)); } From 5da94d615f031d71bc83b0e5e6f582bec3bba685 Mon Sep 17 00:00:00 2001 From: Felipe Garay Date: Tue, 30 Dec 2025 17:48:33 -0800 Subject: [PATCH 2/2] clang-tidy fix for Tcl_SetAssocData Signed-off-by: Felipe Garay --- src/Design.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Design.cc b/src/Design.cc index c9521148ed0..4670fb9a56a 100644 --- a/src/Design.cc +++ b/src/Design.cc @@ -20,6 +20,7 @@ #include "ord/OpenRoad.hh" #include "ord/Tech.h" #include "tcl.h" +#include "tclDecls.h" #include "utl/Logger.h" namespace ord {