This is the mail archive of the
mailing list for the GCC project.
ggdb3 information lost using temporary preprocessed file
- From: "s b" <sb7206 at gmail dot com>
- To: gcc-help at gcc dot gnu dot org
- Date: Thu, 30 Nov 2006 12:12:40 +0100
- Subject: ggdb3 information lost using temporary preprocessed file
I recently started to test 'distcc' to speedup some compilations.
Then I noticed the sizes of generated objects were not the same
compiled locally (using gcc only) and remotely (using gcc through
distcc). After some investigations I found the issue was related to
the '-ggdb3' flag and the fact distcc splits the compilation in two
The issue can be reproduced without distcc; for the following 'main.c'
code the local command used is: 'gcc -ggdb3 -c main.c' and the distcc
one is equivalent to a local: 'gcc -ggdb3 -c main.c -E > main.i; gcc
-ggdb3 -c main.i'.
The resulting sizes are respectively 15400 and 3992 bytes. Using
'-ggdb2' the generated objects are the same. I guess some debugging
information is lost when the compilation is split into two steps but
it could prevent the use of 'distcc' in some cases.
Does anybody know if this is the expected behavior or if it is a bug?
Does a workaround exist?
Thanks in advance and best regards,
PS: we use gcc 3.4.5 on a Linux/Suse Linux Enterprise Server 9 but the
behavior is the same on Solaris 10 (same gcc version).
The main.c code:
int main(int argc, char **argv)