On Wed, Apr 24, 2002 at 03:22:57PM -0400, Simon Glover wrote: > > --- core.ops.old Wed Apr 24 15:07:05 2002 > +++ core.ops Wed Apr 24 15:22:03 2002 > @@ -470,7 +470,7 @@ > Sets register $1 to the current address plus the offset $2 > > inline op set_addr(out INT, in INT) { > - $1 = cur_opcode + $2; > + $1 = (INTVAL) CUR_OPCODE + $2; > goto NEXT(); > }
That doesn't look right. If cur_opcode is an opcode_t*, then precedence says that this is $1 = ( (INTVAL) CUR_OPCODE ) + $2 which means you're adding bytes instead of opcodes, and the offset will be too small.