freebsd - gdb can't find any source after compile through distcc -
i'm using several freebsd machines, , of them in same version,
10.3-release i386. , installed distcc every machine through ports,
/usr/ports/devel/distcc/.
i think distcc version distcc-3.1 because of distcc-3.1.tar.bz2 file in /usr/ports/distfiles/.
any compile done successfully, in fast way expected.
but after try make break point in gdb, cannot catch source files of project.
it may result of temp file such 'distccd_xxxxxx.ii' distcc / distccd give , receive between machines.
i've tried 'directory' command in gdb, , not sufficient because file tree complicated , big.
gdb fine when compiled locally without distcc.
is there solutions break situation?
have seen entry in distcc faq? https://github.com/marksatt/distcc/blob/master/doc/web/faq.html :
unfortunately caused bug in gcc, hope fixed in future release. gcc embeds directory compiler (cc1) run, when ought record directory source came from.
can work around using "directory" command in gdb tell find source, or passing absolute file name when compiling.
tim janik has unofficial patch distcc works around think won't merge because it's better fix in gcc.
debian #148957.
there discussion bug on gcc-patches mailing list.
can affect other programs rely on debug stabs, such addr2line, , results in object files not being byte-for-byte identical when include source directory. same bug affects ccache.
the patch seems here: http://testbit.eu/~timj/patches/
Comments
Post a Comment