Provided by: manpages-hu_20010119-5_all bug

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)