mastouille.fr est l'un des nombreux serveurs Mastodon indépendants que vous pouvez utiliser pour participer au fédiverse.
Mastouille est une instance Mastodon durable, ouverte, et hébergée en France.

Administré par :

Statistiques du serveur :

593
comptes actifs

#linker

0 message0 participant0 message aujourd’hui
Dr. Brian Callahan<p>A new <a href="https://bsd.network/tags/blog" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>blog</span></a> post appears!</p><p>I built a native GCC 14.2.0 for Mac OS X 10.4 Tiger PowerPC.</p><p><a href="https://briancallahan.net/blog/20250329.html" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">briancallahan.net/blog/2025032</span><span class="invisible">9.html</span></a></p><p><a href="https://bsd.network/tags/macos" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>macos</span></a> <a href="https://bsd.network/tags/macosx" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>macosx</span></a> <a href="https://bsd.network/tags/tiger" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>tiger</span></a> <a href="https://bsd.network/tags/powerpc" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>powerpc</span></a> <a href="https://bsd.network/tags/power" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>power</span></a> <a href="https://bsd.network/tags/unix" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>unix</span></a> <a href="https://bsd.network/tags/bsd" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bsd</span></a> <a href="https://bsd.network/tags/freebsd" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>freebsd</span></a> <a href="https://bsd.network/tags/openbsd" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>openbsd</span></a> <a href="https://bsd.network/tags/netbsd" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>netbsd</span></a> <a href="https://bsd.network/tags/dragonflybsd" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dragonflybsd</span></a> <a href="https://bsd.network/tags/linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linux</span></a> <a href="https://bsd.network/tags/solaris" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>solaris</span></a> <a href="https://bsd.network/tags/illumos" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>illumos</span></a> <a href="https://bsd.network/tags/gcc" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gcc</span></a> <a href="https://bsd.network/tags/llvm" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>llvm</span></a> <a href="https://bsd.network/tags/clang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>clang</span></a> <a href="https://bsd.network/tags/compiler" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>compiler</span></a> <a href="https://bsd.network/tags/compilers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>compilers</span></a> <a href="https://bsd.network/tags/assembler" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>assembler</span></a> <a href="https://bsd.network/tags/linker" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linker</span></a> <a href="https://bsd.network/tags/toolchain" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>toolchain</span></a> <a href="https://bsd.network/tags/freesoftware" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>freesoftware</span></a> <a href="https://bsd.network/tags/opensource" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>opensource</span></a> <a href="https://bsd.network/tags/gnu" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gnu</span></a></p>
Sebastian Müller<p>Die Geschwindigkeit mit der man/frau sich als (Pseudo-) <a href="https://freiburg.social/tags/Linker" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Linker</span></a> Aktivisty inzwischen auf neue Zahlen bei den <a href="https://freiburg.social/tags/R%C3%BCstungsausgaben" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Rüstungsausgaben</span></a> einstellen muss, sorgt dafür, das man keine Zeit mehr hat ordentliche Transpis zu machen!</p>
Dr. Brian Callahan<p>A wild <a href="https://bsd.network/tags/blog" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>blog</span></a> post appears.</p><p>A tutorial for setting up a cross compilation environment using FreeBSD/amd64 as the host and macOS/aarch64 as the target.</p><p><a href="https://briancallahan.net/blog/20241216.html" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">briancallahan.net/blog/2024121</span><span class="invisible">6.html</span></a></p><p><a href="https://bsd.network/tags/FreeBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FreeBSD</span></a> <a href="https://bsd.network/tags/OpenBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>OpenBSD</span></a> <a href="https://bsd.network/tags/NetBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>NetBSD</span></a> <a href="https://bsd.network/tags/DragonFlyBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DragonFlyBSD</span></a> <a href="https://bsd.network/tags/Linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Linux</span></a> <a href="https://bsd.network/tags/Unix" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Unix</span></a> <a href="https://bsd.network/tags/macOS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>macOS</span></a> <a href="https://bsd.network/tags/LLVM" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LLVM</span></a> <a href="https://bsd.network/tags/clang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>clang</span></a> <a href="https://bsd.network/tags/lld" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>lld</span></a> <a href="https://bsd.network/tags/compiler" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>compiler</span></a> <a href="https://bsd.network/tags/compilers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>compilers</span></a> <a href="https://bsd.network/tags/assembler" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>assembler</span></a> <a href="https://bsd.network/tags/assemblers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>assemblers</span></a> <a href="https://bsd.network/tags/assembly" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>assembly</span></a> <a href="https://bsd.network/tags/linker" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linker</span></a> <a href="https://bsd.network/tags/linkers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linkers</span></a> <a href="https://bsd.network/tags/ld" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ld</span></a> <a href="https://bsd.network/tags/amd64" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>amd64</span></a> <a href="https://bsd.network/tags/aarch64" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>aarch64</span></a> <a href="https://bsd.network/tags/arm64" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>arm64</span></a></p>
Ivan Enderlin 🦀<p><a href="https://fosstodon.org/tags/weld" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>weld</span></a> </p><p>Finally been able to produce a tiny executable:</p><p>```<br>$ cat exit.s<br>section .text<br>global _start</p><p>_start:<br> mov edi, 42 ; return code 42<br> mov eax, 60 ; `_exit` syscall<br> syscall<br>$ nasm -f elf64 exit.s -o exit.o<br>$ cargo run -- --target x86_64-unknown-unknown exit.o -o a.out</p><p>$ [go on a x86-64 Linux machine]</p><p>$ chmod u+x a.out<br>$ ./a.out<br>$ echo $?<br>42<br>```</p><p>That's a first step! Patches are coming.</p><p><a href="https://fosstodon.org/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://fosstodon.org/tags/linker" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linker</span></a></p>
Rackuur :artpaw:<p>Habe gerade dieses kleine Juwel <a href="https://mastodon.art/tags/Linker" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Linker</span></a> <a href="https://mastodon.art/tags/Politik" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Politik</span></a> gefunden: </p><p><a href="https://mastodon.art/tags/SPD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SPD</span></a> baut halt lieber Soziales ab, was der AFD Wähler zuspielt.<br>Wählt lieber Links, was habt ihr zu verlieren.</p><p><a href="https://mastodon.art/tags/sozialekrise" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>sozialekrise</span></a> <a href="https://mastodon.art/tags/DieLinke" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DieLinke</span></a> <a href="https://mastodon.art/tags/SebastianWalter" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SebastianWalter</span></a> <a href="https://mastodon.art/tags/AFD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>AFD</span></a> </p><p><a href="https://youtu.be/rv_OHT2CmIM" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">youtu.be/rv_OHT2CmIM</span><span class="invisible"></span></a></p>
Ivan Enderlin 🦀<p>Faster linking times on nightly on Linux using `rust-lld, <a href="https://blog.rust-lang.org/2024/05/17/enabling-rust-lld-on-linux.html" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.rust-lang.org/2024/05/17/</span><span class="invisible">enabling-rust-lld-on-linux.html</span></a>.</p><p>&gt; Here are more details from the ripgrep example mentioned above: linking is reduced 7x, resulting in a 40% reduction in end-to-end compilation times</p><p>tl;dr: Rust now packages a rust-lld linker (it’s LLVM’s lld), and uses it on Linux by default on nightly, which decreases compilation time greatly.</p><p><a href="https://fosstodon.org/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://fosstodon.org/tags/linker" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linker</span></a> <a href="https://fosstodon.org/tags/performance" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>performance</span></a></p>
Ivan Enderlin 🦀<p><a href="https://fosstodon.org/tags/weld" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>weld</span></a></p><p>After a long hibernation, the project is now awaken. I've updated the dependencies, and I've committed pending changes on the `Read` and `Write` traits of the `weld-object` crate.</p><p>Nothing fancy, but I can work on it now, <a href="https://github.com/Hywan/weld/commit/62c439fb394ced6699169b78ec43b27d3b757e19" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/Hywan/weld/commit/6</span><span class="invisible">2c439fb394ced6699169b78ec43b27d3b757e19</span></a>.</p><p><a href="https://fosstodon.org/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://fosstodon.org/tags/linker" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linker</span></a></p>
bikejourno<p>Dass Frank A. Meyer "Zeit seines Lebens links politisiert" haben soll, ist eine dreiste Lüge.<br>Als Strippenzieher beim immer latent xenophoben <a href="https://mastodon.cloud/tags/Blick" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Blick</span></a> war Meyer vieles, aber sicher kein <a href="https://mastodon.cloud/tags/Linker" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Linker</span></a>. <br><a href="https://mastodon.cloud/tags/TXMedia" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TXMedia</span></a> betreibt immer öfters schamlos Politik - für Jositsch im Bundesrat, gegen diverse Volksinitiativen. <a href="https://mastodon.cloud/tags/Medien" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Medien</span></a> <a href="https://mastodon.cloud/tags/Schweiz" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Schweiz</span></a></p>
Dr. Brian Callahan<p>I updated the port of <a href="https://bsd.network/tags/mold" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>mold</span></a> for <a href="https://bsd.network/tags/OpenBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>OpenBSD</span></a> on openbsd-wip: <a href="https://github.com/jasperla/openbsd-wip/tree/master/devel/mold" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/jasperla/openbsd-wi</span><span class="invisible">p/tree/master/devel/mold</span></a></p><p>Should just work(TM). For the adventurous, you should be able to install the port and link with an added -fuse-ld=mold flag and all should be good.</p><p><a href="https://bsd.network/tags/unix" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>unix</span></a> <a href="https://bsd.network/tags/linker" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linker</span></a> <a href="https://bsd.network/tags/linkers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linkers</span></a> <a href="https://bsd.network/tags/ld" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ld</span></a> <a href="https://bsd.network/tags/gnu" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gnu</span></a> <a href="https://bsd.network/tags/linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linux</span></a> <a href="https://bsd.network/tags/freebsd" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>freebsd</span></a> <a href="https://bsd.network/tags/netbsd" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>netbsd</span></a> <a href="https://bsd.network/tags/dragonflybsd" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dragonflybsd</span></a> <a href="https://bsd.network/tags/bsd" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bsd</span></a></p>
Simon Racz<p>Writing a Linux ELF Binary by Hand</p><p>We write a 164 bytes long x86-64 ELF binary, a proper "Hello World" executable.</p><p>Code: <a href="https://github.com/simonracz/elf-binary" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/simonracz/elf-binar</span><span class="invisible">y</span></a></p><p>Video: <a href="https://youtu.be/JM9jX2aqkog" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">youtu.be/JM9jX2aqkog</span><span class="invisible"></span></a></p><p><a href="https://discuss.systems/tags/linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linux</span></a> <a href="https://discuss.systems/tags/elf" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>elf</span></a> <a href="https://discuss.systems/tags/assembly" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>assembly</span></a> <a href="https://discuss.systems/tags/linker" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linker</span></a> <a href="https://discuss.systems/tags/compiler" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>compiler</span></a></p>
Dr. Brian Callahan<p>A new <a href="https://bsd.network/tags/blog" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>blog</span></a> post appears!</p><p>Can <a href="https://bsd.network/tags/mold" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>mold</span></a> be used as the <a href="https://bsd.network/tags/OpenBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>OpenBSD</span></a> system <a href="https://bsd.network/tags/linker" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linker</span></a>? Let's find out!</p><p><a href="https://briancallahan.net/blog/20230813.html" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">briancallahan.net/blog/2023081</span><span class="invisible">3.html</span></a></p><p><a href="https://bsd.network/tags/program" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>program</span></a> <a href="https://bsd.network/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> <a href="https://bsd.network/tags/unix" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>unix</span></a> <a href="https://bsd.network/tags/ld" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ld</span></a> <a href="https://bsd.network/tags/linkers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linkers</span></a> <a href="https://bsd.network/tags/compiler" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>compiler</span></a> <a href="https://bsd.network/tags/compilers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>compilers</span></a> <a href="https://bsd.network/tags/programminglanguage" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programminglanguage</span></a> <a href="https://bsd.network/tags/programminglanguages" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programminglanguages</span></a> <a href="https://bsd.network/tags/freebsd" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>freebsd</span></a> <a href="https://bsd.network/tags/netbsd" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>netbsd</span></a> <a href="https://bsd.network/tags/dragonflybsd" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dragonflybsd</span></a> <a href="https://bsd.network/tags/linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linux</span></a> <a href="https://bsd.network/tags/unix" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>unix</span></a> <a href="https://bsd.network/tags/toolchain" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>toolchain</span></a> <a href="https://bsd.network/tags/toolchains" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>toolchains</span></a> <a href="https://bsd.network/tags/llvm" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>llvm</span></a> <a href="https://bsd.network/tags/lld" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>lld</span></a> <a href="https://bsd.network/tags/gnu" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gnu</span></a> <a href="https://bsd.network/tags/binutils" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>binutils</span></a></p>
Dr. Brian Callahan<p>I added a WIP port of the mold linker to openbsd-wip for those interested in trying it out.</p><p>Read the TODO file before using!</p><p><a href="https://github.com/jasperla/openbsd-wip/commit/474de666318b2b3516fc011f6bdca2c7c118473e" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/jasperla/openbsd-wi</span><span class="invisible">p/commit/474de666318b2b3516fc011f6bdca2c7c118473e</span></a></p><p><a href="https://bsd.network/tags/OpenBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>OpenBSD</span></a> <a href="https://bsd.network/tags/mold" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>mold</span></a> <a href="https://bsd.network/tags/linker" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linker</span></a></p>
Ivan Enderlin 🦀<p>Apple has released a new linker, and it's pretty fast, <a href="https://twitter.com/davidecci/status/1665835119331135488" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">twitter.com/davidecci/status/1</span><span class="invisible">665835119331135488</span></a> and <a href="https://twitter.com/rui314/status/1665929739155177472" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">twitter.com/rui314/status/1665</span><span class="invisible">929739155177472</span></a>.</p><p>They claim it's 5x faster than ld64.</p><p>Image showing a benchmark from Rui (mold's author).</p><p>It's a good time to continue my work on `weld`, <a href="https://fosstodon.org/@hywan/109783158363196851" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">fosstodon.org/@hywan/109783158</span><span class="invisible">363196851</span></a> and <a href="https://github.com/Hywan/weld" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="">github.com/Hywan/weld</span><span class="invisible"></span></a>.</p><p><a href="https://fosstodon.org/tags/apple" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>apple</span></a> <a href="https://fosstodon.org/tags/linker" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linker</span></a> <a href="https://fosstodon.org/tags/performance" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>performance</span></a></p>
Ivan Enderlin 🦀<p><a href="https://fosstodon.org/tags/weld" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>weld</span></a> </p><p>My biggest difficulty with linkers is… understanding their errors! I know I'm not alone.</p><p>That's why `weld` must be exemplary on errors, period.</p><p>Please welcome `weld-errors`, <a href="https://github.com/Hywan/weld/compare/b7fde2dbf9fb523dccb041063bfd030967f5e814...4a41bd666c6dc8b76a59bf7c127247312e84127e" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/Hywan/weld/compare/</span><span class="invisible">b7fde2dbf9fb523dccb041063bfd030967f5e814...4a41bd666c6dc8b76a59bf7c127247312e84127e</span></a>.</p><p>What's new?</p><p>* Any error contains a code, a (formatted) message, and a help message,<br>* `weld` pretty prints those errors,<br>* `weld --explain &lt;error_code&gt;` gives detailed diagnostics,<br>* Automatic awesome documentation.</p><p>See the screenshots.</p><p><a href="https://fosstodon.org/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://fosstodon.org/tags/error" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>error</span></a> <a href="https://fosstodon.org/tags/diagnostics" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>diagnostics</span></a> <a href="https://fosstodon.org/tags/friendly" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>friendly</span></a> <a href="https://fosstodon.org/tags/linker" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linker</span></a></p>
Ivan Enderlin 🦀<p><a href="https://fosstodon.org/tags/weld" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>weld</span></a> </p><p>`weld` now takes a `--target &lt;triple&gt;` argument. `weld` is designed to be cross-platform entirely, hence it's legit to be able to specify a target triple, <a href="https://github.com/Hywan/weld/commit/b7fde2dbf9fb523dccb041063bfd030967f5e814" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/Hywan/weld/commit/b</span><span class="invisible">7fde2dbf9fb523dccb041063bfd030967f5e814</span></a>.</p><p>Based on the provided target triple, `weld` will use a particular linker strategy (e.g Elf, MachO, Coff, Wasm etc.).</p><p>$ weld --target x86-64-unknown-linux &lt;input&gt; -o &lt;output&gt; # = Elf</p><p>$ weld --target aarch64-apple-darwin &lt;input&gt; -o &lt;output&gt; # = MachO</p><p>Cool huh?</p><p><a href="https://fosstodon.org/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://fosstodon.org/tags/TargetLexicon" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TargetLexicon</span></a> <a href="https://fosstodon.org/tags/CrossPlatform" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CrossPlatform</span></a> <a href="https://fosstodon.org/tags/linker" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linker</span></a></p>
Ivan Enderlin 🦀<p>Yesterday, I’ve also added support for big- and little-endian. All parser combinators can now handle endianness based on a generic type + trait, <a href="https://github.com/Hywan/weld/commit/5a1ff9f9643fe6b82e7b789e4c2cca7ee6615024" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/Hywan/weld/commit/5</span><span class="invisible">a1ff9f9643fe6b82e7b789e4c2cca7ee6615024</span></a>.</p><p>It’s magic. Rust is cool.</p><p><a href="https://fosstodon.org/tags/linker" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linker</span></a> <a href="https://fosstodon.org/tags/parser" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>parser</span></a> <a href="https://fosstodon.org/tags/elf" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>elf</span></a> <a href="https://fosstodon.org/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a></p>
Ivan Enderlin 🦀<p>So far, I’m writing the Elf64 parser. The goal is to get zero copy, period.</p><p>Yesterday I’ve added section’s data and name, still with zero copy, <a href="https://github.com/Hywan/weld/blob/bfb9fd55c5b2f9114e8f8ab21c5f49d48f9c3b98/crates/parser/src/elf64/mod.rs#L720" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/Hywan/weld/blob/bfb</span><span class="invisible">9fd55c5b2f9114e8f8ab21c5f49d48f9c3b98/crates/parser/src/elf64/mod.rs#L720</span></a>.</p><p>It relies heavily on Rust lifetimes, and bstr to get bytes-based string-ish. The parser is written with nom, and is manipulating bytes slices only.</p><p>bstr: <a href="https://blog.burntsushi.net/bstr/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">blog.burntsushi.net/bstr/</span><span class="invisible"></span></a><br>nom: <a href="https://github.com/rust-bakery/nom" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/rust-bakery/nom</span><span class="invisible"></span></a></p><p><a href="https://fosstodon.org/tags/linker" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linker</span></a> <a href="https://fosstodon.org/tags/parser" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>parser</span></a> <a href="https://fosstodon.org/tags/elf" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>elf</span></a> <a href="https://fosstodon.org/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a></p>
Ivan Enderlin 🦀<p>I’m starting a new project to learn about linkers. It’s called ˋweld`, and it lives here <a href="https://github.com/Hywan/weld" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="">github.com/Hywan/weld</span><span class="invisible"></span></a>.</p><p>I do this on my free time; understand very sporadically.</p><p>This toot is a thread to show progress or to ask help.</p><p><a href="https://fosstodon.org/tags/linker" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linker</span></a> <a href="https://fosstodon.org/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a></p>
Ivan Enderlin 🦀<p>Basic elf64 parser ✅ </p><p><a href="https://fosstodon.org/tags/linker" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linker</span></a> <a href="https://fosstodon.org/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a></p>
Ivan Enderlin 🦀<p>Enable ThinLTO for rustc on `x86_64-apple-darwin`, <a href="https://github.com/rust-lang/rust/pull/103647" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/rust-lang/rust/pull</span><span class="invisible">/103647</span></a>.</p><p><a href="https://fosstodon.org/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://fosstodon.org/tags/compiler" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>compiler</span></a> <a href="https://fosstodon.org/tags/linker" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linker</span></a> <a href="https://fosstodon.org/tags/apple" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>apple</span></a> <a href="https://fosstodon.org/tags/darwin" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>darwin</span></a></p>