[hjl@gnu-6 ilp32-25]$ cat x.c void callme (void (*callback) (void)); int tryme (void) { int ok = 0; void callback (void) { ok = 1; } callme (&callback); return ok; } [hjl@gnu-6 ilp32-25]$ make /export/build/gnu/gcc-x32/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/ -S -o x.s -mx32 -O2 -g x.c x.c: In function ‘tryme’: x.c:3:1: internal compiler error: in emit_move_insn, at expr.c:3355 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. make: *** [x.s] Error 1 [hjl@gnu-6 ilp32-25]$
Author: hjl Date: Mon Feb 28 19:12:18 2011 New Revision: 170571 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170571 Log: Always use ptr_mode on address. 2011-02-28 H.J. Lu <hongjiu.lu@intel.com> PR target/47926 * config/i386/i386.c (ix86_trampoline_init): Always use ptr_mode on address. Modified: branches/x32/gcc/ChangeLog.x32 branches/x32/gcc/config/i386/i386.c
Author: hjl Date: Tue Mar 1 17:31:31 2011 New Revision: 170598 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170598 Log: Use movl to load trampoline address for x32. 2011-03-01 H.J. Lu <hongjiu.lu@intel.com> PR target/47926 * config/i386/i386.c (ix86_trampoline_init): Use movl instead of movabs for x32. Modified: branches/x32/gcc/ChangeLog.x32 branches/x32/gcc/config/i386/i386.c
Fixed.