[gnu.gcc.bug] gcc 1.32 gets fatal signal when using `-finline-functions'

earle@SUN.COM (Greg Earle) (01/24/89)

gcc 1.32 dies with a Segmentation Violation when compiling the X.V11R3 file
	server/dix/events.c
with `-O -traditional -fstrength-reduce -fcombine-regs
-finline-functions' (Removing `-fstrength-reduce' and/or `-fcombine-regs' has
no effect).  When not using -O it dies with a self-induced abort.  Removing
the `-finline-functions' allows for successful compilation (both with or
without -O).

This is on a Sun-3/160M, SunOS 4.0.1+ with appropriate symlinks.

Stack traceback for the no -O case:

(dbx) where
kill(0x396a, 0x6) at 0x6f1fc
abort() at 0x68f89
copy_rtx_and_substitute(orig = 0x8d2f2), line 1249 in "integrate.c"
copy_rtx_and_substitute(orig = 0x8d2f2), line 1328 in "integrate.c"
expand_inline_function(fndecl = 0xea720, parms = 0x2, target = 0x3, ignore = 1, 
type = 0x8ddb4, structure_value_addr = (nil)), line 819 in "integrate.c"
expand_call(exp = 0x8bc14, target = (nil), ignore = 1), line 3633 in "expr.c"
expand_expr(exp = (nil), target = 0x2, tmode = VOIDmode, modifier = 3), line 2372 in "expr.c"
expand_expr_stmt(exp = 0x1b472), line 919 in "stmt.c"
yyparse(), line 891 in "bison.simple"
compile_file(name = 0xa ""), line 968 in "toplev.c"
main(argc = 15, argv = 0x8d2f2, envp = 0xefffa44), line 1695 in "toplev.c"

With -O, the stack traceback is:

(dbx) where
copy_rtx(orig = 0x1), line 192 in "rtl.c"
copy_substitutions(), line 717 in "combine.c"
try_combine(i3 = 0xec9b4, i2 = 0xec7b4, i1 = (nil)), line 613 in "combine.c"
() at 0x42925
rest_of_compilation(decl = 0xec994), line 1341 in "toplev.c"
finish_function(), line 3433 in "c-decl.c"
yyparse(), line 245 in "bison.simple"
compile_file(name = (nil)), line 968 in "toplev.c"
main(argc = 16, argv = 0xec994, envp = 0xefffa40), line 1695 in "toplev.c"

I realize this isn't too helpful; however, the size of the original source
file (105035 bytes) precludes sending a `gcc -E' output along with this report.

[ Side note: with X patches 1-7 applied, plus the Purdue patches, this is
  the *only* file that causes gcc 1.32 to blow up (using `-O -traditional
  -fstrength-reduce -finline-functions -fcombine-regs', that is) in the entire
  distribution.  This is a very encouraging sign ... ]

	- Greg Earle
	  Sun Los Angeles Consulting
	  earle@Sun.COM

paul@UUNET.UU.NET (Paul Hudson) (01/24/89)

Could you tell me wher to get the Purdue patches for X11r3? Ta.
Paul Hudson 

Snail mail: Monotype ADG	Email:	...!ukc!acorn!moncam!paul
	    Science Park,		paul@moncam.co.uk
	    Milton Road,	"Sun Microsysytems:
	    Cambridge,		 The Company is Arrogant (TM)"
	    CB4 4FQ

paul@UUNET.UU.NET (Paul Hudson) (01/24/89)

Yet again I send mail to someone at sun with the smart-ass comment at
the end. Perhaps it should read "Bits of Sun Microsysytems are ...".
No critism of your part intended.

Apologies.

Paul Hudson 

Snail mail: Monotype ADG	Email:	...!ukc!acorn!moncam!paul
	    Science Park,		paul@moncam.co.uk
	    Milton Road,	"Sun Microsysytems:
	    Cambridge,		 The Company is Arrogant (TM)"
	    CB4 4FQ