GKRootWire
AI Google Adds 'Preferred Source' Button to Help Publishers Fight AI Traffic LossesGadgets Linkdaze Launches a Smart Calendar Aimed at Running Your Whole HouseholdSecurity Popular Rust Crate arrayref Hijacked to Spread Infostealer MalwareCloud & Sysadmin GitHub Details Cause of August 17 Outage, Outlines Reliability FixesDev Tools Show HN: 'Huzzah' Proposes a Fresh Take on AI-Assisted CodingCloud & Sysadmin The Weird Science of Cooling Data Centers With UrineAI Google Adds 'Preferred Source' Button to Help Publishers Fight AI Traffic LossesGadgets Linkdaze Launches a Smart Calendar Aimed at Running Your Whole HouseholdSecurity Popular Rust Crate arrayref Hijacked to Spread Infostealer MalwareCloud & Sysadmin GitHub Details Cause of August 17 Outage, Outlines Reliability FixesDev Tools Show HN: 'Huzzah' Proposes a Fresh Take on AI-Assisted CodingCloud & Sysadmin The Weird Science of Cooling Data Centers With Urine
Dev Tools

GCC Explores Trampoline-Free Nested Functions Using Wide Pointers

A compiler engineer details progress on making GCC's nested functions safer and more portable without relying on executable trampolines.

GCC has long supported nested functions as a non-standard C extension, but implementing them typically requires generating small executable code stubs called trampolines at runtime. This approach causes headaches on systems with strict memory protections, like those enforcing non-executable stacks or W^X policies.

A new writeup continues earlier work exploring an alternative: using 'wide pointers' that bundle a function pointer with its enclosing context, avoiding the need to generate code on the stack at all. This follow-up post digs deeper into the technical tradeoffs of the approach, refining how these pointers are represented and passed around in generated code.

While niche, this is the kind of low-level compiler engineering that quietly improves security and portability for anyone using GCC extensions.

Why it matters: Trampoline-based nested functions are a long-standing source of friction on hardened systems (executable-stack restrictions, CFI, sandboxes), so a trampoline-free design could make this GCC feature usable in more security-conscious environments. It's a good example of compiler-level changes rippling into real-world system security.

Sources: Hacker News