NÉV¶
genksyms - szimbólum verzió információt
generál
ÁTTEKINTÉS¶
genksyms [ -wq ] [ -dD ] [ -V ]
-k verzió [ -p string ]
[ output könyvtár ]
LEÍRÁS¶
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.
OPCIÓK¶
- -w
- Figyelmeztetéseket ír ki fel nem ismert szintaxis és
deklarált de nem definiált
struktúrákból eredően. Ezek a
figyelmeztetések alapértelmezésben nem jelennek
meg.
- -q
- Elcsendesíti a figyeleemztetéseket, vagyis
megfordítja a -w opciót.
- -D
- A kibővített szimbólumdefiníciókat a
szabványos hibakimenetre írja. Csak hibakeresésre
használt.
- -d
- Hibakeresési információkat ír ki; az
opció ismétlése növeli az kiírt
információmennyiséget. Az 1. szint moderált
információt ír ki a műveletekről; a 2.
szint engedélyezi a parser működésének
nyomkövetését; a 3. szint engedélyezi a
lexikus analízis kimenetet.
- -k verzió
- Kiválasztja a kernel verzióját, amely
számára kimenetet generál. Ennek az opciónak
elhagyása 2.1.0-nál kisebb verziót feltételez.
A 2.1.18 alatti verziók az 1-es
ellenőrzőösszeg verziót
használják és a kimenetet a parancssorban megadott
könyvtárban hozzák létre. 2.1.18 és
afölötti verziók a 2-es
ellenőrzőösszeg verziót
használják és a kimenetet a szabványos
kimenetre írják.
- -p string
- Minden szimbólumban a megadott stringet a CRC elé
másolja. Ezt az opciót pl. SMP kernelek esetén
használják, ahol is a modulok nem kompatíbilisek az
adat típusok által leírt szint alatt. Ezt
elsősorban a modul kódjában kifejtett inline
függvények kifejtése okozza.
LÁSD MÉG¶
insmod(8),
modprobe(8)
TÖRTÉNELEM¶
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.
MAGYAR FORDÍTÁS¶
Böszörményi Zoltán
<zboszor@mail.externet.hu>