Automatically reducing the Linux kernel size may be achieved in different ways. Using LTO (Link Time Optimization) is one such way with many advantages, but it also has major issues. A simpler alternative is linker section garbage collection. However, it turns out that even “simpler” solutions have their share of unsuspected pitfalls, especially on Arm. Those pitfalls and proposed solutions are the subjects of this discussion.