[CVS 980408]: Patch for test failure gcc.dg/980226-1.c

Manfred Hollstein manfred@s-direktnet.de
Fri Apr 10 05:13:00 GMT 1998


On Fri, 10 April 1998, 00:42:05, law@hurl.cygnus.com wrote:

 >   In message < 13613.2764.693224.635865@saturn.s-direktnet.de >you write:
 >   > Program received signal SIGSEGV, Segmentation fault.
 >   > 0x81c01c2 in constrain_asm_operands (n_operands=0, operands=0xbfffea68, 
 >   >     operand_constraints=0xbfffea40, operand_matches=0xbfffe918, 
 >   >     operand_class=0xbfffe918) at ../../egcs-980408/gcc/reg-stack.c:641
 >   > (gdb) p constraints
 >   > $1 = (char **) 0xbfffe8c8
 >   > (gdb) p constraints[0]
 >   > $2 = 0x0
 >   > (gdb) p q
 >   > $3 = 0x0
 >   > (gdb) 
 >   > 
 >   > The patch below fixes this.
 >   > 
 >   > manfred
 >   > 
 >   > Thu Apr  9 19:47:18 1998  Manfred Hollstein  <manfred@s-direktnet.de>
 >   > 
 >   > 	* reg-stack.c (constrain_asm_operands): Add check against 0 before
 >   > 	dereferencing pointer.
 > I'm a little curious -- what pattern had no constraints on the
 > x86?  I'm a little concerned that we're just papering over a
 > bug in this case.

Well, I'm not very familiar with x86 assembler, but the particular
instruction is:

  asm volatile ("" : : : "st");

manfred



More information about the Gcc-bugs mailing list