I tried building and loading ruby on an Intel nocona core but I get the
error: "undefined symbol: ctrl_exception_start". I've installed
simics3.0.19 and gems.1.3.
I think my specification of CC in Makefile.common is incorrect. I
modified $GEMS/common/Makefile.common as follows:
CC_VERSION=3.4.4
ifeq ($(HOST_TYPE),amd64-linux)
#CC = /s/gcc-3.4.1/bin/g++
CC = /usr/bin/g++
OPT_FLAGS = -m64 -march=nocona -fPIC
# OPT_FLAGS = -m64 -march=opteron -fPIC
LDFLAGS += -ggdb -g3
# LDFLAGS += -ggdb -g3 -Wl,-R/s/gcc-3.4.1/lib64
# MODULE_LDFLAGS += -Wl,-R/s/gcc-3.4.1/lib64
SPECIAL_FLAGS += -DGEMS_64_BIT
else
and I modified $GEMS/ruby/modules/Makefile as
# add -m64 and library paths if needed
CC_VERSION=3.4.4
HOST_TYPE = $(shell $(CALC_HOST))
ifeq ($(HOST_TYPE),x86-linux)
MODULE_LDFLAGS += -m32
# if using a non-native compiler, specify runtime paths to libstdc++
and other system libraries
# MODULE_LDFLAGS += -Wl,-R/s/gcc-$(CC_VERSION)/lib
else
ifeq ($(HOST_TYPE),amd64-linux)
MODULE_LDFLAGS += -m64
#gcc-$(CC_VERSION)/lib64
else
I'm not sure what should replace -R/s/gcc-$(CC_VERSION)/lib. Since I'm
using the native compiler I decided to comment it out. Is this correct?
***
bash-3.00$ ./simics -stall
Checking out a license... done: academic license.
simics> read-configuration ../../../../chkpt/cashew.conf
simics> instruction-fetch-mode instruction-fetch-trace
[cpu0 info] Note that on this cpu, instruction-fetch-trace is
implemented using instruction-cache-access-trace with a suitable cache
line size.
simics> istc-diable
unknown command 'istc-diable'.
simics> istc-disbale
unknown command 'istc-disbale'.
simics> istc-disable
Turning I-STC off and flushing old data
simics> dstc-disable
Turning D-STC off and flushing old data
simics> load-module ruby
Error loading module 'ruby': Failed to load module 'ruby'
('/tmp/ranji/gems/wkspc/x86-linux/lib/ruby.so'): "undefined symbol:
ctrl_exception_start"
simics>
The final few lines of ouput when I built RUBY with the MOSI_SMP_bcast
protocol
***
=== Building module "ruby" ===
ls:
/tmp/ranji/gems/wkspc/modules/../../ruby/x86-linux/generated/MOSI_SMP_bcast/obj/*.o:
No such file or directory
ls:
/tmp/ranji/gems/wkspc/modules/../../ruby/x86-linux/generated/MOSI_SMP_bcast/obj/*.o:
No such file or directory
make[2]: Entering directory
`/tmp/ranji/gems/wkspc/x86-linux/obj/modules/ruby'
module_id.c
DEP module_id.d
DEP ruby.d
make[2]: Leaving directory
`/tmp/ranji/gems/wkspc/x86-linux/obj/modules/ruby'
ls:
/tmp/ranji/gems/wkspc/modules/../../ruby/x86-linux/generated/MOSI_SMP_bcast/obj/*.o:
No such file or directory
ls:
/tmp/ranji/gems/wkspc/modules/../../ruby/x86-linux/generated/MOSI_SMP_bcast/obj/*.o:
No such file or directory
make[2]: Entering directory
`/tmp/ranji/gems/wkspc/x86-linux/obj/modules/ruby'
Using the Simics 3.0 API for ruby module
CC ruby.o
/tmp/ranji/gems/wkspc/modules/ruby/ruby.c:108: warning: 'mm_id' defined
but not used
CC module_id.o
CCLD ruby.so
mod_ruby_commands.py
make[2]: Leaving directory
`/tmp/ranji/gems/wkspc/x86-linux/obj/modules/ruby'
make[1]: Leaving directory `/tmp/ranji/gems/wkspc'
Ruby: Moving simics module
make BUILD_FLAGS=-DSIMICS movemodule
make[1]: Entering directory `/tmp/ranji/gems/ruby'
../scripts/prepare_simics_home.sh ../simics/home/MOSI_SMP_bcast amd64-linux
make[1]: Leaving directory `/tmp/ranji/gems/ruby'
Ruby: my work is done here...
***
Any help will be greatly appreciated.
Ranjith
|