Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2016-08-28

| Channels | #divine index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:47 ilbot3 joined #divine
01:47 Topic for #divine is now DIVINE: A Parallel LTL Model Checker (http://divine.fi.muni.cz) | http://irclog.perlgeek.de/divine/
03:26 xstill joined #divine
07:15 yaqwsx joined #divine
08:24 xstill mornfall: zakompiloval jsem libdivinert do binárky DIVINE (ale jen v release, protože v debugu by to hrozně trvalo), patche jsou u mě
08:33 xstill moment, ještě udělám drobný amend
08:36 xstill hotovo
08:36 xstill teď to funguje tak, že release build defaultně bere knihovny z binárky, pokud dodáš --precompiled vezme ty
09:05 xstill s těma balíčkama z BSD bude možná větší problém v tom, že používají různý sys/* includy
09:35 mornfall jestli myslíš tu portable distribuci mandoc-u, tak to jde přeložit na víceméně libovolným posix-u
09:36 mornfall ono těch portovatelných programů v C bez autotools zas tak moc není :)
09:41 xstill akrotát divine není libovolnej posix zatím, momentálně nám na to chybí minimálně fork a waitpid, takže je třeba začít od něčeho ještě jednoduššího (zatím jsem zkoušel zlib, ten se přeloží až na příklady, na ty už potřebuju lepší linker).
09:42 xstill tj. skoro funguje s aktuálním divine.cc které produkuje jen bitkód, takže začnu rovnou od toho jak to nacpat do enfu a vypořádat se s .a
09:43 mornfall nojo, zipovače to by šlo
09:43 mornfall (chvíli jsem myslel na libarchive ale nevim proč se mi na ní něco nezdálo)
09:46 mornfall ono teda fork a waitpid je leckde, přidat k tomu prototypy by taky nebyl takovej problém, v cestě kterou to budeme tlačit stejně zatím nebudou
09:46 mornfall (a naimplementovat je taky není tak velkej problém, exec je mnohem horší)
09:57 mornfall .a by snad neměl být problém, to jsou jen splácnutý .o dohromady (jen se to musí přečíst no)
13:30 xstill čím by se měl lišit divine cc od divine.cc? zatím jsem přišel jen na to, že pro divine cc dává smysl aby defaultně emitoval jen llvm, zatím .cc by měl defaultně emitovat ty kombinované binárky/objekty
13:31 xstill jinak mi to rozhraní ale příjde dost stejné
13:33 mornfall no divine.cc musí být stejný jako cc
13:33 xstill to divine cc (skoro) je
13:34 mornfall ani bych neřekl
13:34 mornfall umí to jen cc1 opšny a -I, -isystem
13:35 xstill no ne, to jsou jen ty který jsou explicitně napsaný v helpu, zbytek to pošle přímo driveru (viz -std=c++14 a tak podobně, libovolný -W…)
13:35 mornfall no to jsou ty cc1
13:35 xstill ajo
13:35 xstill neumím číst
13:36 xstill E: .../divine/vm/run.cpp: 49:
13:36 xstill encountered a missing implementation
13:36 mornfall máš -Wa,<arg> -Wl,<arg> -Wp,<arg>
13:37 mornfall xstill: jo, já pullnul od yaqwsx a on to používá ale ještě to není implementovaný
13:37 mornfall u sebe jsem to stejně mezičasem smazal a řeším to jinak
13:37 mornfall takže asi zakomentovat v runtime/
13:37 mornfall (to je ten flagovací trace ve fault handleru)
13:37 mornfall nebo umazat to NOT_IMPLEMENTED
13:38 xstill jo
13:39 xstill jo ty přepínače tam chybí, otázka je jestli je má umět jen divine.cc nebo obojí, v podstatě mi dává smysl aby to bylo to samý a lišilo se to maximálně defaultním módem
13:40 mornfall to záleží co chceš dělat s tím linkováním, pokud se libdivinert zruší a bude to fungovat jako v systému, tak snad i jo
13:40 mornfall jen to je IMHO těžce nekompatibilní s tažením bitkódu v binárce
13:41 xstill teď to nechápu
13:41 mornfall já asi nevim co to znamená 'mód'
13:43 xstill no tím jesem myslel to co jsem psal nahoře, jestli to produkuje binárku nebo bitkód (protože mi zas příjde zbytečný buildit vždycky i nativní kód pro každou jednoduchou blbost)
13:43 mornfall každopádně divine.cc bude dostávat věci jako -lc -lm a podobně a mělo by to přilinkovat odpovídající libc.* a libm.*, kdežto divine cc takový věci momentálně vůbec neřeší a má libdivinert.bc
13:43 mornfall (odpovídající znamená podle -L a spol.)
13:44 xstill hm, to jo
13:45 mornfall a řekl bych že divine cc by měl zachovat nějakej automagickej mód, možná teda ať si táhne ty knihovny interně (v nějakým virtuálním filesystému) nebo ať si to překládá do ~/.divine/ podle hashe
13:45 mornfall ale divine.cc by tohle asi spíš dělat zase neměl
13:51 mornfall tak jako tak bych zatím divine cc nechal na pokoji a až bude divine.cc tak zvážil jestli to nepřehodit na frontend k tomu
13:53 xstill no mě by víc dávalo smysl to postavit jako dva frontendy nad cc::Compile, ono totiž i divine.cc bude potřebovat VFS (respektive příjde mi to rozumnější)
13:55 mornfall mně to zase přijde krajně nerozumný (už je dost peklo když maj překladače hlavičky schovaný někde v /usr/lib/gcc/)
13:58 mornfall poslední co potřebuju kdybych měl systém s divine.cc jako systémovým překladačem aby polovina hlaviček byla schovaná někde uvnitř v binárce překladače
14:01 xstill hm to dává smysl, ale bez toho budeme mít zas potenciálně problém se vyhnout systémovým hlavičkám
14:01 xstill respektive bude se to muset vyřešit jinak než teď
14:06 mornfall jo to asi jo
14:16 xstill hm, to jsem zvědavej jestli ty LLVM utility na ELF budou stačit
14:20 xstill hm, a LLD už nějak funguje?
14:20 mornfall ale jistě, má to nějaký mouchy (nebo mělo), ale funkční to v zásadě je
14:33 xstill aha jo, píšou, že to zvládne zkompilovat LLVM
14:38 xstill hm, ale dokumentace to moc nemá
14:38 xstill naše LLVM 3.7.0, nebo 3.7.1?
14:42 xstill aha, cmake píše, že 3.7.0
14:48 xstill každodpádně v dokumentaci píšou, že ty parsery přepisovaly od května 2015, 3.7 je ze září 2015, a taky to podle toho vypadá:
14:48 xstill $ ls -l lld-3.7.0.src/ELF/
14:48 xstill total 0
14:49 xstill 3.9 by měla být releasnutá prakticky každým dnem, stálo by za to pak portovat
14:55 xstill jo, akorát tak 3.9 nemá žádné jiné veřejné rozhraní k elfu než funkci link :-/
15:24 xstill mornfall: skoro mi příjde rozumější použít systémovej linker + objcopy na to abychom tu sekci vytáhli, poradili si s ní a pak ji do výsledku vrátili
15:34 mornfall taky řešení, aspoň do doby než to budeme umět sami
15:55 xstill nevýhoda teda je, že to bude potřebovat spoustu temporary soubrů, ale zatím bych to viděl jako rozumnější
17:36 xstill v bricsu mi pořádně nefunguje autoindent a highlighter ve vimu :-/
17:37 xstill jakože highlighter funguje zhruba tak jak fungoval tak před 4 lety kdy se podělal z každé C++11 věci
18:51 yaqwsx joined #divine
19:26 yaqwsx joined #divine
20:56 yaqwsx joined #divine

| Channels | #divine index | Today | | Search | Google Search | Plain-Text | summary