Index: ax-gdb.c =================================================================== RCS file: /cvs/src/src/gdb/ax-gdb.c,v retrieving revision 1.69 diff -p -r1.69 ax-gdb.c *** ax-gdb.c 17 Mar 2010 22:04:43 -0000 1.69 --- ax-gdb.c 18 Mar 2010 01:44:44 -0000 *************** gen_int_literal (struct agent_expr *ax, *** 745,750 **** --- 745,759 ---- static void require_rvalue (struct agent_expr *ax, struct axs_value *value) { + /* Only deal with scalars, structs and such may be too large + to fit in a stack entry. */ + value->type = check_typedef (value->type); + if (TYPE_CODE (value->type) == TYPE_CODE_ARRAY + || TYPE_CODE (value->type) == TYPE_CODE_STRUCT + || TYPE_CODE (value->type) == TYPE_CODE_UNION + || TYPE_CODE (value->type) == TYPE_CODE_FUNC) + error ("Value not scalar: cannot be an rvalue."); + switch (value->kind) { case axs_rvalue: