<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Gcc on icyveins7's blog</title><link>https://icyveins7.github.io/tags/gcc/</link><description>Recent content in Gcc on icyveins7's blog</description><generator>Hugo</generator><language>en-us</language><copyright>This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.</copyright><lastBuildDate>Mon, 20 Oct 2025 20:00:00 +0800</lastBuildDate><atom:link href="https://icyveins7.github.io/tags/gcc/index.xml" rel="self" type="application/rss+xml"/><item><title>Build your own tools, gcc edition</title><link>https://icyveins7.github.io/posts/2025/10/build-your-own-tools-gcc-edition/</link><pubDate>Mon, 20 Oct 2025 20:00:00 +0800</pubDate><guid>https://icyveins7.github.io/posts/2025/10/build-your-own-tools-gcc-edition/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;Not complicated, but always good to know the process.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;In this series (?) I&amp;rsquo;ll cover something I always wanted to write down: compiling the toolchains/compilers I use from source. This means, specifically, no using of package managers i.e. not allowed to &lt;code&gt;sudo apt install&lt;/code&gt; dependencies. Of course, this has its limits (&lt;em&gt;you need a compiler to compile gcc, and some OSes don&amp;rsquo;t come pre-installed with one&lt;/em&gt;). However, the premise here is to at least be familiar with the minimal required dependencies, and where to get them (at the time of writing), and then what to do to build everything.&lt;/p&gt;</description></item><item><title>Esoteric Errors: 'hidden symbol is referenced by DSO'</title><link>https://icyveins7.github.io/posts/2024/10/esoteric-errors-hidden-symbol-is-referenced-by-dso/</link><pubDate>Fri, 18 Oct 2024 20:00:00 +0800</pubDate><guid>https://icyveins7.github.io/posts/2024/10/esoteric-errors-hidden-symbol-is-referenced-by-dso/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;Hidden linkage isn&amp;rsquo;t something I&amp;rsquo;d encountered until now, so maybe this will help someone else too..&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h1 id="a-new-series-of-posts"&gt;A new series of posts&lt;/h1&gt;&#10;&lt;p&gt;I recently started work on a new codebase - one that is very large and has multiple moving components, from a frontend desktop UI (not my business) to the hardware interface (also not my business) and the backend processing (this one&amp;rsquo;s my business).&lt;/p&gt;&#10;&lt;p&gt;The standard build process had been setup on a remote server, and most people were ok with the process of connecting to it with tangible amounts of latency, but I was not. So my stubborn ass decided to figure out how to build it myself on a local machine. In the process, I encountered a ridiculous number of build errors; they were using custom Makefiles, but they had been generated by some other tool (possibly from Windows, even though it was being built in Linux, since there was a Windows VS solution as well).&lt;/p&gt;</description></item><item><title>MSVC's terrible auto-vectoriser for AVX</title><link>https://icyveins7.github.io/posts/2024/02/msvcs-terrible-auto-vectoriser-for-avx/</link><pubDate>Sat, 24 Feb 2024 20:00:00 +0800</pubDate><guid>https://icyveins7.github.io/posts/2024/02/msvcs-terrible-auto-vectoriser-for-avx/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;MSVC has extremely lackluster auto-vectorisation, so I handrolled intrinsic calls by backtranslating GCC&amp;rsquo;s output.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h1 id="the-motivation"&gt;The Motivation&lt;/h1&gt;&#10;&lt;p&gt;I recently decided I wanted to spend some time understanding intrinsics and SIMD at a deeper level.&lt;/p&gt;&#10;&lt;p&gt;In developing code for my project &lt;a href="https://github.com/icyveins7/ffs"&gt;&lt;code&gt;ffs&lt;/code&gt;&lt;/a&gt;, I wanted to make sure that the code was running with at least AVX instructions (because that&amp;rsquo;s my target architecture, and honestly very few computers don&amp;rsquo;t have AVX these days..).&lt;/p&gt;&#10;&lt;p&gt;This led me down a path of discovery; first I discovered the amazing-ness that is &lt;a href="https://godbolt.org"&gt;godbolt.org&lt;/a&gt;, then I joined their discord, where I then asked for some help with understanding basic .asm compiler output.&lt;/p&gt;</description></item></channel></rss>