Run-time variability is a necessary mean to adapt to a configuration or state of a system, which can only be determined during execution. However, implementing such dynamic variability oftentimes results in a conglomerate of a highly branched control flow, with negative impacts on performance. In this paper, we present an approach to dynamically adapt a running system to a specific configuration by means of binary patching. Instead of adding yet another architecture-dependent binary patching technique, we implement the functionality directly in the compiler. With specially annotated config variables, the compiler can generate multiple versions of a function and dynamically binary patch the running system to use the version of the current configuration. Our approach is work-in-progress with developers at SUSE.