sequential libsacprelude used when stdlib is compiled with mt
|
|
Bugzilla Link |
776 |
Created on |
Nov 19, 2010 11:15 |
Resolution |
FIXED |
Resolved on |
Jun 19, 2012 10:36 |
Version |
svn |
OS |
All |
Architecture |
PC |
Extended Description
sac2c: 17200
It appears that when compiling without giving the -mt switch to sac2c but with an mt stdlib the sequential libsacprelude is used. This seems to cause problems as the mt stdlib depends on symbols that can only be found in the mt libsacprelude.
This suggests that mt stdlib can not in all cases be used with seq code? Does this mean that the mt stdlib should start using CROSS compilation support in sac2c?
Here is the error I saw:
sac2c -O3 -check tb -v0 -o exportdata exportdata.sac
/tmp/MASTERR_oGAbb31083/stdlib/modules/unibench/lib/libUnibenchInputMod.so: undefined reference to `SACwf_sacprelude_CL_ST__partitionSlicer__i_S__i_S__i_S__i_S__i_S'
/tmp/MASTERR_oGAbb31083/stdlib/modules/unibench/lib/libUnibenchInputMod.so: undefined reference to `SACwf_sacprelude_CL_MT__partitionSlicer__i_S__i_S__i_S__i_S__i_S'
collect2: ld returned 1 exit status
To reproduce go to sac/testsuite/unibench and run make. Based on the above analysis I think an mt stdlib is required to reproduce this.