🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.gcc.bug
Article #2190

gcc 1.32 gets fatal signal when using `-finline-functions'

#2190
From: Greg Earle
Date: Mon, 23 Jan 1989 20:00
51 lines
2722 bytes
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
Technical Details
Message-ID: <8901232000.AA14709@poseur.Sun.COM>
Path: arc1-ca.pugleaf.net!utzoo!telly!ddsw1!mcdchg!rutgers!mailrus!tut.cis.ohio-state.edu!SUN.COM!tsunami!valley!poseur!earle

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!telly!ddsw1!mcdchg!rutgers!mailrus!tut.cis.ohio-state.edu!SUN.COM!tsunami!valley!poseur!earle
From: tsunami!valley!poseur!earle@SUN.COM (Greg Earle)
Newsgroups: gnu.gcc.bug
Subject: gcc 1.32 gets fatal signal when using `-finline-functions'
Message-ID: <8901232000.AA14709@poseur.Sun.COM>
Date: 23 Jan 89 20:00:43 GMT
Sender: daemon@tut.cis.ohio-state.edu
Distribution: gnu
Organization: GNUs Not Usenet
Lines: 51