ERROR::PASS4(7stap) ERROR::PASS4(7stap) JMENO error::pass4 - chyby procesni faze 4 POPIS Behem procesni faze 4 (compilation) dochazi obvykle jen k nekolika malo druhum chyb: zmeny verze jadra Vlozeny C kod, ktery systemtap generuje, nebo obsahuje v ramci tapset skriptu by mel byt portabilni napric sirokou skalou verzi linuxoveho jadra. Nicmene, mohou se vyskytnout vyjimky, jako napriklad zmena typu parametru jaderne funkce a podobne. Pokud k tomu dojde, muze byt resenim pouzit upstream verzi systemtapu (git://sourceware.org/git/systemtap.git), ktera je na takove zmeny obvykle rychle adaptovana. Jinymi slovy: Pro pouziti s velmi mladymi jadry sestavte systemtap ze zdrojovych kodu v gitu. Pokud ani upstream verze systemtapu neobsahuje opravu, prosim, nahlaste chybu vyvojarum systemtapu. chybny vlozeny (embedded) C kod Vlozeny C kod ve Vasem guru (-g) skriptu systemtap nekontroluje. Predava jej kompilatoru zcela bez uprav. Chyby tohoto typu odhali kompilator prave v procesni fazi 4 behem sestavovani jaderneho modulu systemtapu. nekompratibilni vlozeny C kod Rozhrani mezi C kodem, ktery systemtap generuje a vlozenym C kodem se nekdy meni. Napriklad pred verzi systemtap-1.8 se parametry predavaly pomoci maker THIS->foo and THIS->__retvalue ale od verze 1.8 jiz pomoci maker STAP_ARG_foo and STAP_RETVALUE. Upravte svuj vlozeny C kod tak, aby vyhovoval aktualni syntaxi, nebo pouzijte rezim zpetne kompatibility stap --compatible=VERSION . chyby a zahadne chovani kompilatoru "Internal compiler error" znaci chyby kompilatoru. Takove chyby by mely byt nahlaseny vyvojarum kompilatoru. K chybovemu hlaseni pripojte predzpracovany .i soubor spolu s kopii dane prikazove radky kompilatoru. Pro sesbirani relevantnich informaci, spustte stap -k --vp 0003 -p4 .... Systemtap takto uchova docasny adresar i prikazovou radku kompilatoru. V tomto adresari se nachazi hlavni vygenerovany soubor stap_NNNNN_src.c. Pouzijte nasledujici postup pro ziskani predzpracovaneho vystupu: make -C /lib/modules/`uname -r`/build M=`pwd` stap_NNNNN_src.i (vsimnete si pripony .i ). Prikazova radka kompilatoru by mela byt uchovana v souboru .stap_NNNNN_src.i.cmd. VIZ TEZ stap(1), error::reporting(7stap) ERROR::PASS4(7stap)