Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 make buildkernel failed   alex help kushnaryov   24 Apr 2001 10:17:24 
 make buildkernel failed   Slawa Olhovchenkov   25 Apr 2001 20:07:34 
Архивное /ru.unix.bsd/32403ae52e3a.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional