Отправляет email-рассылки с помощью сервиса Sendsay

Не компилируется SDL-1.2.7

Приветствую!
Сабж.
[root@localhost SDL-1.2.7]# ./configure --disable-joystick --disable-esd
--disable-arts --disable-video-x11 --disable-dga --enable-video-directfb
--enable-alsa

Все проходит нормально.
[root@localhost SDL-1.2.7]# make
Making all in src
***
c/timer -I../../src/endian -I../../src/file -I../../src/thread -MT
SDL_cpuinfo.lo -MD -MP -MF .deps/SDL_cpuinfo.Tpo -c SDL_cpuinfo.c -fPIC
-DPIC -o .libs/SDL_cpuinfo.o
SDL_cpuinfo.c: In function `SDL_GetCPUFeatures':
SDL_cpuinfo.c:107: error: PIC register `%ebx' clobbered in `asm'
SDL_cpuinfo.c:107: error: PIC register `%ebx' clobbered in `asm'
SDL_cpuinfo.c:143: error: PIC register `%ebx' clobbered in `asm'
SDL_cpuinfo.c:143: error: PIC register `%ebx' clobbered in `asm'
SDL_cpuinfo.c:143: error: PIC register `%ebx' clobbered in `asm'
SDL_cpuinfo.c:107: error: PIC register `%ebx' clobbered in `asm'
SDL_cpuinfo.c:107: error: PIC register `%ebx' clobbered in `asm'
SDL_cpuinfo.c: At top level:
SDL_cpuinfo.c:58: warning: 'illegal_instruction' defined but not used
make[2]: *** [SDL_cpuinfo.lo] Ошибка 1
make[2]: Leaving directory `/usr/src/SDL-1.2.7/src/cpuinfo'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/usr/src/SDL-1.2.7/src'
make: *** [all-recursive] Ошибка 1
[root@localhost SDL-1.2.7]#

Что такое clobbered? И при использование асемблерных вставок в Си перед
регистром ставится %%?

Ответить   ART Sat, 20 Nov 2004 00:43:16 +0500 (#267749)

 

Ответы:

В сообщении от 1100904196 секунд после начала Эпохи Unix Вы написали:

А nasm установлен?

Это синтаксис Intel.

Ответить   Konstantin Korikov Sun, 21 Nov 2004 13:17:51 +0200 (#267957)

 

Hi Konstantin Korikov! On Sun, Nov 21, 2004 at 13:17 +0200, you wrote:

Установлен.

А разве в стандарте Intel ставиться не один знак "%"?

Ответить   ART Mon, 22 Nov 2004 01:26:57 +0500 (#268190)

 

On Mon, 22 Nov 2004 01:26:57 +0500, ART <apt.n***@r*****.ru> said:

А что там в этой строчке написано (или полностью выражение asm)?

В intel'овском синтаксисе не ставится ни одного. Это в AT&T синтаксисе
регистры именуются %eax, %ebx, etc.

Ответить   Max Vasin Thu, 25 Nov 2004 17:54:45 +0300 (#270336)

 

Hi Max Vasin! On Thu, Nov 25, 2004 at 17:54 +0300, you wrote:

#if defined(__GNUC__) && defined(i386)
__asm__ (
" movl %%ebx,%%edi\n" 107 строка
" xorl %%eax,%%eax # Set up for CPUID instruction
\n"
" cpuid # Get and save vendor ID
\n"
" cmpl $1,%%eax # Make sure 1 is valid input for
CPUID\n"
" jl 1f # We dont have the CPUID
instruction\n"
" xorl %%eax,%%eax
\n"
" incl %eax
\n"
" cpuid # Get
family/model/stepping/features\n"
" movl %%edx,%0
\n"
"1:
\n"
" movl %%edi,%%ebx\n"
: "=m" (features)
:
: "%eax", "%ebx", "%ecx", "%edx", "%edi"
);


Ясно теперь все.

Ответить   ART Thu, 25 Nov 2004 20:52:56 +0500 (#270343)

 

У кого есть SDL-1.2.7-8.src.rpm для Fedor'ы 3, не могли бы прислать в
личку патчи и spec? А то по dialup не хочется весь пакет качать.
Штатный SDL тормозит ужасно, надеюсь после компиляции с оптимизацией
будет лучше. Заранее спасибо.

Ответить   Konstantin Korikov Sat, 18 Dec 2004 17:45:17 +0200 (#283041)