Provided by:
manpages-hu_20010119-5_all 
N'EV
kallsyms - minden kernel szimbolumot kiir hibakereseshez
'ATTEKINT'ES
kallsyms [-Vh] kernel_fajlnev
LE'IR'AS
Kallsyms minden nem-verem szimbolumot kivesz a kernelbl, es egy adat
objektumot keszit, amelyet ahhoz a kernelhez linkelve debuggolhato
lesz.
Egy normalis kernel csak a modulok altal hasznalt szimbolumokat
exportalja. Hibakereseshez szukseg lehet minden nem-verem
szimbolumora, nem csak az exportaltakra. kallsyms kivesz minden
szekciot es szimbolumot a kernelbl, a szekciokrol, szimbolumokrol es a
cimeikrl egy listat keszit, es egy relokalhato objektumfajlt keszit,
ami csak egy __kallsyms szekciot tartalmaz. Miutan a __kallsyms
szekciot a kernelhez linkeltuk, es a kernel bebootolt, barmely debugger
hasznalhatja a __kallsyms szekcio adatait a jobb szimbolumfeloldas
erdekeben.
Peldaul, egy debugger hasznalhatja a __kallsyms adatokat, hogy feloldja
a kovetkez kernel cimeket :-
* A tulajdonos kernel vagy modul.
* A szekcio a tulajdonos kodon belul.
* A legkozelebbi szimbolum.
OPCI'OK
-V A modutils verziojat irja ki.
-h Kiirja a sugot.
LINKER MENETEK
Ahhoz hogy egy pontos __kallsyms szekciot tartalmazo kernelt hozzunk
letre, negy linker menetre van szukseg a szokasos egy helyett. A
kallsyms es a linker gyors, a harom extra lepes csak nehany masodpercig
tart egy P200-on.
1 Els kernel forditas, __kallsyms adatok nelkul. Futtassuk a
kallsyms-t ennek eredmenyen, letrehozva egy relokalhato objektumot,
amely tartalmazza a kernel minden szekciojat es szimbolumat.
2 Linkeljuk ujra a kernelt, ekkor mar a kallsyms kimenetet is
hozzateve az (1) lepesbl. A __kallsyms szekciot hozzateve
megvaltozik a szekciok szama es sok kernel szimbolum cime, igy
futtassuk le ujra a kallsyms-t, most a masodik kernelen, ujra
elmentve a relokalhato kimenetet.
3 Linkeljuk ujra a kernelt, most a (2) lepesbl szarmazo kallsyms
kimenettel. Futtassuk le megint a kallsyms-t az utolso kernelen. A
__kallsyms szekcio merete es pozicioja ebbl a futtatasbl mar stabil,
semelyik kernel szekcio vagy szimbolum sem valtozik ezutan. A
kallsyms kimenete a kernel szimbolumok vegs ertekeit tartalmazza.
4 Linkeljuk ossze a vegs kernelt, a (3) lepesbl szarmazo kallsyms
kimenettel.
ADATFORM'ATUM
A __kallsyms szekcio egy kicsit szokatlan. Szandekosan nem tartalmaz
relokalhato adatokat, minden "pointere" a szekcion beluli bajt offszet
vagy abszolut szam. Ez azt jelenti, hogy barhova elhelyezhet
relokacios problemak nelkul. Kulonoskepp tarolhato egy kernel image-en
belul, tarolhato a kerneltl kulon, hozzafzhet egy modulhoz betoltes
eltt, tarolhato egy kulon teruleten, stb.
A /usr/include/sys/kallsyms.h tartalmazza a __kallsyms adatok terkepet.
Fejl'ec
* A fejlec merete.
* A __kalsyms adatok teljes merete, beleertve a stringeket is.
* Szekciok szama. Ez csak a memoriaba betoltott szekciokat
tartalmazza.
* Az els szekcio bejegyzes offszetje a __kallsyms fejlec kezdetetl.
* A szekcio bejegyzesek merete a nev string nelkul.
* A szimbolumok szama.
* Az els szimbolum bejegyzes offszetje a __kallsyms fejlec kezdetetl.
* A szimbolum bejegyzesek merete a nev string nelkul.
* Az els string bejegyzes offszetje a __kallsyms fejlec kezdetetl.
* Az els szekcio[1] kezdcime.
* Az utolso szekcio[1] vegcime.
Szekci'o bejegyz'es
Egy bejegyzes betoltott szekcionkent. Mivel a __kallsyms egy betoltott
szekcio, ha az input fajl tartalmazza a __kallsyms szekciot, akkor az
is szerepel a listaban.
* A szekcio kezdete a kernelen[1] belul.
* A szekcio merete.
* A szekcio nevenek offszetje a __kallsyms stringek kezdetetl.
* A szekcio jelzbitjei az eredeti Elf szekciobol
Szimb'olum bejegyz'es
Egy bejegyzes szimbolumonkent az input fajlban. Csak a betoltott
szekciokba es szimbolumok vannak tarolva.
* Offszet a __kallsyms szekcio bejegyzesre, amelybe ez a szimbolum
tartozik. Az offszet a __kallsyms szekcio bejegyzesek kezdetetl
ertend.
* A szimbolum cime a kernelen[1] belul. A szimbolumok ezen mez
szerint novekv sorrendbe vannak rendezve.
* Offszet a szimbolum nevere, __kallsyms stringek kezdetetl szamitva.
Stringek
Null-vegzdes stringek halmaza. Minden nevre van egy a __kallsyms
stringterulet kezdetetl szamitott offszet hivatkozas.
Megjegyz'es [1]
Ezek a mezk kivetelek a "minden pointer offszet" szabaly alol. Ezek
egy kernelen belul abszolut cimet tartalmaznak.
L'ASD M'EG
insmod(8).
T"ORT'ENELEM
Eredeti verzio: Keith Owens <kaos@ocs.com.au>, 2000 aprilis
MAGYAR FORD'IT'AS
Boszormenyi Zoltan <zboszor@mail.externet.hu>
Linux 2000 aprilis 20 KALLSYMS(8)