Tag

linker

0 views collected around this technical thread.

ByteDance SYS Tech
ByteDance SYS Tech
Sep 8, 2023 · Fundamentals

Why Does Your C++ Program Crash? Unveiling Global Object Initialization Order

This article explores how C++ programs start, detailing the role of the _start entry point, the initialization of global objects via .init_array, __libc_csu_init, and constructors, and provides practical techniques—including linking with crt files and using init_priority—to control and debug initialization order and avoid crashes.

Celfglobal initialization
0 likes · 23 min read
Why Does Your C++ Program Crash? Unveiling Global Object Initialization Order
ByteDance Dali Intelligent Technology Team
ByteDance Dali Intelligent Technology Team
Oct 27, 2021 · Fundamentals

Understanding ld64 Static Linking in iOS: Architecture, Symbol Processing, and Optimization

This article provides an in‑depth technical overview of the ld64 static linker used in iOS builds, explaining its architecture, how it parses .o, .a and .dylib files, manages symbols, atoms and fixups, resolves undefined references, performs dead‑code stripping, and generates the final executable.

dead stripiOSld64
0 likes · 30 min read
Understanding ld64 Static Linking in iOS: Architecture, Symbol Processing, and Optimization
ByteDance Terminal Technology
ByteDance Terminal Technology
Sep 23, 2021 · Fundamentals

Understanding ld64 Static Linking on iOS: Architecture, Symbols, and Optimizations

This comprehensive guide explains the inner workings of Apple's ld64 static linker for iOS, covering its historical background, core concepts such as objects, archives, symbols, and fixups, command‑line parameters, execution phases, symbol resolution, dead‑code stripping, optimization passes, output generation, auto‑linking, the -ObjC flag, debugging options, and LTO support.

dead stripiOSld64
0 likes · 31 min read
Understanding ld64 Static Linking on iOS: Architecture, Symbols, and Optimizations