Provided by: systemtap-doc_4.8-1_amd64 bug

JMÉNO

       error::pass4 - chyby procesní fáze 4

POPIS

       Během procesní fáze 4 (compilation) dochází obvykle jen k několika málo druhům chyb:

       změny verze jádra
              Vložený  C  kód,  který systemtap generuje, nebo obsahuje v rámci tapset skriptů by
              měl být portabilní napříč širokou škálou verzí linuxového jádra. Nicméně, mohou  se
              vyskytnout  výjimky,  jako například změna typu parametrů jaderné funkce a podobně.
              Pokud  k  tomu  dojde,  může  být  řešením   použít   upstream   verzi   systemtapu
              (git://sourceware.org/git/systemtap.git),  která  je na takové změny obvykle rychle
              adaptována. Jinými slovy: Pro použití s velmi mladými jádry sestavte  systemtap  ze
              zdrojových  kódů  v  gitu.  Pokud  ani upstream verze systemtapu neobsahuje opravu,
              prosím, nahlašte chybu vývojářům systemtapu.

       chybný vložený (embedded) C kód
              Vložený C kód ve Vašem  guru  (-g)  skriptu  systemtap  nekontroluje.  Předává  jej
              kompilátoru  zcela  bez úprav. Chyby tohoto typu odhalí kompilátor právě v procesní
              fázi 4 během sestavování jaderného modulu systemtapu.

       nekompratibilní vložený C kód
              Rozhraní mezi C kódem, který systemtap generuje a vloženým C kódem se  někdy  mění.
              Například  před  verzí  systemtap-1.8 se parametry předávaly pomocí maker THIS->foo
              and  THIS->__retvalue  ale  od  verze  1.8  již  pomocí  maker   STAP_ARG_foo   and
              STAP_RETVALUE. Upravte svůj vložený C kód tak, aby vyhovoval aktuální syntaxi, nebo
              použijte režim zpětné kompatibility stap --compatible=VERSION .

       chyby a záhadné chování kompilátoru
              "Internal compiler error"  značí  chyby  kompilátoru.  Takové  chyby  by  měly  být
              nahlášeny  vývojářům  kompilátoru.  K  chybovému hlášení připojte předzpracovaný .i
              soubor spolu s kopií dané příkazové řádky kompilátoru. Pro  sesbírání  relevantních
              informací, spusťte

              stap -k --vp 0003 -p4 ....

              Systemtap  takto  uchová  dočasný  adresář  i příkazovou řádku kompilátoru. V tomto
              adresáři  se  nachází  hlavní  vygenerovaný   soubor   stap_NNNNN_src.c.   Použijte
              následující postup pro získání předzpracovaného výstupu:

              make -C /lib/modules/`uname -r`/build M=`pwd` stap_NNNNN_src.i

              (všimněte  si  přípony  .i  ).  Příkazová  řádka kompilátoru by měla být uchována v
              souboru .stap_NNNNN_src.i.cmd.

VIZ TÉŽ

       stap(1),
       error::reporting(7stap)

                                                                              ERROR::PASS4(7stap)