http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47725
Uros Bizjak <ubizjak at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Target| |x32 Status|UNCONFIRMED |RESOLVED URL|http://gcc.gnu.org/ml/gcc-p | |atches/2011-02/msg00909.htm | |l | Resolution| |FIXED Target Milestone|--- |4.7.0 --- Comment #22 from Uros Bizjak <ubizjak at gmail dot com> 2011-07-28 17:06:49 UTC --- The testcase, referred in Comment 0 is: struct _Unwind_Context { void *reg[17]; void *ra; }; extern void bar (struct _Unwind_Context *); void __frame_state_for (void *pc_target) { struct _Unwind_Context context; __builtin_memset (&context, 0, sizeof (struct _Unwind_Context)); context.ra = pc_target; bar (&context); } Compiling with recent mainline works OK: ~/gcc-build/gcc/cc1 -O2 -fpic -mx32 pr47725.c __frame_state_for: .LFB0: .cfi_startproc subq $88, %rsp .cfi_def_cfa_offset 96 movq %rdi, %rsi xorl %eax, %eax movq %rsp, %rdi movl $9, %ecx rep stosq movq %rsp, %rdi movl %esi, 68(%rsp) call bar@PLT addq $88, %rsp .cfi_def_cfa_offset 8 ret Fixed.