This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
inconsistent code generation at -m32 with -fprofile-generate -D_PROFILE_GENERATE
- From: Jack Howarth <howarth at bromo dot med dot uc dot edu>
- To: gcc at gcc dot gnu dot org, jh at suse dot cz
- Date: Sat, 15 Dec 2012 09:32:50 -0500
- Subject: inconsistent code generation at -m32 with -fprofile-generate -D_PROFILE_GENERATE
Jan,
It appears that the gcc.dg/tree-prof/pr44777.c execution, -fprofile-generate -D_PROFILE_GENERATE
testcase exposes inconsistent code generation on both x86_64 darwin and x86_64 linux at -m32.
The darwin linker developer looked at the crashing pr44777.exe executable that this testcase
produces...
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52444#c1
I looked at this further was surprised to find that each time the compilation...
/home/howarth/work-gcc/gcc/xgcc -B/home/howarth/work-gcc/gcc/
/home/howarth/gcc/gcc/testsuite/gcc.dg/tree-prof/pr44777.c
-fno-diagnostics-show-caret -O0 -fprofile-generate -D_PROFILE_GENERATE -lm
-m32 -o /home/howarth/work-gcc/gcc/testsuite/gcc/pr44777.x01 --save-temps
produces slightly different assembly...
--- pr44777.s.orig 2012-12-15 09:40:32.507293659 -0500
+++ pr44777.s 2012-12-15 09:40:45.323922586 -0500
@@ -250,7 +250,7 @@
.LPBX0:
.long 875575397
.long 0
- .long -1627233075
+ .long -1627220258
.long .LC0
.long __gcov_merge_add
.long 0
but always at this location. Can you take a look at this under linux? You won't
see the crashing executable but you will see the variable assembly generation
in the -D_PROFILE_GENERATE compile.
Jack