From edb84f37761262bd1c026a1addc136bbbe72695e Mon Sep 17 00:00:00 2001 From: Christian Hecken <104357222+Christian-Hecken@users.noreply.github.com> Date: Mon, 17 Nov 2025 13:29:45 +0100 Subject: [PATCH] Tests: Add --gdbsim to iverilog with use_libvpi (#6701) Co-authored-by: Christian Hecken --- test_regress/driver.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/test_regress/driver.py b/test_regress/driver.py index c37e54cd2..d43f4830c 100755 --- a/test_regress/driver.py +++ b/test_regress/driver.py @@ -1390,6 +1390,7 @@ class VlTest: self.oprint("Compile vpi") cmd = [ os.environ['CXX'], *param['pli_flags'], "-D" + tool_define, "-DIS_VPI", + ("-ggdb" if Args.gdbsim else ""), VtOs.getenv_def('CFLAGS', ''), self.pli_filename ] self.run(logfile=self.obj_dir + "/pli_compile.log", fails=param['fails'], cmd=cmd) @@ -1475,15 +1476,23 @@ class VlTest: logfile=param.get('logfile', self.obj_dir + "/ghdl_sim.log"), tee=param['tee']) elif param['iv']: + debugger = "" + debugger_exec_cmd_start = "" + debugger_exec_cmd_end = "" + if Args.gdbsim: + debugger = VtOs.getenv_def('VERILATOR_GDB', "gdb") + " " + debugger_exec_cmd_start = " -ex 'run " + debugger_exec_cmd_end = "'" cmd = [ - run_env + 'vvp', ' '.join(param['iv_run_flags']), ' '.join(param['all_run_flags']) + run_env + debugger + 'vvp', debugger_exec_cmd_start, + ' '.join(param['iv_run_flags']), ' '.join(param['all_run_flags']) ] if param['use_libvpi']: # Don't enter command line on $stop cmd += ["-n"] # include vpi cmd += ["-m", self.obj_dir + "/libvpi.so"] - cmd += [self.obj_dir + "/simiv"] + cmd += [self.obj_dir + "/simiv", debugger_exec_cmd_end] self.run(cmd=cmd, check_finished=param['check_finished'], entering=param['entering'],