<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/crazy-shit-linkers-do-relaxation-mgykma9pk" -->

---
title: Crazy shit linkers do: Relaxation | daily.dev
description: Linker relaxation is an optimization technique where the linker transforms indirect function calls through the Global Offset Table (GOT) into more efficient...
canonical: https://daily.dev/posts/crazy-shit-linkers-do-relaxation-mgykma9pk
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Crazy shit linkers do: Relaxation | daily.dev
og:description: Linker relaxation is an optimization technique where the linker transforms indirect function calls through the Global Offset Table (GOT) into more efficient...
og:url: https://daily.dev/posts/crazy-shit-linkers-do-relaxation-mgykma9pk
og:image: https://api.daily.dev/og/posts/mgYkMA9PK.png
og:image:alt: Crazy shit linkers do: Relaxation
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Crazy shit linkers do: Relaxation

**[Farid Zakaria’s Blog](https://daily.dev/sources/fzakaria)** · 5 min read · 0 upvotes · 0 comments

## Summary

Linker relaxation is an optimization technique where the linker transforms indirect function calls through the Global Offset Table (GOT) into more efficient direct calls when building static binaries. The R_X86_64_GOTPCRELX relocation type signals to the linker that it can safely replace a 6-byte indirect call instruction with a 5-byte direct call plus a 1-byte padding (either nop or addr32 prefix). This optimization eliminates unnecessary memory loads and improves performance by allowing the CPU to jump directly to the target address when all function locations are known at link time.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://fzakaria.com/2026/01/30/crazy-shit-linkers-do-relaxation>

## Similar posts on daily.dev

- [Linker Pessimization](https://daily.dev/posts/linker-pessimization-trgqfz2js) · Farid Zakaria’s Blog · 2 upvotes · 0 comments
- [Linux Kernel Considers Linking The Relocatable x86 Kernel As PIE In 2026](https://daily.dev/posts/linux-kernel-considers-linking-the-relocatable-x86-kernel-as-pie-in-2026-owvbwsmts) · Phoronix · 0 upvotes · 0 comments
- [Huge binaries](https://daily.dev/posts/huge-binaries-wnxpejcac) · Farid Zakaria’s Blog · 0 upvotes · 0 comments
- [Redefining Go Functions](https://daily.dev/posts/redefining-go-functions-xw2qyqen0) · Lobsters · 2 upvotes · 1 comments
- [Binary Obfuscation that Doesn't Kill LTO: A Recap of My Thotcon Talk](https://daily.dev/posts/binary-obfuscation-that-doesn-t-kill-lto-a-recap-of-my-thotcon-talk-5st70tkez) · Hacker News · 0 upvotes · 0 comments

---

Tags: [#assembly](https://daily.dev/tags/assembly), [#compiler](https://daily.dev/tags/compiler), [#general-programming](https://daily.dev/tags/general-programming)

[View this post on daily.dev](https://daily.dev/posts/crazy-shit-linkers-do-relaxation-mgykma9pk)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Crazy shit linkers do: Relaxation","url":"https://daily.dev/posts/crazy-shit-linkers-do-relaxation-mgykma9pk","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/crazy-shit-linkers-do-relaxation-mgykma9pk"},"datePublished":"2026-01-31T05:51:32.495Z","dateModified":"2026-03-15T05:23:35.108Z","description":"Linker relaxation is an optimization technique where the linker transforms indirect function calls through the Global Offset Table (GOT) into more efficient...","image":"https://media.daily.dev/image/upload/s--qPvKM23u--/f_auto/v1722860399/public/Placeholder%2009","thumbnailUrl":"https://media.daily.dev/image/upload/s--qPvKM23u--/f_auto/v1722860399/public/Placeholder%2009","isAccessibleForFree":true,"articleSection":"Farid Zakaria’s Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Farid Zakaria’s Blog","logo":"https://media.daily.dev/image/upload/s--YqqvRt90--/f_auto/v1723789280/logos/fzakaria","url":"https://daily.dev/sources/fzakaria"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/crazy-shit-linkers-do-relaxation-mgykma9pk","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"assembly,compiler,general-programming","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Farid Zakaria’s Blog","item":"https://daily.dev/sources/fzakaria"},{"@type":"ListItem","position":3,"name":"Crazy shit linkers do: Relaxation"}]}
```

