|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : alex help kushnaryov 2:4627/10.10 24 Apr 2001 10:17:24 To : All Subject : make buildkernel failed -------------------------------------------------------------------------------- 4.3-stable, исходники накатывались последний раз сегодня ночью. world складывается без проблемм, но при попытке собрать ядро - стабильная (за последние три дня накаток) ругань, как для моего конфига, полученого из линта, так и для дженерик: === ... cc -c -pipe -march=pentiumpro -Wall -Wredundant-decls -Wnested-externs -Wstrict -prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -ansi -nostdinc -I- -I. -I/usr/src/sys -I/usr/src/sys/../include -D_KERNEL -include opt_global.h -elf -fno-builtin -mpreferred-stack-boundary=2 -fomit-frame-pointer /usr/src/sys/i386/i386/atomic.c In file included from /usr/src/sys/i386/i386/atomic.c:47: machine/atomic.h: In function `atomic_set_char': machine/atomic.h:106: inconsistent operand constraints in an `asm' ... machine/atomic.h: In function `atomic_subtract_long': machine/atomic.h:124: inconsistent operand constraints in an `asm' === судя по тому, что в эхе уже есть немало упоминаний об удачном апгрейде до 4.3-S, есть у меня пошлое подозрение, что только у меня одного эти ошибки вылетают, а почему - не знаю.. :( cc -v: gcc version 2.95.2 19991024 (release) асмовые инлайны - моё сильно слабое место, и где про них нормально почитать - я не нашёл, посему кто поможет конкретными предложениями? кусок кода, породивший эти ошибки (неважное выбросил): === atomic.h === #define ATOMIC_ASM(NAME, TYPE, OP, V) \ static __inline void \ atomic_##NAME##_##TYPE(volatile u_##TYPE *p, u_##TYPE v)\ { \ __asm __volatile(MPLOCKED OP \ : "=m" (*p) \ : "0" (*p), "ir" (V)); \ } ATOMIC_ASM(set, char, "orb %b2,%0", v) ATOMIC_ASM(clear, char, "andb %b2,%0", ~v) ATOMIC_ASM(add, char, "addb %b2,%0", v) ATOMIC_ASM(subtract, char, "subb %b2,%0", v) ATOMIC_ASM(set, short, "orw %w2,%0", v) ATOMIC_ASM(clear, short, "andw %w2,%0", ~v) ATOMIC_ASM(add, short, "addw %w2,%0", v) ATOMIC_ASM(subtract, short, "subw %w2,%0", v) ATOMIC_ASM(set, int, "orl %2,%0", v) ATOMIC_ASM(clear, int, "andl %2,%0", ~v) ATOMIC_ASM(add, int, "addl %2,%0", v) ATOMIC_ASM(subtract, int, "subl %2,%0", v) ATOMIC_ASM(set, long, "orl %2,%0", v) ATOMIC_ASM(clear, long, "andl %2,%0", ~v) ATOMIC_ASM(add, long, "addl %2,%0", v) ATOMIC_ASM(subtract, long, "subl %2,%0", v) === С уважением, Alex "help" Kushnaryov. [ISP "Panda Ltd.", system administrator] [help@vopli.com] [ICQ#6127905] ... Rex est lex vivens. --- GoldED+/W32 1.1.4.5 * Origin: Help's Station (2:4627/10.10) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/32403ae52e3a.html, оценка из 5, голосов 10
|