Thanks for the reply. It is the glibc. I solved by compiling like this:
alphaev67-unknown-linux-gnu/bin/alphaev67-unknown-linux-gnu-gcc hello.c /mnt/lib/libpthread.so /mnt/lib/libc.so /mnt/lib/ld-linux.so I mount the disk img at /mnt. Now I want to solve another problem. I am using FS mode to simulate a multi thread program. I want to stop at a point A during the execution, and collect the statistic data like number of cycles, number of instructions, cache misses. Then I continue to point B, and stop, and collect data again. In a word, I want to collect data separately for different parts of program. To be more specific, the program has several threads, each thread executes the same code, so every has a point A and B. I need to get the statistic data for each thread in each part. I can get the instruction count from the start of program to a point by instrumentation, and simulate that many instructions. But how can I separate the data. And the instruction count I get is about the application, without OS; does m5 count application's instructions or both app and OS? And does dynamic linked library has any effect on the instruction count? What about in SE mode? Can I do the same thing? On Tue, 26 Jan 2010 11:25:12 -0600, Philip Jagielski wrote: Hi, I am working on the same problem. I haven't completely solved it yet but something to think about: you are compiling on 2.6 but what kernel are you booting in M5? It may be that you're statically linking with the wrong versions of glibc or something which causes a segfault. -Philip Jagielski On Tue, Jan 26, 2010 at 9:29 AM, wrote: I use m5-stable-94c016415053, cross compiler is alphaev67-unknown-linux-gnu, gcc version 4.3.2 (crosstool-NG-1.3.3) System file is m5_system_2.0b3. The problem is when I run ALPHA_FS, I can only run the pre installed benchmark on the disk image. I try to compile a simple hello world program and mount the image, copy it in. When I run it, I get a segmentation fault. My host machine is openSUSE 11, with kernel 2.6.25.16, gcc version 4.3.2 Is there anything in cross compling? Now I just type: alphaev67-unknown-linux-gnu/bin/alphaev67-unknown-linux-gnu-gcc -static hello.c _______________________________________________ m5-users mailing list [email protected] [2] http://m5sim.org/cgi-bin/mailman/listinfo/m5-users [3] Links: ------ [1] mailto:[email protected] [2] mailto:[email protected] [3] http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
_______________________________________________ m5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
