Litcius/Paper detail

Compilation Consistency Modulo Debug Information

Theodore Luo Wang, Yongqiang Tian, Yiwen Dong, Zhenyang Xu, C. P. Sun

202314 citationsDOI

Abstract

Compilation Consistency Modulo Debug Information (CCMD) is an essential compiler property that a production compiler should support: the compiler should emit the same machine code regardless of enabling debug information. CCMD is vital to developers’ experiences with debugging a production binary containing no debug information. To debug such a binary, developers need build another binary with the same compiler flags and enable debug information. Without CCMD, the machine code in the latter binary will be different, which can confuse the debugger, hide the bug, or even cause a miscompilation (as GCC once did with the Linux Kernel).

Topics & Concepts

Computer scienceDebuggerDebuggingCompilerBackground debug mode interfaceProgramming languageConsistency (knowledge bases)Kernel (algebra)Operating systemArtificial intelligenceMathematicsCombinatoricsSecurity and Verification in ComputingParallel Computing and Optimization TechniquesAdvanced Malware Detection Techniques