unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* Guile FTBFS on hppa - problem in detecting stack direction?
@ 2008-08-06 20:38 Neil Jerram
  2008-08-06 21:13 ` Kyle McMartin
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Neil Jerram @ 2008-08-06 20:38 UTC (permalink / raw)
  To: debian-hppa; +Cc: guile-devel

Hi hppa people!  I'm hoping you can help me fix a FTBFS that we're
getting with Guile on hppa.

The build log is here:
http://buildd.debian.org/fetch.cgi?pkg=guile-1.8;ver=1.8.5%2B1-2;arch=hppa;stamp=1217809852

The specific problem is a segmentation fault, at a point in a build
that probably won't mean anything to non-Guile folks - but the key
point is that we were recently seeing exactly the same segmentation
fault (i.e. at the same place) on several other architectures (mips,
mipsel, powerpc), and that was caused by the code in configure.in not
detecting the stack direction properly.

This patch - http://git.savannah.gnu.org/gitweb/?p=guile.git;a=commit;h=9143131b2766d1e29e05d61b5021395b4c93a6bc
- fixed the problem for mips, mipsel and powerpc, but it looks as
though we are still getting the stack direction wrong on hppa.  (My
understanding is that on hppa the stack actually grows upwards,
whereas on most platforms it's downwards.)

I've appended the relevant bit of configure.in below.  Can anyone help
with why this might not be working on hppa?

Thanks,
       Neil

#--------------------------------------------------------------------
#
# Which way does the stack grow?
#
# Following code comes from Autoconf 2.61's internal _AC_LIBOBJ_ALLOCA
# macro (/usr/share/autoconf/autoconf/functions.m4).  Gnulib has
# very similar code, so in future we could look at using that.
#
# An important detail is that the code involves find_stack_direction
# calling _itself_ - which means that find_stack_direction (or at
# least the second find_stack_direction() call) cannot be inlined.
# If the code could be inlined, that might cause the test to give
# an incorrect answer.
#--------------------------------------------------------------------

SCM_I_GSC_STACK_GROWS_UP=0
AC_CACHE_CHECK([stack direction],
	       [SCM_I_GSC_STACK_GROWS_UP],
[AC_RUN_IFELSE([AC_LANG_SOURCE(
[AC_INCLUDES_DEFAULT
int
find_stack_direction ()
{
  static char *addr = 0;
  auto char dummy;
  if (addr == 0)
    {
      addr = &dummy;
      return find_stack_direction ();
    }
  else
    return (&dummy > addr) ? 1 : -1;
}

int
main ()
{
  return find_stack_direction () < 0;
}])],
	       [SCM_I_GSC_STACK_GROWS_UP=1],
	       [],
	       [AC_MSG_WARN(Guessing that stack grows down -- see scmconfig.h)])])



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2008-08-09 17:02 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-06 20:38 Guile FTBFS on hppa - problem in detecting stack direction? Neil Jerram
2008-08-06 21:13 ` Kyle McMartin
2008-08-07  1:40 ` Carlos O'Donell
2008-08-07  9:49   ` Bernhard R. Link
2008-08-07 12:29     ` Carlos O'Donell
2008-08-09 13:31     ` Greg Troxel
2008-08-09 15:16       ` Han-Wen Nienhuys
2008-08-07 12:27 ` Carlos O'Donell
2008-08-07 21:04   ` Neil Jerram
2008-08-09 17:02     ` Kyle McMartin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).