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 04:44 | Nová verze

    Multiplatformní open source aplikace scrcpy (Wikipedie) pro zrcadlení připojeného zařízení se systémem Android na desktopu a umožňující ovládání tohoto zařízení z desktopu, byla vydána v nové verzi 5.0. S podporou hardwarového dekódování videa na desktopu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Nová verze

    Moderní linker mold, rychlejší alternativa k LLVM lld nebo wild, byl vydán v nové major verzi 3.0.0. Přepsán byl z C++ do Rustu.

    Ladislav Hagara | Komentářů: 1
    včera 20:22 | Nová verze

    Po osmi letech od vydání verze 2.0 byla vydána nová major verze 3.0 multiplatformního editoru tagů MusicBrainz Picard (Wikipedie). Přehled novinek, vylepšení a oprav v changelogu.

    Ladislav Hagara | Komentářů: 1
    včera 15:11 | Komunita

    Mezinárodní federace hudebního průmyslu (International Federation of the Phonographic Industry) navrhla Evropské komisi zařazení populárního open-source nástroje yt-dlp na evropský seznam 'padělků a pirátství' (EU Counterfeit and Piracy Watch List) pro rok 2027 (plné znění žádosti IFPI). IFPI ve svém podání označuje tento aktivně vyvíjený a o rozličné funkce bohatší fork youtube-dl za 'závažný problém' pro hudební průmysl, v

    … více »
    AfD 💙 | Komentářů: 11
    včera 14:44 | Nová verze

    Byla vydána nová verze 7.4 linuxové distribuce Parrot OS (Wikipedie). Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 1
    včera 11:55 | Pozvánky

    Dnes startuje desátý ročník oblíbené kyberbezpečnostní soutěže The Catch organizované Forenzní laboratoří CESNETu. Letos zavede soutěžící do světa národních výzkumných a vzdělávacích sítí (NREN). Čekají na vás tematické úlohy založené na principu Capture the Flag (CTF), hledání ukrytých flagů i zajímavé ceny. Otestujte své schopnosti a vyrazte na lov flagů.

    Ladislav Hagara | Komentářů: 1
    4.10. 20:22 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2026.

    Ladislav Hagara | Komentářů: 1
    4.10. 18:44 | Zajímavý software

    Německý startup Aleph Alpha k příležitosti výročí sjednocení Německa zveřejnil open-weight jazykový model Kolibri, vyvíjený s ohledem na unijní pojetí autorského práva, ochranu osobních údajů GDPR a nařízení EU o umělé inteligenci, jehož 'Kodexu správné praxe' je Aleph Alpha signatářem. Výsledkem tohoto přístupu je transparentnější technologie, kterou například budou moci využívat evropské veřejné instituce, ovšem za cenu

    … více »
    AfD 💙 | Komentářů: 2
    4.10. 18:33 | IT novinky

    Nvidia zveřejnila návrh nové bezpečnostní platformy pro nasazování AI agentů. Jedná se o nasazení AI za použití OpenShell a Sentry, dvou oddělených bezpečnostních vrstev, v nichž může Sentry monitorovat a vyhodnocovat chování AI v OpenShellu tak, že ho v krajním případě až vypne. Mělo by to zabránit dalším únikům AI ze sandboxu.

    vencour | Komentářů: 3
    3.10. 11:33 | Komunita

    Přímý přenos (YouTube) z konference LinuxDays 2026, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2800 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Status: Darling - aplikace pro OS X na Linuxu

    12.9.2012 12:30 | Přečteno: 2084× | Linux | Výběrový blog | poslední úprava: 12.9.2012 13:01

    Z nedávného nápadu vytvořit vrstvu, která bude umět spouštět binárky pro OS X/Darwin, se stala má budoucí diplomová práce. A něco málo už i funguje.

    Práce na tomto projektu má několik etap, které jsem stanovil:

    1. Funkční libSystem a další běžné "céčkové věci" jako systémová volání.
    2. Funkční výjimky v C++.
    3. Běh aplikací v Objective C.
    4. Reimplementace chybějícího API (frameworků) - vzdálená budoucnost.

    Aktuálně jsem ve fázi 1 s tím, že zkoumám možnosti ve fázích 2 a 3. Darling dokáže spustit wget pro OS X a s drobnými fígly dokáže jakž takž spustit mc. U MC je hlavím problémem GSlice v glib, který začne dělat v paměti blbosti a pak spadne. Přitom jediné důležité volání je v něm posix_memalign(), ve kterém ale nevidím žádný problém. GSlice se dá ale zakázat, pak jsou alokace nahrazeny mallocem(), který funguje dobře. MC má pak ještě další obtíže - nějaké bufferování stisknutých kláves a chybějící text v editoru, ale to jsou relativně už jen drobnosti.

    Výjimky v C++

    Pro funkčnost výjimek je nutné mít libc++abi (poskytuje __cxa_throw volané z kódu), libunwind od Apple a podpůrné funkce v dynamickém loaderu. Hlavní překážkou je to, že výjimka není fakticky "hozena" z místa, kde je příkaz throw, ale o dvě volání dále v libunwind. Throw aktuálně selže na tom, že dynamický loader Mach-O nedokáže poskytnout informace pro výjimky právě pro tato dvě volání navíc. Ta jsou už v ELF.

    Nabízejí se dvě řešení: upravit házení tak, aby k němu fakticky docházelo ze skutečného umístění throw, anebo zkompilovat libc++abi/libunwind pro Darwin, to ale komplikuje build.

    Objective C runtime

    ObjC runtime GNU a Apple nejsou kompatibilní. Zatím nevím, do jaké míry přesně, na první pohled má Applí runtime více funkcí pro posílání zpráv a symboly jsou jinak nazývány. Zatímco linuxový Clang/GCC názvy "metod" krásně dekoruje, Applí GCC se neštítí strkat do názvů symbolů mezery a další hegeš.

    Dá se ale očekávat, že nekompatibilita půjde ještě hlouběji. I k Hello worldu vypsaném z třídy ObjC bude asi daleko.

    Takovou jednoduchou aplikací, kterou bych rád viděl funkční "do dvou let", je The Unarchiver, grafické klikátko pro rozbalování archivů.

    Ladění aplikací

    Abych si ulehčil ladění aplikací (s GDB to není úplně ono), kompletně jsem přepsal funkci "trampolín" z původního maloaderu. Ještě to nemá všechny schopnosti, které bych rád viděl, navíc je třeba to přeportovat na 32bitové x86, ale je to pěkné.

    Oč jde? Dynamický loader nahradí všechny bindy (volání mezi Mach-O objekty, tedy mezi binárkami/knihovnami) svým wrapperem, který pak na základě souboru s definicemi dokáže zobrazovat, jaká funkce byla zavolána, s jakými parametry a co vrátila.

    g_strdup(?)
     strlen(0x7fff380c4327 "/bin/bash")
     -> 9
     malloc(10)
     -> 0x14aa9e0
     memcpy(0x14aa9e0, 0x7fff380c4327, 10)
     -> 0x14aa9e0
    -> ?
    

    Detailnější ukázku můžete vidět zde. Posledními novinkami jsou podpora procesů, co se forkují, a vypisování časových údajů k voláním.

           

    Hodnocení: 100 %

            špatné • dobré        

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

    Komentáře

    Vložit další komentář

    xvasek avatar 12.9.2012 13:45 xvasek | skóre: 21 | blog: | Zlín
    Rozbalit Rozbalit vše Re: Status: Darling - aplikace pro OS X na Linuxu
    Myslím, že zásadní otázka (podobně jako u Wine) - fungují Bulánci? :-) (Tím, že není klon pro Mac si tuto diskusi nebudeme kazit, ne?)

    A kdy pojede Steam z MacOSu? :-)
    Luboš Doležel (Doli) avatar 13.9.2012 13:06 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Status: Darling - aplikace pro OS X na Linuxu
    Tím, že není klon pro Mac si tuto diskusi nebudeme kazit, ne?
    Bacha na to, pro OS X je Darwine (port Wine).
    12.9.2012 13:55 smazáno | skóre: 18 | blog: smazáno
    Rozbalit Rozbalit vše Re: Status: Darling - aplikace pro OS X na Linuxu
    Vypada to skvele. Takhle rychle prijit s funcknim zakladem pousteni osx binarek na linuxu :-) Nechapu :-D.
    AsciiWolf avatar 12.9.2012 14:55 AsciiWolf | skóre: 41 | blog: Blog
    Rozbalit Rozbalit vše Re: Status: Darling - aplikace pro OS X na Linuxu
    Vypadá to dost hezky. Dobrá práce!
    12.9.2012 19:37 pavel
    Rozbalit Rozbalit vše Re: Status: Darling - aplikace pro OS X na Linuxu
    Už na tom jede Misrosoft Office 2010?
    12.9.2012 19:41 tomvec | skóre: 24 | Kojetín
    Rozbalit Rozbalit vše Re: Status: Darling - aplikace pro OS X na Linuxu
    Ten si strč tam, kam slunce nesvítí. Navíc MS Office 2011 je nativně pro OS X. Mě by zajímalo, kdy na tom pojede Tumult Hype.
    Limoto avatar 13.9.2012 12:07 Limoto | skóre: 32 | blog: Limotův blog
    Rozbalit Rozbalit vše Re: Status: Darling - aplikace pro OS X na Linuxu

     

    Navíc MS Office 2011 je nativně pro OS X.

    No, kdyby nebyl, tak by ten dotaz postrádal smysl, nemyslíš?

     

    Luboš Doležel (Doli) avatar 13.9.2012 12:19 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Status: Darling - aplikace pro OS X na Linuxu
    To je jako ptát se kutila, co staví vlastní auto a má už podvozek, kdy to auto bude řídit samo.
    14.9.2012 01:15 David Jaša | skóre: 44 | blog: Dejvův blog
    Rozbalit Rozbalit vše Re: Status: Darling - aplikace pro OS X na Linuxu
    U MC je hlavím problémem GSlice v glib, který začne dělat v paměti blbosti a pak spadne. Přitom jediné důležité volání je v něm posix_memalign(), ve kterém ale nevidím žádný problém.
    G_SLICE=always-malloc ?
    Luboš Doležel (Doli) avatar 14.9.2012 08:51 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Status: Darling - aplikace pro OS X na Linuxu
    Takhle to obcházím, ale to není řešení.
    Luboš Doležel (Doli) avatar 17.9.2012 00:17 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Status: Darling - aplikace pro OS X na Linuxu
    Nuže, výjimky v C++ už fungují.

    Založit nové vlákno • Nahoru

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