Расширение ядра AIX

Я везде искал, но оказалось, что невозможно скомпилировать модуль ядра AIX с помощью компиляторов с открытым исходным кодом, таких как GCC. Так действительно ли необходимо покупать (или получать пробную лицензию) компилятор XLC от IBM?

Спасибо.


person Peter Teoh    schedule 10.02.2011    source источник


Ответы (1)


Есть ли что-нибудь, что говорит о том, что GCC нельзя использовать? http://www.ibm.com/developerworks/aix/library/au-kernelext.html ничего не говорит о конкретном компиляторе, кроме того, что вы не можете использовать компилятор для компоновки (хотя ld является системной командой, а не частью XLC).

person Jeremiah Willcock    schedule 10.02.2011
comment
Согласно: ibm.com/developerworks/aix/library/au-gnu .html Вы можете скомпилировать его как 64-битный с помощью опции -maix64 в gcc. Я компилирую, ошибок нет, а затем использую ту же команду ld для загрузки расширения ядра. Если он скомпилирован с помощью xlc, ld с переданным другим аргументом загрузит расширение ядра и выполнится без ошибок. Но если скомпилировать с помощью gcc (и опции -maix64, а также выдать некоторое предупреждение), ld скомпилируется с дополнительным предупреждением и загрузится в ядро ​​без ошибок. Но при запуске из пользовательского пространства ядро ​​программы зависало. - person Peter Teoh; 12.05.2011