[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gEDA-user: Using iVerilog with fileio



I have been trying to use Chris Spears fileio (http://chris.spear.net/pli/fileio.htm) with iverilog, I currently have the fileio 
working with VCS, and am trying to set up iverilog in the same environment. When I try to compile the fileio into a iverilog 
module, using iverilog-vpi I get:

	Compiling fileio.c...
	Making fileio.vpi from  fileio.o...
	Text relocation remains                         referenced
	    against symbol                  offset      in file
	vpi_get_value                      0xac        /usr/local/lib/libveriuser.a(getp.o)
	vpi_get_value                      0x5c        /usr/local/lib/libveriuser.a(a_fetch_tfarg.o)
	vpi_get_value                      0xd4        /usr/local/lib/libveriuser.a(a_fetch_tfarg.o)
	acc_fetch_tfarg_str             0x4         /usr/local/lib/libveriuser.a(getcstringp.o)
	acc_fetch_tfarg_str             0x0         /usr/local/lib/libveriuser.a(getcstringp.o)
	vpi_scan                            0xac        /usr/local/lib/libveriuser.a(a_fetch_tfarg.o)
	vpi_scan                            0x2c        /usr/local/lib/libveriuser.a(a_handle_tfarg.o)
	vpi_scan                            0x5c        /usr/local/lib/libveriuser.a(putp.o)
	vpi_scan                            0x34        /usr/local/lib/libveriuser.a(a_fetch_tfarg.o)
	vpi_scan                            0x3c        /usr/local/lib/libveriuser.a(getp.o)
	vpi_scan                            0x30        /usr/local/lib/libveriuser.a(nump.o)
	vpi_handle                         0x8         /usr/local/lib/libveriuser.a(a_fetch_tfarg.o)
	vpi_handle                         0x80        /usr/local/lib/libveriuser.a(a_fetch_tfarg.o)
	vpi_handle                         0x14        /usr/local/lib/libveriuser.a(a_handle_tfarg.o)
	vpi_handle                         0x14        /usr/local/lib/libveriuser.a(getp.o)
	vpi_handle                         0x14        /usr/local/lib/libveriuser.a(putp.o)
	vpi_handle                         0x8         /usr/local/lib/libveriuser.a(nump.o)
	__assert                            0xc4        /usr/local/lib/libveriuser.a(putp.o)
	__assert                            0xe4        /usr/local/lib/libveriuser.a(putp.o)
	__assert                            0x84        /usr/local/lib/libveriuser.a(a_set_value.o)
	__assert                            0x15c       /usr/local/lib/libveriuser.a(a_set_value.o)
	__assert                            0x1ac       /usr/local/lib/libveriuser.a(a_set_value.o)
	__assert                            0x1c8       /usr/local/lib/libveriuser.a(a_set_value.o)
	__assert                            0x1e4       /usr/local/lib/libveriuser.a(a_set_value.o)
	__assert                            0x9c        /usr/local/lib/libveriuser.a(putp.o)
	__assert                            0x200       /usr/local/lib/libveriuser.a(a_set_value.o)
	__assert                            0xbc        /usr/local/lib/libveriuser.a(getp.o)
	__assert                            0xdc        /usr/local/lib/libveriuser.a(getp.o)
	vpi_get                              0x34        /usr/local/lib/libveriuser.a(putp.o)
	vpi_get                              0x70        /usr/local/lib/libveriuser.a(getp.o)
	vpi_get                              0x8c        /usr/local/lib/libveriuser.a(getp.o)
	vpi_iterate                         0x14        /usr/local/lib/libveriuser.a(a_fetch_tfarg.o)
	vpi_iterate                         0x8c        /usr/local/lib/libveriuser.a(a_fetch_tfarg.o)
	vpi_iterate                         0x14        /usr/local/lib/libveriuser.a(nump.o)
	vpi_iterate                         0x24        /usr/local/lib/libveriuser.a(putp.o)
	vpi_iterate                         0x20        /usr/local/lib/libveriuser.a(getp.o)
	vpi_iterate                         0x20        /usr/local/lib/libveriuser.a(a_handle_tfarg.o)
	<unknown>                       0xb4        /usr/local/lib/libveriuser.a(putp.o)
	....... (lots of unknowns)......
	<unknown>                       0x58        /usr/local/lib/libveriuser.a(putp.o)
	vpi_put_value                    0x21c       /usr/local/lib/libveriuser.a(a_set_value.o)
	vpi_put_value                    0x10c       /usr/local/lib/libveriuser.a(putp.o)
	<unknown>                       0x264       /usr/local/lib/libveriuser.a(a_set_value.o)
	ld: fatal: relocations remain against allocatable but non-writable sections
	collect2: ld returned 1 exit status

When I remove the -shared in the LDFLAGS argument for the linker I get:

	Compiling fileio.c...
	Making fileio.vpi from  fileio.o...
	Undefined                       first referenced
	 symbol                             in file
	tf_strgetp                          fileio.o
	tf_spname                           fileio.o
	acc_fetch_size                      fileio.o
	tf_getworkarea                      fileio.o
	tf_nodeinfo                         fileio.o
	tf_getrealp                         fileio.o
	main                                /usr/local/lib/gcc-lib/sparc-sun-solaris2.6/3.0.4/crt1.o
	tf_message                          fileio.o
	tf_typep                            fileio.o
	tf_setworkarea                      fileio.o
	ld: fatal: Symbol referencing errors. No output written to fileio.vpi
	collect2: ld returned 1 exit status

So it appears to be a library issue. Anyone come accross it before or any ideas?

Thanks,

Lee Russell-Morris