[Bug regression/40132] failure to assign asm constraints properly
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed May 13 17:17:00 GMT 2009
------- Comment #1 from pinskia at gcc dot gnu dot org 2009-05-13 17:17 -------
What GCC is doing is correct according to the source you gave it. The source
needs to be modified to mark old as being an early clobber.
Like:
asm volatile(
"1: " _ASM_MOV " (%[parent]), %[old]\n"
"2: " _ASM_MOV " %[return_hooker], (%[parent])\n"
" movl $0, %[faulted]\n"
"3:\n"
".section .fixup, \"ax\"\n"
"4: movl $1, %[faulted]\n"
" jmp 3b\n"
".previous\n"
_ASM_EXTABLE(1b, 4b)
_ASM_EXTABLE(2b, 4b)
: [old] "=&r" (old), [faulted] "=r" (faulted)
: [parent] "r" (parent), [return_hooker] "r" (return_hooker)
: "memory"
);
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|critical |normal
Status|UNCONFIRMED |RESOLVED
Resolution| |INVALID
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40132
More information about the Gcc-bugs
mailing list