Skip to content

Rti field of processes (of type Grt.Processes.Process_Type) is not correctly populated. #2577

Open
@tfuto

Description

@tfuto

Description
--disp-sensitivity returns garbage, as the Rti field of processes (of type Grt.Processes.Process_Type) is not correctly populated. E.g. console shows:

.test(beh).a
  wakeup ???
  driven ???
.test(beh).b
  wakeup ???
  driven ???

even though --dump-rti shows correct RTI information.

If you use the test.vhd provided, and do these actions:

ghdl_mcode -a test.vhd
ghdl_mcode -e test
gdb --args ghdl_mcode -r test --disp-sensitivity --dump-rti
(gdb) b grt-disp_signals.adb:364
(gdb) r

GDB shows:

(gdb) p Action.Proc.Rti
$1 = (base => (system.address) 0x0, block => 0x0)

Later, Action.Proc.Rti is directly written to stdout at grt-disp_signals.adb#L365

procedure Disp_Scalar_Sensitivity (...)
...
  Put (stdout, Grt.Processes.Get_Rti_Context (Action.Proc));
...

Expected behaviour
Correctly displaying sensitivity information.

How to reproduce?

------------------------------------
-- Generate some signal activity.
------------------------------------
library IEEE;
use IEEE.std_logic_1164.all;

entity test is
end entity;

architecture beh of test is
  signal a : std_logic;
  signal b : std_logic;
  signal c : std_logic;
  signal d : std_logic;
  
begin

  P1 : process (a) is
  begin
    b <= not a;
  end process P1;

  P2 : process (b, c) is
  begin
    d <= b or c;
  end process P2;
  
  TB: process 
  begin
    a <= '1';
    c <= '0';
    wait for 10 ns;
    a <= '0';
    wait;
  end process TB;

end architecture beh;
ghdl -a test.vhd
ghdl --elab-run test --disp-sensitivity

Context
Please, provide the following information:

  • OS: Ubuntu 22.04.3 LTS
  • Origin: Built from sources: commit 7b53bcba15ff4a56d31373d7c39085fb099e337a

Additional context

$ build/ghdl_mcode -v
GHDL 4.0.0-dev (tarball) [Dunoon edition]
 Compiled with GNAT Version: 13.2.0
 static elaboration, mcode code generator

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions