SIGSEGV with inline functions on Alpha - many version of egcs

Jeffrey A Law law@cygnus.com
Wed Jan 13 05:41:00 GMT 1999


  In message <19981006184508.44688@ellpspace.math.ualberta.ca>you write:
  > 
  > --TB36FDmn/VVEgNH/
  > Content-Type: text/plain; charset=us-ascii
  > 
  > This report describes a problem which I filed already twice but this
  > time there are more precise details.
  > 
  > Current versions of egcs, for quite a while and including the latest
  > release and the latest snapshot but not the previous release, have
  > problems on Linux/Alpha when inline functions and -O2 optimization
  > is present.
  > 
  > System - Linux/Alpha on EB64+ board, current kernel 2.0.36(pre).  
  > 
  > An included file slhc5.i is a result of trimming down to two functions
  > only, inline __ntohs and slhc_uncompress, of an intermediate file
  > created during a compilation of Linux kernel (original source from
  > drivers/net/slhc.c).
  > 
  > The following command:
  > 
  >   ./cc1 slhc5.i -O2 -version -o slhc2.s
  > 
  > results in SIGSEGV from a compiler.  When optimization is reduced
  > to -O1, or when __ntohs is removed, then there are no compilation
  > problems.  Results from gdb seem to point out to a possibility that
  > if_then_else_cond() from combine.c goes into an infinite recursion
  > eventually running out of a stack space but I am not really sure
  > if I understand that properly.
  > 
  > I include a code file slhc5.i, results from a compilation when only
  > -O1 was used (slhcO1.s),  results from a compilation with -O2 but
  > with __ntohs deleted (slhcO2.s), and a sample trace from gdb session.
  > "Real" code contains, obviously, many other functions including
  > inline __ntohl which curiously enough does not seem be doing any harm.
Thanks for the bug report.  This seems to be working fine with recent
snapshots.

jeff



More information about the Gcc-bugs mailing list