3.3.1. Common debug section elimination
In DWARF 2, the compiler and assembler generate one set of debug sections for each source file that contributes to a compilation unit. armlink can detect multiple copies of a debug section for a particular source file and discard all but one copy in the final image. This can result in a considerable reduction in image debug size.
In DWARF 3, common debug sections are placed in common groups. armlink discards all but one copy of each group with the same signature.