The functions in opal/system/cache.[Ch] don't compile cleanly with gcc
4.X. So for the 2.0 release I moved the definitions that wasn't working
(when compiling with our gcc 4.x) from the cache.C file to cache.h file.
It looks like you need to do the same for OracleAccess() (and perhaps
additional functions as well). If you can solve this problem without
doing this, please post your solution to this mailing list.
Regarding the #if 0 in simdist12.C, these function declarations
are a Simics 2.0 specific problem. For Gems 2.0 I removed the 2.0.X option for
SIMICS_VERSION in Makefile.simics_version, since this flag is no longer
used in any of our other code. And by default this flag is set to 2.2.X,
so I ended up just special-casing this Simics 2.0 specific problem in
simdist12.C.
Luke
On Sun, 25 Nov 2007, wangyong wrote:
Hello everyone,
1.When I compile the module opal, I meet some conflict errors on the functions mm_malloc,mm_zalloc,mm_strdup,mm_realloc. After some searching , I find that at the line of the source file opa/system/simdist12.c is "#if 0" which means that this aera will not be compiled, and only compiling for simics 2.0 by default. So I want to konw why not this line is written as "#if defined SIMICS30 || defined SIMICS22X", or to say that this version gems-2.0 can only support simics 2.0?
2.When I change the line to "#if 1", the compling is OK, but when I load the module opal, I meet an error :
Error loading module 'opal': Failed to load module 'opal' ('/root/gems-2.0/simcs_3_workspace/x86-linux/lib/opal.so'): "undefined symbol: _ZN22generic_cache_templateI21generic_cache_block_tE12OracleAccessEy"
Can you please suggest something?
Thanks!
wangyong
2007-11-25
|