From 37e61b993a3bea45bff5dd6f2c5b6239fdff7694 Mon Sep 17 00:00:00 2001 From: "Emil J. Tywoniak" Date: Thu, 17 Oct 2024 22:21:50 +0200 Subject: [PATCH] yosys: fix pyosys initialization segfault --- kernel/yosys.cc | 13 +++++++------ setup.py | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/kernel/yosys.cc b/kernel/yosys.cc index 374b07d06..774c7f37d 100644 --- a/kernel/yosys.cc +++ b/kernel/yosys.cc @@ -547,12 +547,6 @@ void yosys_setup() if(already_setup) return; already_setup = true; - init_share_dirname(); - init_abc_executable_name(); - -#define X(_id) RTLIL::ID::_id = "\\" # _id; -#include "kernel/constids.inc" -#undef X #ifdef WITH_PYTHON // With Python 3.12, calling PyImport_AppendInittab on an already @@ -566,6 +560,13 @@ void yosys_setup() } #endif + init_share_dirname(); + init_abc_executable_name(); + +#define X(_id) RTLIL::ID::_id = "\\" # _id; +#include "kernel/constids.inc" +#undef X + Pass::init_register(); yosys_design = new RTLIL::Design; yosys_celltypes.setup(); diff --git a/setup.py b/setup.py index b3a6a9280..b39b579e0 100644 --- a/setup.py +++ b/setup.py @@ -76,7 +76,7 @@ class libyosys_so_ext(Extension): # yosys-abc yosys_abc_target = os.path.join(pyosys_path, "yosys-abc") shutil.copy("yosys-abc", yosys_abc_target) - bext.spawn(["strip", "-S", "yosys-abc"]) + bext.spawn(["strip", "-S", yosys_abc_target]) # share directory share_target = os.path.join(pyosys_path, "share")