Znaczenie informacji o wersji w pliku .mod.c w jądrze Linux
We wszystkich ładowalnych modułach jądra, kiedymake
podany jest plik o nazwiemodulename.mod.c
opróczmodulename.ko
.
Poniższy fragment kodu pochodzi z a.mod.c
plik, który zawiera{number, function}
para. Jakie jest znaczenie tego numeru? Jak ta liczba jest generowana przez kompilator?
static const struct modversion_info ____versions[]
__used
__attribute__((section("__versions"))) = {
{ 0xa6d8dcb5, "module_layout" },
{ 0x16c2b958, "register_netdevice" },
{ 0x609f1c7e, "synchronize_net" },
{ 0x90a60c63, "kmem_cache_destroy" },
{ 0x402b8281, "__request_module" },
{ 0x844a8af7, "netdev_info" },
{ 0xdfdb0ee8, "kmalloc_caches" },
{ 0x12da5bb2, "__kmalloc" },
{ 0x92d42843, "cfg80211_cqm_rssi_notify" },
{ 0xc86289e8, "perf_tp_event" },
...
...
}