Linker error!

Linker error!


Has anyone seen linker errors while compiling with STM compiler of the following form:

ld: .libs/ undefined versioned symbol name  get_commit_flag._@TXN

I am seeing these errors only for functions which are annotated as tm_callable. The strange thing is that I see these errors for certain annotated functions and not all of them.

Any help would be appreciated.


8 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.
Bild des Benutzers Ravi Narayanaswamy (Intel)

I assume the functions marked as tm_callable were recompiled using the STM compiler. Can you give me a test case and the options used tocompile it. Providinga compilable file in which "get_commit_flag" routine may be sufficient.

Yes I am compiliing all the files with STM compiler.
get_commit_flag() function is defined in a file different than it's being used in.

Command used to compile the file having its definition:
icc -I. -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -D_REENTRANT -I/usr/X11R6/include -I../intl -I.. -g -O0 -Qtm_enabled -D_GNU_SOURCE -D_XACT_MEMORY "-DTM_CALLABLE=__attribute__ ((tm_callable))" "-DTM_WAIVER=__attribute__ ((tm_waiver))" -Wall -Wpointer-arith -MT transaction.lo -MD -MP -MF .deps/transaction.Tpo -c transaction.c -fPIC -DPIC -o .libs/transaction.o

but while linking i get the following error

icc -shared .libs/configfile.o .libs/xmmsctrl.o .libs/dirbrowser.o .libs/util.o .libs/formatter.o .libs/titlestring.o .libs/xentry.o .libs/xconvert.o .libs/charset.o .libs/transaction.o -L/usr/lib -L/usr/X11R6/lib /usr/lib/ /usr/lib/ /usr/lib/ /usr/lib/ /usr/lib/ -lpthread -ldl -lXi -lXext -lX11 -lm -Wl,-soname -Wl, -o .libs/
ld: .libs/ undefined versioned symbol name get_begin_flag._@nonTXN
ld: failed to set dynamic section sizes: Bad value

Bild des Benutzers Ravi Narayanaswamy (Intel)

We fixed a bug with the same symptoms in the new release. Let us know if this still exists in which case we will need a test case.

Is the new release out already? If not when is it expected?
I think the problem was having STM annotations in a dynamic library! Need to confirm this though.


I tried with the new release and it seems to be fine now.

Bild des Benutzers Ravi Narayanaswamy (Intel)

Thanks for confirming that issue has been resolved

Note that, with the new release, tm_waiver is re-named as tm_pure w/ defined semantics.

Melden Sie sich an, um einen Kommentar zu hinterlassen.