Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2013-09-06

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

All times shown according to UTC.

Time Nick Message
05:52 xstill mornfall: clang 3.3 a llvm 3.3 jsou z nixos/nixpkgs branch x-updates, protlačil jsem jim tam pluginy
06:03 xstill hm, ale stejně to selhalo, a řekl bych že na stejném místě jako normální clang
06:18 xstill a clang odmítal kompilovat TypeList
06:57 xstill ono je to divné, protože to narazí na operator=(const atomic&) který samozřejmě není. Jenže nechápu jak to v gcc může fungovat
07:01 xstill já si totiž myslím, že by to nemělo fungovat ani v gcc
07:02 xstill no tak pomom už mi chybí __atomic_exchange
07:03 xstill při linkování
07:14 xstill hm, ten __atomic_* vyhrabali zase kde, to jim nestačil __sync_*?
07:15 xstill zdá se že v clangu se to jmenuje __c11_atomic_*
07:37 xstill jenže ty jejich __c11_atomic_* zase fungujou jen s _Atomic
07:37 xstill by mě zajímalo s tím to ten <atomic> podporujou
07:41 spito joined #divine
07:49 xstill myslím, že ten clang je úplně marnej
07:54 xstill mornfall: poslal jsem ti patche, je to takovej mix, ty thready sice pořád nefungujou (shared_ptr) ale asi je zbytečné aby to leželo jen u mě
07:57 xstill hm, hala bude zavřená
07:58 xstill ještě že máme lab :-P
09:19 spito xstill: na stejné předměty mám stejné skupiny plánované
09:20 xstill spito: super
09:20 spito http://www.novinky.cz/zahranicni/amerika/312547-snowdenovy-nove-dokumenty-rozvedky-uz-zlomily-sifrovani-a-ovladly-internet.html
09:20 spito já vim, že to jsou novinky
09:20 spito ale asi bych měl otázku - to se jim fakt povedlo prolomit RSA a další?
09:23 xstill spíš bych řekl, že ne, že si nechali zabudovat backdoory které jim umožní to obejít
09:23 xstill ale nevím
09:24 xstill i když jako RSA není tak daleko od prolomení asi
09:25 spito no a čím se šifruje https a další věci?
09:25 xstill mornfall: zase mám "multiple definition of '__cxa_pure_virtual'"
09:26 xstill spito: no certifikáty a ustavení klíčů asi RSA nejčastěji, nebo (EC)DSA. Provoz potom AES a podobně, v horším případě RC4 nebo jak se to jmenuje.
09:27 xstill ale tak kdyby přesvědčili microsoft aby jim dal backdoor do IE tak to ani u mnoha uživatelů nemusí lámat...
09:29 spito to však to je jasný
09:29 spito a Chrome je to samý
09:33 xstill asi jo no
09:51 xstill mornfall: ad shared_ptr bug: není možné, že se ten pointer z nějakého divného důvodu uklidí heap redukcí?
10:10 mornfall no, možné to určitě je, jen jsem zatím nepřišel na to jak
10:16 spito joined #divine
10:20 xstill ono je to divné, podle mě to zhebne při loadování funkce z vtable...
10:55 mornfall hmm
11:01 xstill hej teď jsem to přeložil s -O3 a najednou to magicky funguje...
11:02 xstill super ne?
11:02 mornfall :D
11:03 mornfall ale ten __atomic je pěknej odrb
11:03 mornfall jdu přeložit libc++....
11:04 xstill :-D tak pak dej vědět, mě to totiž už taky napadlo...
11:06 mornfall hm, libcxxabi začíná vypadat skoro civilizovaně
11:06 mornfall jsem v pokušení celý libstdc++ a libsupc++ z divinu vyhodit
11:06 mornfall a dát tam tohle :)
11:07 mornfall ale uvidíme, ještě to asi má čas
11:08 xstill :-D, ty to libc++ překládáš nad libcxxabi?
11:09 mornfall zatím ne :-)
11:09 mornfall zatím překládám (zase) llvm
11:09 mornfall pak clang a pak libc++
11:13 mornfall jen jestli chci aj clang kterej používá libc++ nativně tak to bude bootstrap taneček
11:15 xstill :-D
11:16 mornfall achjo
11:17 mornfall make[2]: *** No rule to make target `lib/Target/AArch64/AArch64GenSubtargetInfo.inc', needed by `lib/Target/AArch64/Utils/CMakeFiles/LLVMAArch64Utils.dir/AArch64BaseInfo.cpp.o'.  Stop.
11:17 mornfall wat? :)
11:19 xstill to je llvm? nebo už libc++?
11:19 mornfall llvm
11:19 xstill tak to je dost divný
11:19 mornfall já tady mam checkout SVNky a tam žádný AArch64 ani není
11:19 xstill to builduješ z SVN?
11:19 mornfall ne, to co je v x-updates
11:20 xstill divné, pokud to od té doby nezměnili tak to je to co mám já
11:20 xstill nezměnili
11:20 xstill cesta je stejná
11:21 mornfall jenže SVN, achjo :D
11:21 mornfall to je 3.2, a "at revision 190137" nic neznamená
12:12 xstill hm, když napíšu stejný příklad pomocí pthreads tak má 89 stavů, pomicí c++11 threadů jsem skoro na 80K a ještě to běží
12:12 xstill něco je špatně
12:19 xstill hm, jenže on ten příklad assertuje když ho pustím normálně, někde v std::thread
12:26 mornfall když jsem vypl parallel build tak to llvm prošlo
12:26 mornfall ale clang ne...
12:26 mornfall impure path `/var/tmp/nix-build-llvm-3.3.drv-0/llvm-3.3.src/build/bin/clang-tblgen' used in link
12:27 mornfall to je zase bordel
12:31 mornfall kde se tahle cesta bere...
12:32 mornfall /nix/store/7n0iwgis8w5f19pm9shfw3crkizm6qpl-llvm-3.3/share/llvm/cmake/LLVMConfig.cmake:set(LLVM_TOOLS_BINARY_DIR /var/tmp/nix-build-llvm-3.3.drv-0/llvm-3.3.src/build/bin)
12:35 mornfall a proč se clang teď jmenuje cfe...
12:36 xstill divný, mě zase konstruktor std::thread hází Operation not permitted
12:39 xstill hm, tak ono se to musí slinkovat s pthread aby to fungovalo jinak to hází vyjímku, to je dost neintuitivní...
12:41 xstill potom to ale zase nevysvětluje proč je to v divine tak velké
12:56 mornfall ani trochu nechápu jak vám to může fungovat
12:56 mornfall tohle je z nixos-ový hydry, set(LLVM_TOOLS_BINARY_DIR /tmp/nix-build-llvm-3.3.drv-0/llvm-3.3.src/build/bin)
12:56 mornfall set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_TOOLS_BINARY_DIR})
12:56 mornfall tohle se nastaví v add_tablegen
12:57 mornfall a zavolá v buildu clang-u
12:57 mornfall ale clang i tam projde
12:57 mornfall a tady ne
13:04 xstill divný, protože já jsem včera clang z x-updates normálně nabuildoval (s gcc 4.7 ale na tom asi nezáleží)
13:05 xstill ale to stl dělá nějaká strašná zvěrstva, zkouším to simulovat a neustále se to hrabe v std::remove_reference a std::swap a že by ten thread začal dělat něco normálního to ne
13:15 xstill super, mám 2 thready v std::remove_reference a 1 v pthread_join, ani jeden se zdánlivě nehýbe
13:22 mornfall no, to bychom měli libc++
13:22 mornfall a co teď s ní :D
13:25 mornfall no, jednak asi bude potřéba aj libc++abi
13:29 mornfall potřeba*
13:42 xstill ono to nejede nad libsupc++?
14:08 mornfall /tmp/test-zY3UVa.o: In function `GCC_except_table2':
14:08 mornfall test.cpp:(.gcc_except_table+0x64): undefined reference to `typeinfo for int'
14:09 mornfall tohle je výsledek libc++ a libsupc++
14:09 mornfall aha
14:10 mornfall funguje to, jen to musíš zase jednou přesně seřadit
14:10 mornfall test.cpp musí být před -l :-)
14:38 mornfall chtělo by to nějak ale ubít clang kterej to bude používat nativně, jinak to budou hrozný hacky zase
14:41 xstill nejde to nějak naštelovat přes clang-wrapper?
14:41 mornfall no, nějak to provedu
14:41 mornfall ../src/cxa_exception.hpp:66:9: error: unknown type name '_Unwind_Exception'
14:42 mornfall tohle je ovšem slabší :-)
14:44 mornfall potřebuju nějakej jinej libunwind než kterej si to našlo samo... pf
14:45 xstill koukám že je s tím veselo
14:47 mornfall už mám :)
14:50 xstill :-)
14:50 mornfall ještě možná compiler-rt
14:50 mornfall ať to máme kompletní :-)
14:52 xstill a to je co?
14:54 mornfall náhrada za libgcc(_s)
14:58 xstill aha
14:59 xstill no nic, půjdu vytáhnout ven kolo a provětrat se před večeří
15:05 mornfall :-)
16:30 mornfall hm, když mám clang dynamicky slinkovanej s llvm a buildím tím nový llvm, tak se pletou ty čerstvý llvm .so do toho clangu; tomu říkám wtf
16:31 mornfall (ono asi llvm-tblgen kterej se pouští v buildu potřebuje vidět na to čerstvý libLLVMSupport.so ...)
16:32 mornfall když si v clang-wrapper smažu LD_LIBRARY_PATH tak to funguje (!)
16:50 xstill k čemu má wrapper LD_LIBRARY_PATH? Neměli by ty cesty být zakódované přímo v binárce?
16:51 xstill hm, nechal jsem draw vykreslit c++11 thready na distance=100 a jen tak namádkou tady vidím uzel někde okolo 25K...
16:53 xstill kdy se s redukcemi emituje stav? I při call a return?
17:05 mornfall ne wrapper
17:05 mornfall ale llvm makefile nastaví LD_LIBRARY_PATH
17:05 mornfall takže clang kterej to llvm kompiluje ji dostane taky a pokusí se použít libLLVMSupport.so z build adresáře
17:05 mornfall call a return ne, pokud to není rekurze
17:06 mornfall já už překládám clang clangem s libc++
17:06 mornfall tak su zvědavej :-)
17:08 mornfall btw. já konfiguruju divine takhle: (gold=`nix-build -A pkgs.binutils_gold  ~/.nix-defexpr/nixpkgs` ; llvm=`nix-build -A pkgs.llvm ~/.nix-defexpr/nixpkgs` ; otb @configure -DCMAKE_BUILD_TYPE=Debug -DCMD_GOLD=$gold/bin/ld.gold -DCMD_AR=$gold/bin/ar -DCMD_LLVMGOLD=$llvm/lib/LLVMgold.so ...)
17:09 mornfall ale je pravda že najít to v .nix-profile out of the box je asi lepší :)
17:11 mornfall koukám že když tě future tak zlobil tak sis ho rovnou vyzkoušel :]
17:14 mornfall achjo, libc++ si nějak dokázalo přilinkovat libstdc++... :-P
17:39 xstill :-D, to by úplně nemusalo
17:40 xstill jo future se celkem dá, je to takový hi-level paralelizmus
17:40 xstill ale verifikovat ho neumíme
17:40 xstill jenže oni nefungují prakticky ani ty std::thread a spol
17:43 xstill ona výhoda použitelnosti tech c++11 threadů a future je v tom, že tam konečně není jeden parametr typu void *
17:46 mornfall jo to jo
20:39 mornfall xstill: hm, ty makra ve wibble/test.h nejsou dobře
21:57 spito left #divine

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