Bug 14411
| Summary: | [FR] automatic kernel module check for symbol-related problems | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Ivan Zakharyaschev <imz> |
| Component: | rpm-build-kernel | Assignee: | Sergey Vlasov <vsu> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | enhancement | ||
| Priority: | P2 | CC: | boyarsh, glebfm, iv, kernelbot, ldv, mike, rider, sbolshakov, shrek, sin, vitty, vsu, vt, zerg |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
| Bug Depends on: | |||
| Bug Blocks: | 14408 | ||
The kernel build system already does some checks for undefined symbols; unfortunately, even in 2.6.24 failures of these checks when building external modules are just warnings. However, the real problem with drm is not undefined symbols, but multiple definitions of symbols (the drm module cannot be loaded due to the duplicate idr_remove_all definition, and then all modules which depend on it fail with unresolved symbols), and the uhci_hcd problem is due to races between concurrent modprobe invocations. (In reply to comment #1) > However, the real problem with drm is not undefined symbols, but multiple > definitions of symbols (the drm module cannot be loaded due to the duplicate > idr_remove_all definition, I see. Added "multiple definitions of symbols" to the summary. Guess VM support is out of rpm-build-kernel scope. Проверка, о которой просили, теперь делается самой сборочной системой ядра, и не предупреждением, а ошибкой. Собрал в контейнере Sisyphus внешний модуль с заведомо неразрешённым символом против kernel-headers-modules-6.12: ERROR: modpost: "this_symbol_does_not_exist" [/tmp/m/hello.ko] undefined! make[2]: *** [scripts/Makefile.modpost:145: /tmp/m/Module.symvers] Error 1 make rc=2 Файл .ko не создаётся, сборка падает — модуль с неразрешёнными символами в репозиторий не попадёт. Дублирующиеся экспорты modpost тоже ловит («exports duplicate symbol»). Проверка загрузки собранных модулей в виртуальной машине, как и говорил mike@ в комментарии 3, выходит за рамки rpm-build-kernel (сейчас это бинарный пакет из kernel-build-tools 0.132-alt1). FIXED. |

Description
Ivan Zakharyaschev 2008-02-13 11:18:36 MSK