Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 May 2016 13:06:08 +0900
From:      =?UTF-8?B?6rSA7Jqp6rmA?= <ooxxao@gmail.com>
To:        freebsd-questions@freebsd.org
Subject:   gdb can't find any source after compile through distcc
Message-ID:  <CAJuYDdUNFw3ATO%2BiuacFaHYdXM2ctzou=KCWCGM727V9hn6i6g@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
I'm using several FreeBSD machines, and all of them are in same version,
10.3-RELEASE i386.
And installed distcc  on every machine through ports,
/usr/ports/devel/distcc. The distcc version is distcc-3.1. Using ninja
build system with Clang 3.4.1 instead of GCC. Any compile was done very
successfully. But after, every time I try to make break point in gdb, it
cannot catch any source files of the project.
I think It may be the result of the temp files named distccd_xxxxxxxx.ii that
distcc/distccd give and receive between machines. It located at /tmp/ and
it is volatile. Because clang write path and file name like
/tmp/distccd_xxxxxxxx.ii
and distccd_xxxxxxxx.ii on object file, gdb only knows the 'distccd_XX.ii'
file is the real one.
I've tried 'directory' command in gdb, and it is not sufficient because my
file tree is so complicated and too big. And also, I need to recompile
project again when I changed the obj files. gdb is just fine when I
compiled locally without distcc. I can't use gcc right now (I can't modify
existing compile structure), and pump-mode isn't helpful either.

Is there any solutions for my situation?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJuYDdUNFw3ATO%2BiuacFaHYdXM2ctzou=KCWCGM727V9hn6i6g>