openvz-sources-2.6.24* ошибка при компиляции

приветствую уважаемое сообщество.

Есть проблема:
при компиляции ядра openvz-sources версии 2.6.24* обрывется при компиляции traps_32.c с вот-такой ошибкой

  CC      arch/x86/kernel/traps_32.o
arch/x86/kernel/traps_32.c:771: error: syntax error before "nmi_ipi_callback"
arch/x86/kernel/traps_32.c:771: warning: type defaults to `int' in declaration of `nmi_ipi_callback'
arch/x86/kernel/traps_32.c:771: warning: initialization makes integer from pointer without a cast
arch/x86/kernel/traps_32.c:771: warning: data definition has no type or storage class
arch/x86/kernel/traps_32.c: In function `default_do_nmi':
arch/x86/kernel/traps_32.c:797: warning: comparison between pointer and integer
arch/x86/kernel/traps_32.c: In function `do_nmi':
arch/x86/kernel/traps_32.c:830: error: called object is not a function
arch/x86/kernel/traps_32.c: At top level:
arch/x86/kernel/traps_32.c:836: error: syntax error before "callback"
arch/x86/kernel/traps_32.c:837: warning: function declaration isn't a prototype
arch/x86/kernel/traps_32.c: In function `set_nmi_ipi_callback':
arch/x86/kernel/traps_32.c:838: error: `callback' undeclared (first use in this function)
arch/x86/kernel/traps_32.c:838: error: (Each undeclared identifier is reported only once
arch/x86/kernel/traps_32.c:838: error: for each function it appears in.)
arch/x86/kernel/traps_32.c: In function `unset_nmi_ipi_callback':
arch/x86/kernel/traps_32.c:843: warning: assignment makes integer from pointer without a cast
make[1]: *** [arch/x86/kernel/traps_32.o] Ошибка 1
make: *** [arch/x86/kernel] Ошибка 2

в принципе решение этой траблы для себя нашел уже давно, еще в версии openvz-sources-2.6.24.004
причина в том что из файла include/asm/nmi_32.h
по всем правилам тайпдеф nmi_callback_t должен корректно инклудиться, но это почемуто не происходит
typedef int (*nmi_callback_t)(struct pt_regs * regs, int cpu);

соответственно приделал костыль в виде небольшого патча.
смущает тот факт что уже сколько версий пакета смеенилось а этого никто не фиксит.

таквот, суть вопроса:
встречался ли ктонить с такой ошибкой, и если да - то как лечил.
думается что причина в gcc, хотя пробовал на разных версиях от 4.2(классический профиль) до 3.4.6 (сейчас hardened)
если в gcc, то может кто подскажет в каком конфиге и что править. сам с конфигами сильно не извращался

PS если кому

PS если кому интересно вылечил таким патчем

 $ cat /usr/local/portage/sys-kernel/openvz-sources/files/openvz-sources-2.6.24-arch_x86_kernel_trap32.patch 
--- arch/x86/kernel/traps_32.c  2008-09-22 02:55:41.000000000 +0300
+++ arch/x86/kernel/traps_32.c  2008-09-22 04:32:15.000000000 +0300
@@ -768,7 +768,7 @@
        return 0;
 }
 
-static nmi_callback_t nmi_ipi_callback = dummy_nmi_callback;
+static int (*nmi_ipi_callback)(struct pt_regs * regs, int cpu) = dummy_nmi_callback;
 
 static __kprobes void default_do_nmi(struct pt_regs * regs)
 {
@@ -833,7 +833,7 @@
        nmi_exit();
 }
 
-void set_nmi_ipi_callback(nmi_callback_t callback)
+void set_nmi_ipi_callback(int(*callback)(struct pt_regs * regs, int cpu))
 {
        nmi_ipi_callback = callback;
 } 

думаю расписывать нет смысла, остается вопрос - почему без этого костыля не работает

а на форуме openvz

а на форуме openvz ничего нет по этому поводу?

нет на форуме

нет на форуме не видел и не спрашивал. но до того как сам в сорцы залесть, гуглил сильно.

помоему, тут не в патче от openvz дело (не только в нем). ведь патчат ванильное ядро этим патчем и работает все наура.

был бы благодарен еслиб кто поставил этот пакект и сдеал
# make menuconfig all
да и отписал об результатах (выбивает при компиляции или нет)

а то не ясно где у меня проблема.. в gcc, в патче или радиусе кривизны рук.

если окажется что не только у меня в этом месте выбивает - отпишу в багзиллу

народ, ну

народ, ну ёксель-моксель, неужто ни у кого не найдется 10 мин. забацать чтото вроде

mkdir -p /etc/portage/package.unmask
echo "sys-kernel/openvz-sources" >> /etc/portage/package.unmask/openvz
USE=-symlink emerge -av sys-kernel/openvz-sources
cd /usr/src/linux-2.6.24-openvz-006.2/ ## эта сейчас последняя
make menuconfig all

и отписать - скомпилит/нет и если скомпилится есть ли arch/x86/kernel/traps_32.o а то я когдато когда разбирался както сумел его "выкинуть" из списка компиляции

не для себя ведь стараюсь. сам то этим патчиком пользуюсь давно.

просто если проблема растет не из моих кривых рук, а реально существует - отпишу в багзиллу - всем пользабудет.
а попусту и писать както не хочется, "стесняюсь" чтоли )))

пни меня завтра

пни меня завтра вечером в irc на фриноде.

> mavriq, собрал

> integer`: mavriq, собрал без проблем

2 integer` ок. спс что попробовал. странно но у меня таки не комилит. ну ладно оставлю как есть. работает - вот и пусть работает )))

ну и поскольку все работает, все собирается у других, а сам я решение тоже имею - думаю тему можно закрывать

спасибо кто пытался помочь

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".