====== Zapnutie cislovania buildov ====== Na zapnutie cislovania buildov kniznic je potrebne pri kompilovani pridat prepinac linkera: **-Wl,--build-id=$(BUILD_ID)** Je potrebne pouzit kompilacny skript aspon (updatePrj104 a logBuildNum5) alebo updatePrj_stable. Existuje viac moznosti ako to dosiahnut, uvazam ako priklad 2 varianty, pricom v EMTESTe sa zvolila prva alternativa. - ** preferovane ** plosne pre vsetky projekty v makespec **/usr/toolchain-arm-26/usr/share/qt4/mkspecs/default/qmake.conf** upravit flag QMAKE_LFLAGS = -Wl,--build-id=$(BUILD_ID) - ** alternativne ** v kazdom pro subore kniznice pridat flag do kompilacie (ukazka pre kdevelop): {{howto:kdevelop-build-id.png|}} ====== Zistenie cisla buildu ====== Zistenie cisla buildu kniznice ktora moze byt aj stripnuta sa robi nasledovne: **arm-linux-objdump -s lib???.so -j .note.gnu.build-id** Vysledkom je hexa cislo (pre tento pripad): 0xaf2f co predstavuje 44847. piecka@piecka-laptop:/opt/emtest/src/Libs_2.6/l_test/test/src/test$ arm-linux-objdump -s libtest.so -j .note.gnu.build-id libtest.so: file format elf32-littlearm Contents of section .note.gnu.build-id: 00d4 04000000 04000000 03000000 474e5500 ............GNU. 00e4 0000af2f .../ hex cilso prevedieme cez kalkulacku na dikadicke - napr: 12ea5 ==> 77477 - Potom uz je mozne najst prislusne zdrojaky na stixe (/usr/local/emtest/ver/src/). - vyhladavanie napr. cez mc: *77477* Pre jednoduhsi sposob je mozne pouzit toto: [[howto:krusader|Triky pre Krusader]] ====== Co ked sa neda zistit cislo buildu ====== * V pripade, ze nie je mozne zistit cislo buildu je velmi tazke ziskat identicke zdrojaky. Existuje ale nasledujuca moznost. Ak mame k dispozicii balik, tak zobereme z neho libku a spustime nad nou prikaz md5sum. Tento hash si zapamaptame a porovname s hashom libky na stixe. Pozor libka musi byt stripnuta tak ako je aj v baliku (prikazom arm-linux-strip). Potom podla casu a datumu pozriet rucne zdrojaky. * Este je mozne prehladat vsetky zdrojaky danej kniznice na stixe na konkretne cislo kniznice, pomocou programceku: /usr/local/emtest/bin/utils/findversion.sh.