Removing '-march=native' from marss/ptlsim/SConstruct: env.Append(CCFLAGS = '-O3 -march=native') marss/qemu/SConstruct: env.Append(CCFLAGS = '-O3 -march=native')
should do the trick. BTW, I reposted this to the listserv in order to assist future users who run into this issue. Please reply-all next time so that the message remains on the listserv. :-) Tyler > Thanks Tyler. Yes I compiled it on another machine, as the server doesn't > have any compiler instralled on it, but just runtime libraries. Anyway, I > will try to tell the compiler not to use this instruction. Hopefully, it > would work that way. > > Regards, > Hamid. > > -----Original Message----- > From: [email protected] [mailto:[email protected]] > Sent: maandag 16 september 2013 17:28 > To: Hamid Mushtaq - EWI > Cc: '[email protected]' > Subject: RE: [marss86-devel] Unable to run marssx86 on Red Hat > > vxorps is an AVX instruction. You can see from the /proc/cpuinfo that your > KVM CPU does not support AVX: > >> flags : fpu de pse tsc msr pae mce cx8 apic mtrr pge mca cmov >> pat pse36 >> clflush mmx fxsr sse sse2 syscall nx lm unfair_spinlock pni cx16 > > Did you compile MARSS on a machine other than the one you're running on? > If so, this is likely the issue and you can just do `scons -c` and then > execute scons again with your desired build settings and it should work. > > Tyler > >> I get the following by doing layout asm. The 4th instruction is the >> highlighted one. >> >> 0x72b6e7 <_GLOBAL__I_bbcache()+2087> mov $0x1279120,%edx >> >> >> 0x72b6ec <_GLOBAL__I_bbcache()+2092> mov %edi,%ebx >> >> >> 0x72b6ee <_GLOBAL__I_bbcache()+2094> mov $0x4000,%esi >> >> >> >> This is the highlighted instruction >> ------------------------------------------------------------------------------------------------ >> 0x72b6f3 <_GLOBAL__I_bbcache()+2099> vxorps %xmm0,%xmm0,%xmm0 >> >> >> ---------------------------------------------------------------------- >> -------------------------- >> >> 0x72b6f7 <_GLOBAL__I_bbcache()+2103> nopw 0x0(%rax,%rax,1) >> >> >> 0x72b700 <_GLOBAL__I_bbcache()+2112> (bad) >> >> >> 0x72b704 <_GLOBAL__I_bbcache()+2116> retq $0x103 >> >> >> >> And /proc/cpuinfo reveals the following. >> >> fpu_exception : yes >> cpuid level : 4 >> wp : yes >> flags : fpu de pse tsc msr pae mce cx8 apic mtrr pge mca cmov >> pat pse36 >> clflush mmx fxsr sse sse2 syscall nx lm unfair_spinlock pni cx16 >> hypervisor lahf_lm abm sse4a >> bogomips : 5600.04 >> TLB size : 1024 4K pages >> clflush size : 64 >> cache_alignment : 64 >> address sizes : 48 bits physical, 48 bits virtual >> power management: >> >> processor : 1 >> vendor_id : AuthenticAMD >> cpu family : 6 >> model : 13 >> model name : QEMU Virtual CPU version (cpu64-rhel6) >> stepping : 3 >> cpu MHz : 2800.024 >> cache size : 512 KB >> fpu : yes >> fpu_exception : yes >> cpuid level : 4 >> wp : yes >> flags : fpu de pse tsc msr pae mce cx8 apic mtrr pge mca cmov >> pat pse36 >> clflush mmx fxsr sse sse2 syscall nx lm unfair_spinlock pni cx16 >> hypervisor lahf_lm abm sse4a >> bogomips : 5600.04 >> TLB size : 1024 4K pages >> clflush size : 64 >> cache_alignment : 64 >> address sizes : 48 bits physical, 48 bits virtual >> power management: >> >> -----Original Message----- >> From: [email protected] [mailto:[email protected]] >> Sent: maandag 16 september 2013 17:07 >> To: Hamid Mushtaq - EWI >> Cc: [email protected] >> Subject: RE: [marss86-devel] Unable to run marssx86 on Red Hat >> >>> This is what I get when I run it with gdb. >>> >>> Program received signal SIGILL, Illegal instruction. >>> reset () at ptlsim/lib/superstl.h:2635 >>> 2635 foreach (i, setcount) { sets[i] = NULL; } >>> >>> And the processor 's info is the following. It has 8 cores. >>> >>> Architecture: x86_64 >>> CPU op-mode(s): 32-bit, 64-bit >>> Byte Order: Little Endian >>> CPU(s): 2 >>> On-line CPU(s) list: 0,1 >>> Thread(s) per core: 1 >>> Core(s) per socket: 1 >>> Socket(s): 2 >>> NUMA node(s): 1 >>> Vendor ID: AuthenticAMD >>> CPU family: 6 >>> Model: 13 >>> Stepping: 3 >>> CPU MHz: 2800.024 >>> BogoMIPS: 5600.04 >>> Hypervisor vendor: KVM >>> Virtualization type: full >>> L1d cache: 64K >>> L1i cache: 64K >>> L2 cache: 512K >>> NUMA node0 CPU(s): 0,1 >>> >>> Regards, >>> Hamid. >>> >>> -----Original Message----- >>> From: [email protected] [mailto:[email protected]] >>> Sent: maandag 16 september 2013 16:37 >>> To: Hamid Mushtaq - EWI >>> Cc: [email protected] >>> Subject: Re: [marss86-devel] Unable to run marssx86 on Red Hat >>> >>> 1) What processor is the machine running? Can you run MARSS through >>> gdb and tell me the instruction that SIGILL gets raised on? My guess >>> is that it's an SSE instruction and the machine in question doesn't >>> support it... >>> >>> 2) Try using vnc instead of curses. >>> >>> Tyler >>> >>>> Hi, >>>> >>>> I am trying to run marssx86 on Red Hat 4.4.7-3, but whenever I do >>>> so, I get "Illegal Instruction" error. Then I tried to compile it >>>> with >>>> debug=1 option, it does start to run, but says threaded-sim option >>>> not supported. >>>> Moreover if you give -curses as an option, it says "invalid option >>>> -curses". I need curses because the computer in question is a remote >>>> server. >>>> >>>> Regards, >>>> Hamid. >>>> _______________________________________________ >>>> http://www.marss86.org >>>> Marss86-Devel mailing list >>>> [email protected] >>>> https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel >>>> >>> >>> >>> >> >> When it crashes, can you type "layout asm" and paste the highlighted >> line and the lines around it? >> >> Also can you give the dump of /proc/cpuinfo >> >> Thanks, >> Tyler >> >> > > _______________________________________________ http://www.marss86.org Marss86-Devel mailing list [email protected] https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel
