[hjl@gnu-6 interrupt-1]$ cat i-2.i __attribute__((interrupt)) void fn (void *frame) { } [hjl@gnu-6 interrupt-1]$ make i-2.s /export/build/gnu/gcc/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/gcc/build-x86_64-linux/gcc/ -O2 -Wall -Wunused-parameter -mno-push-args -m32 -g -S -o i-2.s i-2.i i-2.i: In function ‘fn’: i-2.i:5:1: internal compiler error: in vt_add_function_parameter, at var-tracking.c:9736 } ^ 0x10c1da1 vt_add_function_parameter /export/gnu/import/git/sources/gcc/gcc/var-tracking.c:9736 0x10c2364 vt_add_function_parameters /export/gnu/import/git/sources/gcc/gcc/var-tracking.c:9795 0x10c2bc8 vt_initialize /export/gnu/import/git/sources/gcc/gcc/var-tracking.c:10012 0x10c36d7 variable_tracking_main_1 /export/gnu/import/git/sources/gcc/gcc/var-tracking.c:10272 0x10c3801 variable_tracking_main() /export/gnu/import/git/sources/gcc/gcc/var-tracking.c:10325 0x10c388e execute /export/gnu/import/git/sources/gcc/gcc/var-tracking.c:10362 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. Makefile:33: recipe for target 'i-2.s' failed make: *** [i-2.s] Error 1 [hjl@gnu-6 interrupt-1]$ The parameter in interrupt handler is special and they don't follow the normal psABI.
Never mind. It was caused by my change: commit fbcc8f30b6311123218e43d301e257e3ae05b622 Author: H.J. Lu <hjl.tools@gmail.com> Date: Mon Oct 5 06:45:57 2015 -0700 Force interrupt parameter into register