abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 03:33 | Komunita

    Proběhl Snapdragon Summit 2026. Společnost Qualcomm se mimo jiné pochlubila během Linuxu na čipech Snapdragon X2. Zatím pouze v ranní verzi vhodné pro vývojáře linuxových distribucí a přispěvatele do jádra Linux.

    Ladislav Hagara | Komentářů: 1
    včera 21:11 | Nová verze

    Byla vydána nová verze 2.0 klienta F-Droid určeného pro instalaci bezplatných a otevřených mobilních aplikací do Androidu ze softwarového repozitáře F-Droid (Wikipedie). Jedná se o alternativu k Google Play.

    Ladislav Hagara | Komentářů: 6
    včera 12:11 | Komunita

    Debian Inference Portal nabízí vývojářům Debianu bezplatný přístup ke službám AI/LLM. Sponzorem je společnost Scaleway.

    Ladislav Hagara | Komentářů: 1
    včera 11:44 | Bezpečnostní upozornění

    Robert Ressl nalezl ve WordPressu kritickou zranitelnost CVE-2026-87902 s CVSS 9.2. Útočníkům umožňuje neoprávněný přístup k souborům a vzdálené spuštění kódu (RCE). Opravena je ve verzích 7.1.2, 7.0.6, 6.9.9…

    Ladislav Hagara | Komentářů: 1
    včera 03:33 | IT novinky

    Společnost Meta na dvoudenní konferenci Meta Connect 2026 představuje své novinky. Vypíchnout lze lehké brýle s funkci VR Meta VR Glasses. Do prodeje půjdou na jaře 2027 za cenu 1299,99 dolarů.

    Ladislav Hagara | Komentářů: 1
    23.9. 14:44 | Nová verze

    Google Chrome 154 byl prohlášen za stabilní. Nejnovější stabilní verze 154.0.8037.57 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 108 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 6
    23.9. 14:33 | IT novinky

    Vláda sníží v příštím roce výdaje na IT služby státu o 1,4 miliardy korun. Úspory má umožnit lepší koordinace nákupu služeb napříč resorty prostřednictvím nového zmocněnce. Celkové roční výdaje státu na informační technologie a digitalizaci se podle údajů ministerstva průmyslu a obchodu pohybují okolo 20 až 25 miliard korun ročně, pro letošek bylo na 320 projektů vyčleněno 21 miliard.

    Ladislav Hagara | Komentářů: 10
    23.9. 14:22 | IT novinky

    Irská komise pro ochranu dat (DPC) uložila americké technologické společnosti Google ze skupiny Alphabet pokutu 403 milionů eur (9,8 miliardy Kč) za neoprávněné nakládání s údaji o poloze uživatelů. Firma podle komise porušila evropské nařízení o ochraně osobních údajů (GDPR). DPC uvedla, že při šetření zjistila, že si lidé nemuseli být vědomi skutečnosti, že jejich poloha byla využívána například k ovlivňování prostřednictvím reklam nebo k odvozování jejich zájmů, a mohli tak ztratit kontrolu nad svými osobními údaji.

    Ladislav Hagara | Komentářů: 2
    23.9. 02:11 | IT novinky

    Byla oznámena beta verze nového video kodeku Pyrowave pro streamování her v Steam Remote Play. S vysokou propustností a nízkou latencí. S podporou HDR a YUV 4:4:4.

    Ladislav Hagara | Komentářů: 0
    23.9. 01:11 | Nová verze

    Byl vydán Sublime Text 4 Build 4213. Sublime Text (Wikipedie) je proprietární multiplatformní editor textových souborů a zdrojových kódů. Ke stažení a k vyzkoušení je zdarma. Pro další používání je nutná licence v ceně 99 dolarů. Spolu se Sublime Merge je cena 168 dolarů.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2730 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: ako uložiť poznámku do dynamickej knižnice

    7.5.2021 10:53 rastos | skóre: 63 | blog: rastos
    ako uložiť poznámku do dynamickej knižnice
    Přečteno: 448×
    Občas sa potýkam s tým, že nejaký projekt je deploynutý na N serveroch, často nie naraz, často nie z toho istého branch-u a potom s odstupom mesiacov až rokov sa namáhavo pátra po tom, odkiaľ sa nejaké knižnica vzala.

    Neexistuje nejaký spôsob ako do .so súboru uložiť nejaké free-form stringy? Napr. "build date: 2021-05-07", "author: jozko mrkvicka", ...? Pozerám, že readelf má prepínač -n | --notes. Nedalo by sa to použiť? A ak áno, tak ako konkrétne?

    Řešení dotazu:


    Odpovědi

    7.5.2021 13:15 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: ako uložiť poznámku do dynamickej knižnice
    Myslíte knihovny třetích stran?

    Tohle řeší balíčkovací mechanismus, ne?
    -- OldFrog
    7.5.2021 16:05 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: ako uložiť poznámku do dynamickej knižnice
    Nie. Myslím, knižnicu, ktorú som naprogramoval ja sám a neinštaluje sa balíčkovacím systémom.
    7.5.2021 19:27 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: ako uložiť poznámku do dynamickej knižnice
    Vlastní knihovny bych instaloval také balíčkovacím nástrojem. Existují nástroje, které provedou build rovnou do nativního distribučního balíčku. Ten se třeba úplně nehodí na veřejnou distribuci, ale pro deploy na server určitě vyhovuje.

    Jinak nevidím problém do té knihovny ten string prostě vložit? Pro různé ekosystémy na to budou nepochybně i nějaké konvence (záleží v čem je ta knihovna napsaná a jak se překládá). Určitě ale jde při buildu vygenerovat hlavičku (s nějakým DEFINE) a přilinkovat ji. Taky není problém dotaz informace o knihovně zahrnout do API.
    -- OldFrog
    7.5.2021 19:28 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: ako uložiť poznámku do dynamickej knižnice
    dotaz informace o knihovně -> dotaz na informace o knihovně a buildu
    -- OldFrog
    8.5.2021 09:22 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: ako uložiť poznámku do dynamickej knižnice
    Knižnica je napísaná v C, kompilovaná s gcc a použitá z Javy (JNI). Ten program v jave môže mať na disku viacero inštalácií v rôznych adresároch a bežiacich paralelne a každý z nich má svoju kópiu tej knižnice. Knižnicu si to loadne cez niečo ako dlopen() s absolútnou pathname. Bez nejakého chroot/docker/...

    Cez balíčkovací systém sa to celé neinštaluje ... asi z historických dôvodov. Alebo preto, že "veď to nejako funguje aj s ručným kopírovaním hore-dole" :-(
    8.5.2021 18:43 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: ako uložiť poznámku do dynamickej knižnice
    Pokud se knihovna distribuuje s aplikací a nepoužívá se balíčkovací nástroj, tak to bych tu knihovnu dal do instalačního adresáře celé aplikace a je prakticky vyřešeno - informace o buildu budou součástí celé aplikace. Nicméně možnost vložit verzi do knihovny tu stále zůstává.

    Nepředpokládám, že by se .so/.dll knihovna aktualizovala tím způsobem, že by se v instalačním adresáři ručně .so/.dll soubor přepsal. Čekal bych, že projede nějaký unit test a vybuildí se celá aplikace.
    -- OldFrog
    7.5.2021 13:53 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: ako uložiť poznámku do dynamickej knižnice
    Ak nie je možné z nejakého prazvláštneho dôvodu pri Agile CI/CD využiť spomínaný balíčkovací systém, tak je predsa možné využiť archív použitých a deploynutých verzií a porovnať kontrolný súčet (hash) binárky aby človek vedel čo je to za build. Ale to už prechádza z Agile na Scrum alebo dokonca na Waterfall.
    Řešení 1× (jablko)
    8.5.2021 08:24 kvr
    Rozbalit Rozbalit vše Re: ako uložiť poznámku do dynamickej knižnice
    Čekal bych, že to bude umět objcopy (--add-section, --add-symbol). Ale nevím, jestli umí i so...
    8.5.2021 09:33 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: ako uložiť poznámku do dynamickej knižnice
    To vyzerá sľubne:
    $ cat foo.c 
    int fnc()
    {
            return 4;
    }
    $ gcc -o libfoo.so -g -shared foo.c
    $ cat version.txt
    author=rastos
    $ objcopy --add-section .NOTES=version.txt libfoo.so libfoo.so.1
    
    A keď sa pozriem dovnútra:
    $ readelf -n libfoo.so.1 
    $ 
    $objdump -s -j .NOTES libfoo.so.1 
    
    libfoo.so.1:     file format elf64-x86-64
    
    Contents of section .NOTES:
     0000 61757468 6f723d72 6173746f 730a      author=rastos. 
    Cez "readelf -n" to nezobrazí nič, ale cez objdump áno.
    8.5.2021 18:46 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: ako uložiť poznámku do dynamickej knižnice
    No vida, to je dobré. Akorát nevýhoda je, že si to pak asi nepřečte aplikace samotná - té by se to mohlo taky hodit.
    -- OldFrog
    9.5.2021 10:44 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: ako uložiť poznámku do dynamickej knižnice
    Nakoniec som našiel asi ešte lepšie riešenie.

    Linker môže dostať parameter "-e entrypoint" a ten umožňuje vyrobiť .so, ktorá je spustiteľná:
    $ cat bar.c 
    #include <stdio.h>
    #include <unistd.h>
    
    const char foo[] __attribute__((section(".interp"))) = "/lib64/ld-linux-x86-64.so.2";
    
    void lib_main(void)
    {
    	printf("Build-Time: " __DATE__ " " __TIME__ "\n");
    #ifdef BRANCH
    	printf("Branch: " BRANCH "\n");
    #endif
    	_exit(0);
    }
    
    $ gcc -fPIC -shared -o libBar.so -e lib_main -DBRANCH=\"experimental\" bar.c
    $ ./libBar.so 
    Build-Time: May  9 2021 10:38:19
    Branch: experimental
    
    Poznámky:
    • viaceré návody na internete hovoria "/lib/ld-linux.so.2" miesto "/lib64/ld-linux-x86-64.so.2" - pretože tie návody pochádzajú z doby 32-bitov. Ak je tam nesprávna cesta, tak to skončí s
       bash: ./libBar.so: Accessing a corrupted shared library
    • aby vzniknutý proces regulérne skončil, tak tam musí byť to volanie _exit() a aby tam mohlo byť, _exit(), tak je potrebné unistd.h
    • Ten printf() funguje s konštatnými stringami, ale nefunguje (Sementation fault) ak by som tam chcel nejaké parametre. Na to, aby to fungovalo, by bola potrebná inicializácia C runtime knižnice. A to asi nie je len tak. Asi na to treba kus assembleru. Ale takto mi to celkom vyhovuje.

    Založit nové vlákno • Nahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.