From 094ab8c017894c82550eb7ff3dd7fc365faaff7a Mon Sep 17 00:00:00 2001 From: "Emil J. Tywoniak" Date: Fri, 3 Jan 2025 17:51:38 +0100 Subject: [PATCH] dfflibmap: allow gzipped liberty files --- passes/techmap/dfflibmap.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/passes/techmap/dfflibmap.cc b/passes/techmap/dfflibmap.cc index b475cdd2d..fedcba1e1 100644 --- a/passes/techmap/dfflibmap.cc +++ b/passes/techmap/dfflibmap.cc @@ -19,6 +19,7 @@ #include "kernel/yosys.h" #include "kernel/sigtools.h" +#include "kernel/gzip.h" #include "libparse.h" #include #include @@ -632,11 +633,12 @@ struct DfflibmapPass : public Pass { for (auto path : liberty_files) { std::ifstream f; f.open(path.c_str()); - if (f.fail()) + std::istream* ff = uncompressed(&f, path); + if (ff->fail()) log_cmd_error("Can't open liberty file `%s': %s\n", path.c_str(), strerror(errno)); - LibertyParser p(f); + LibertyParser p(*ff); merged.merge(p); - f.close(); + delete ff; } find_cell(merged.cells, ID($_DFF_N_), false, false, false, false, false, false, dont_use_cells);