LINUX.ORG.RU

Граждане девелоперы, поясните про опции gcc и SSE2


0

1

Есть проблема, суть ее такова. Понадобился именно CCL (http://ccl.clozure.com/), скачал его бинарник для linux x86 32-битный, он не запускается, и говорит:

./lx86cl
This CPU doesn't support the SSE2 instruction set
CPU doesn't support required features

не вопрос. скачал исходники, в Makefile дописал в опции: -mno-sse2 -mtune=athlon-xp. Собирает оно примерно так:

...lisp-kernel/linuxx8632# make
m4 -DLINUX -DX86 -DX8632 -DHAVE_TLS -I../ ../pad.s | as --32 -o pad.o
m4 -DLINUX -DX86 -DX8632 -DHAVE_TLS -I../ ../x86-spjump32.s | as --32 -o x86-spjump32.o
m4 -DLINUX -DX86 -DX8632 -DHAVE_TLS -I../ ../x86-spentry32.s | as --32 -o x86-spentry32.o
m4 -DLINUX -DX86 -DX8632 -DHAVE_TLS -I../ ../x86-subprims32.s | as --32 -o x86-subprims32.o
cc -include ../platform-linuxx8632.h -c ../pmcl-kernel.c -DLINUX -D_REENTRANT -DX86 -DX8632 -D_GNU_SOURCE -DHAVE_TLS -DUSE_FUTEX -DSVN_REVISION=14951M -g -O2 -mno-sse2 -mtune=athlon-xp -Wno-format -m32 -o pmcl-kernel.o
cc -include ../platform-linuxx8632.h -c ../gc-common.c -DLINUX -D_REENTRANT -DX86 -DX8632 -D_GNU_SOURCE -DHAVE_TLS -DUSE_FUTEX -DSVN_REVISION=14951M -g -O2 -mno-sse2 -mtune=athlon-xp -Wno-format -m32 -o gc-common.o
cc -include ../platform-linuxx8632.h -c ../x86-gc.c -DLINUX -D_REENTRANT -DX86 -DX8632 -D_GNU_SOURCE -DHAVE_TLS -DUSE_FUTEX -DSVN_REVISION=14951M -g -O2 -mno-sse2 -mtune=athlon-xp -Wno-format -m32 -o x86-gc.o
cc -include ../platform-linuxx8632.h -c ../bits.c -DLINUX -D_REENTRANT -DX86 -DX8632 -D_GNU_SOURCE -DHAVE_TLS -DUSE_FUTEX -DSVN_REVISION=14951M -g -O2 -mno-sse2 -mtune=athlon-xp -Wno-format -m32 -o bits.o
cc -include ../platform-linuxx8632.h -c ../x86-exceptions.c -DLINUX -D_REENTRANT -DX86 -DX8632 -D_GNU_SOURCE -DHAVE_TLS -DUSE_FUTEX -DSVN_REVISION=14951M -g -O2 -mno-sse2 -mtune=athlon-xp -Wno-format -m32 -o x86-exceptions.o
cc -include ../platform-linuxx8632.h -c ../image.c -DLINUX -D_REENTRANT -DX86 -DX8632 -D_GNU_SOURCE -DHAVE_TLS -DUSE_FUTEX -DSVN_REVISION=14951M -g -O2 -mno-sse2 -mtune=athlon-xp -Wno-format -m32 -o image.o
cc -include ../platform-linuxx8632.h -c ../thread_manager.c -DLINUX -D_REENTRANT -DX86 -DX8632 -D_GNU_SOURCE -DHAVE_TLS -DUSE_FUTEX -DSVN_REVISION=14951M -g -O2 -mno-sse2 -mtune=athlon-xp -Wno-format -m32 -o thread_manager.o
cc -include ../platform-linuxx8632.h -c ../lisp-debug.c -DLINUX -D_REENTRANT -DX86 -DX8632 -D_GNU_SOURCE -DHAVE_TLS -DUSE_FUTEX -DSVN_REVISION=14951M -g -O2 -mno-sse2 -mtune=athlon-xp -Wno-format -m32 -o lisp-debug.o
cc -include ../platform-linuxx8632.h -c ../memory.c -DLINUX -D_REENTRANT -DX86 -DX8632 -D_GNU_SOURCE -DHAVE_TLS -DUSE_FUTEX -DSVN_REVISION=14951M -g -O2 -mno-sse2 -mtune=athlon-xp -Wno-format -m32 -o memory.o
cc -include ../platform-linuxx8632.h -c ../unix-calls.c -DLINUX -D_REENTRANT -DX86 -DX8632 -D_GNU_SOURCE -DHAVE_TLS -DUSE_FUTEX -DSVN_REVISION=14951M -g -O2 -mno-sse2 -mtune=athlon-xp -Wno-format -m32 -o unix-calls.o
m4 -DLINUX -DX86 -DX8632 -DHAVE_TLS -I../ ../x86-asmutils32.s | as --32 -o x86-asmutils32.o
m4 -DLINUX -DX86 -DX8632 -DHAVE_TLS -I../ ../imports.s | as --32 -o imports.o
cc -include ../platform-linuxx8632.h -c ../lispdcmd.c -DLINUX -D_REENTRANT -DX86 -DX8632 -D_GNU_SOURCE -DHAVE_TLS -DUSE_FUTEX -DSVN_REVISION=14951M -g -O2 -mno-sse2 -mtune=athlon-xp -Wno-format -m32 -o lispdcmd.o
cc -include ../platform-linuxx8632.h -c ../plprint.c -DLINUX -D_REENTRANT -DX86 -DX8632 -D_GNU_SOURCE -DHAVE_TLS -DUSE_FUTEX -DSVN_REVISION=14951M -g -O2 -mno-sse2 -mtune=athlon-xp -Wno-format -m32 -o plprint.o
cc -include ../platform-linuxx8632.h -c ../plsym.c -DLINUX -D_REENTRANT -DX86 -DX8632 -D_GNU_SOURCE -DHAVE_TLS -DUSE_FUTEX -DSVN_REVISION=14951M -g -O2 -mno-sse2 -mtune=athlon-xp -Wno-format -m32 -o plsym.o
cc -include ../platform-linuxx8632.h -c ../xlbt.c -DLINUX -D_REENTRANT -DX86 -DX8632 -D_GNU_SOURCE -DHAVE_TLS -DUSE_FUTEX -DSVN_REVISION=14951M -g -O2 -mno-sse2 -mtune=athlon-xp -Wno-format -m32 -o xlbt.o
cc -include ../platform-linuxx8632.h -c ../x86_print.c -DLINUX -D_REENTRANT -DX86 -DX8632 -D_GNU_SOURCE -DHAVE_TLS -DUSE_FUTEX -DSVN_REVISION=14951M -g -O2 -mno-sse2 -mtune=athlon-xp -Wno-format -m32 -o x86_print.o
cc -m32 -g -O2 -mno-sse2 -mtune=athlon-xp -Wl,--export-dynamic "-Wl,--hash-style=sysv" -o ../../lx86cl pad.o x86-spjump32.o x86-spentry32.o x86-subprims32.o pmcl-kernel.o gc-common.o x86-gc.o bits.o x86-exceptions.o image.o thread_manager.o lisp-debug.o memory.o unix-calls.o x86-asmutils32.o imports.o lispdcmd.o plprint.o plsym.o xlbt.o x86_print.o -ldl -lm -lpthread

т.е компилятор с нужными опциями оно вызывает. однако после запуска:

../../lx86cl
This CPU doesn't support the SSE2 instruction set
CPU doesn't support required features

Как мне собрать или запустить CCL на процессоре athlon XP:

# cat /proc/cpuinfo
processor   : 0
vendor_id   : AuthenticAMD
cpu family   : 6
model      : 8
model name   : AMD Athlon(tm) XP 2200+
stepping   : 1
cpu MHz      : 1794.894
cache size   : 256 KB
fdiv_bug   : no
hlt_bug      : no
f00f_bug   : no
coma_bug   : no
fpu      : yes
fpu_exception   : yes
cpuid level   : 1
wp      : yes
flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow up
bogomips   : 3589.78
clflush size   : 32
cache_alignment   : 32
address sizes   : 34 bits physical, 32 bits virtual
power management: ts

скорее всего никак?

★★★★★

Ответ на: комментарий от Komintern

athlon XP

фак, точно :(

Ты нашел из-за чего переживать :)

power
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.