Subject: bug#10780: 24.0.93 fails to build with 'Invalid function: "DEAD"'

From: Dan Horák <[email-masked]>
Date: Wed, 15 Feb 2012 17:38:24 +0100

Paul Eggert píše v St 15. 02. 2012 v 01:15 -0800: 
> On 02/14/2012 11:39 PM, Dan Horák wrote:
> > I have to do some more testing but now it seems that using
> > --with-wide-int option for configure provokes the "Invalid function"
> > behaviour.
> 
> Thanks for looking into it.  I configured --with-wide-int on
> my bigendian 32-bit host and could not reproduce the problem.
> My host is a Solaris 10 sparc (32-bit).  I tried with both
> Sun C 5.12 SunOS_sparc 2011/11/16 (cc -xO4) and with
> GCC 3.4.3 (csl-sol210-3_4-branch+sol_rpath) (gcc -O2).
> 
> Since you built --with-wide-int, can you please also try
> compiling from scratch, with
> "make CPPFLAGS=-DGC_LISP_OBJECT_ALIGNMENT=4"?
> It could be that your compilers claim to be aligning 64-bit
> integers on 8-byte boundaries, but are occasionally actually
> aligning them on 4-byte boundaries.  This messes up conservative
> garbage collection big-time and would explain your symptoms.

The builds (on s390, haven't tried ppc yet) were successful with
GC_LISP_OBJECT_ALIGNMENT set to 1, 2 and 4. Only when it's not set, the
build fails with the "Invalid function" error message.