[cfe-dev] MacOSX: cache losing clang/llvm debug symbols with separate compilation…

Christophe de Dinechin christophe.de.dinechin at gmail.com
Mon Jul 28 12:35:46 PDT 2014


Apparently, ccache loses debug symbols on Mavericks with clang/lldb. Here is a session illustrating the problem. I spent quite a bit of time figuring out that ccache was the culprit, so I thought I'd share also on the clang and LLVM mailing lists in case someone else runs into this.

Here is a session illustrating the issue (same issue with C and C++ source files):

% cat glop.cpp 
#include <iostream>

int main()
{
    std::cerr << "Hello World\n";
}
% c++ -g glop.cpp  -o glop
% lldb glop
Current executable set to 'glop' (x86_64).
(lldb) b glop.cpp:5
Breakpoint 1: where = glop`main + 22 at glop.cpp:5, address = 0x00000001000011e6
(lldb) exit

# So far so good. But with separate compilation, it breaks:

% c++ -g -c glop.cpp -o glop.o
% c++ -g glop.o -o glop
% lldb glop
Current executable set to 'glop' (x86_64).
(lldb) b main.cpp:5
Breakpoint 1: no locations (pending).
WARNING:  Unable to resolve breakpoint to any actual locations.
(lldb) exit

% c++ --version
Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.3.0
Thread model: posix
% uname -a 
Darwin somemachine.local 13.3.0 Darwin Kernel Version 13.3.0: Tue Jun  3 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASE_X86_64 x86_64
% ccache --version
ccache version 3.1.9


My ccache is from MacPorts. It seems to be the latest as of today.


Thanks for your help.
Christophe



More information about the cfe-dev mailing list