Paths in pieces
Summary
The post dives into how GCC can split string literals into overlapping 16-byte chunks to optimize copies of path prefixes, showing that the full path may not exist contiguously in the binary. It discusses how this affects binary auditing, relocation, and deduplication, with examples of clang vs gcc behavior and how build-prefix patches are applied. The author notes limited ways to disable the behavior, and suggests that reproducible builds remain a robust approach to remove machine-specific paths.