------- Comment #17 from jv244 at cam dot ac dot uk 2007-07-04 19:17 ------- actually, in gdb, I find that the variable is not corrupted: (gdb) bt #0 0x000000000089dc94 in __message_passing_MOD_mp_stop () #1 0x000000000050ed2e in __cp_log_handling_MOD_cp_add_default_logger () #2 0x000000000059a897 in __f77_interface_MOD_init_cp2k () #3 0x0000000000d49638 in MAIN__ () #4 0x0000000000e8786c in main (argc=2, argv=0x7fff1e9b6768) at /data/vondele/gcc_trunk/gcc/libgfortran/fmain.c:22 (gdb) up #1 0x000000000050ed2e in __cp_log_handling_MOD_cp_add_default_logger () (gdb) print __cp_log_handling_MOD_stack_pointer $1 = 0
(the variable should be 0), but it looks like the assembly might be wrong: g.s: .LCFI15: call mcount cmpl $9, __cp_log_handling_MOD_stack_pointer(%rip) movq %rdi, %rbx jle .L21 movl $108, %edx movl $.LC8, %esi movl $.LC9, %edi call __message_passing_MOD_mp_stop b.s: .LCFI15: cmpl $9, __cp_log_handling_MOD_stack_pointer(%rip) call mcount movq %rdi, %rbx jle .L21 movl $108, %edx movl $.LC8, %esi movl $.LC9, %edi call __message_passing_MOD_mp_stop -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32450