GENKSYMS(8) | Linux Modul Támogatás | GENKSYMS(8) |
genksyms - szimbólum verzió információt generál
genksyms [ -wq ] [ -dD ] [ -V ] -k verzió [ -p string ] [ output könyvtár ]
A genksyms a szabványos bemenetről olvassa a gcc -E source.c kimenetét és egy verzió információt tartalmazó fájlt hoz létre.
A -k opcióval jelzett formátumtól függően a kimenet vagy egy .ver fájlba kerül a megadott könyvtárban, vagy a szabványos kimenetre.
A genksyms normális esetben explicit szimbólumtábla definíciót keres a forrásfájlban. Minden typedef, struct, union és enum definíció és deklaráció mentésre kerül egy későbbi kibővítésre. Továbbá minden globális szimbólum is mentésre kerül mutatókkal együtt, ami egy teljes kibővítést tesz lehetővé később.
Amikor szimbólumtáblát talál a forrásban, a szimbólumot kibővíti a teljes definíciójára, ahol minden struct, union, enum és typedef az alapvető részeire lesz lebontva rekurzívan. Ez a végső string lesz a bemenete egy CRC algoritmusnak, ami egy egyész számot ad eredményül, és ami abban a pillanatban megváltozik, mihelyt a szimbólumba bevont definíciók bármelyike megváltozik.
A verzió információ a kernelben rendszerint így néz ki: symbol_R12345678, ahol 12345678 a CRC hexadecimális reprezentációja.
Ez a verzió koncepció sok emberrel történt megbeszélések eredménye, nem kis részben a KERNEL-channelen.
A genksyms programot 1994-ben írta Bjorn Ekwall <bj0rn@blox.se> főleg Jacques Gelinas <jack@solucorp.ca> és Jeremy Fitzhardinge <jeremy@suite.sw.oz.au> ötletei alapján.
1996-ban Richard Henderson írta át, hogy egy jobb parsert és lexikai elemzőt használjon.
Böszörményi Zoltán <zboszor@mail.externet.hu>
1997. szeptember 10 | Linux |