Provided by: systemtap-doc_5.0-2ubuntu1_amd64 bug

NAME

       warning::buildid - chyby ověření build-id

DESCRIPTION

       Systemtap  skript  prochází  několika fázemi zpracování, které nemusejí nutně následovat bezprostředně po
       sobě. Někdy je nutné ověřit některé invarianty. Jedním z nich  je  build-id,  které  zaručuje,  že  pokud
       systemtap  skript  běží  proti  uživatelským programům, jde o ty jejich verze, proti kterým byl systemtap
       skript skutečně zkompilován. Build-id je údaj, který moderní (2007+) překladače  přidávají  do  binárních
       souborů jako ELF značku NT_GNU_BUILD_ID. Build-id lze zobrazit příkazem readelf -n.

       Na  build-id  jsou  citlivé  jen  skripty,  které  provádějí  hlubokou analýzu binárních souborů a jejich
       ladicích informací. Například skripty, které používají sondy .function nebo .statement  ,  nebo  skripty,
       které  generují backtrace. Jiné skripty mohou spoléhat například na sondy process.mark nebo kernel.trace,
       které nepotřebují ladicí informace, a ty pak na build-id  citlivé  nejsou.  Viz  sekci  LADICÍ  INFORMACE
       FORMÁTU DWARF manuálové stránky stapprobes(3stap).

       Systemtap uchovává kopii relevantních build-id uvnitř svých jaderných modulů. Za běhu modulu pak dojde ke
       srovnání  uloženého  build-id  se skutečnou hodnotou, která je pro daný obraz binárního souboru uložena v
       paměti. V případě neshody se vypíše chybová hláška a systemtap odmítne do daného binárního souboru vložit
       sondy. To je důležité z bezpečnostního hlediska, kdy by vložení sond na nesprávná  místa  mohlo  způsobit
       pád programu.

       Nesoulad  build-id  může  být  způsoben  různými  příčinami.  Tou  hlavní  je  situace, kdy je verze nebo
       architektura zkoumaného binárního souboru odlišná od verze nebo architektury souboru, proti  kterému  byl
       systemtap  modul vytvořen. Například je možné, že systemtap modul byl sestaven na stroji s mírně odlišnou
       verzí nebo jinou distribucí OS. Mohlo dojít k "rebuildu" jádra při  zachování  čísla  verze.  Mohlo  také
       například  dojít  k  "upgrade" jádra, po kterém obraz v paměti není v souladu s obsahem souborů na disku.
       Nebo v případě, že Vaše distribuce používá  samostatné  "debuginfo"  balíčky,  nemusí  verze  "debuginfo"
       balíčku přesně odpovídat verzi hlavního balíčku.

       Pokud  má  nesoulad build-id známou příčinu, a je zřejmé, že nedojde ke škodám, je možno test na build-id
       obejít volbou -DSTP_NO_BUILDID_CHECK.

VIZ TÉŽ

       http://fedoraproject.org/wiki/Releases/FeatureBuildId,
       stap(1),
       stapprobes(3stap),
       warning::debuginfo(7stap),
       error::reporting(7stap)

                                                                                         WARNING::BUILDID(7stap)