Unable to link PLI with system verilog based code

In reply to kiru2006:

Change

{user**task**, 0, sup_drv_checktf, 0, sup_drve_calltf, 0, "$sup_drv"},

to

{user**function**, 0, sup_drv_checktf, sup_drv_sizetf, sup_drve_calltf, 0, "$sup_drv"},

You will need to add sup_drv_sizetf which returns the size of the return value.