bug-guile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CVS-060720 compilation failure on Solaris 10, patch


From: Ludovic Courtès
Subject: Re: CVS-060720 compilation failure on Solaris 10, patch
Date: Thu, 20 Jul 2006 09:52:37 +0200
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux)

Hi,

Claes Wallin <address@hidden> writes:

> guile-CVS-060720 doesn't compile on Solaris 10. Attaching patch.

I won't be able to test your patch so here are just a few remarks.

> Comments:
>  - Compiles and passes standalone tests now. Gets stack overflows on
>    elisp.test and when trying to start 'guile'.

Did you compile Guile with optimizations?  When using GCC, compiling
with `-O0' quickly yields stack overflows (to that point that one
doesn't even get to the REPL).

>  - The sethostname and PTHREAD_ONCE_INIT conditions should be tested for
>    instead of just slapping a __sun__ on the workarounds. Please help.

Sorry, I don't understand this.

>  - Does any __GNUC__ platform _not_ want alloca.h?

I don't known.  We should normally not have to touch the `#ifdef's
around `alloca ()' since they are the documented way to deal with
`alloca ()' [0].  OTOH, the `#ifdef's changed a bit in the Autoconf
manual (see [0]), so perhaps we should update them accordingly.  Would
this solve your problem?

Otherwise, you can provide specific details as to why this arrangement
fails on your platform and report it to the Autoconf maintainers.  :-)

In any case, I'd be surprised that it fails on Solaris 10 since this is
quite a widespread platform.

Also, when submitting a patch, please follow the GNU coding standard for
ChangeLog entries and code (see below).

> diff -ur ../guile-core/test-suite/standalone/test-list.c 
> ./test-suite/standalone/test-list.c
> --- ../guile-core/test-suite/standalone/test-list.c   2006-02-04 
> 00:34:48.000000000 +0100
> +++ ./test-suite/standalone/test-list.c       2006-07-20 04:42:12.000000000 
> +0200
> @@ -26,7 +26,7 @@
>  /* pretty trivial, but ensure this entrypoint exists, since it was
>     documented in Guile 1.6 and earlier */
>  static void
> -test_scm_list (void)
> +test_scm_list ()

Is there something wrong with the original form?

> diff -ur ../guile-core/test-suite/standalone/test-num2integral.c 
> ./test-suite/standalone/test-num2integral.c
> --- ../guile-core/test-suite/standalone/test-num2integral.c   2006-04-17 
> 01:27:13.000000000 +0200
> +++ ./test-suite/standalone/test-num2integral.c       2006-07-20 
> 04:37:41.000000000 +0200
> @@ -141,12 +141,15 @@
>  #endif /* SCM_SIZEOF_LONG_LONG != 0 */
>  }
>  
> +static void f() {
> +  test_long_long ();
> +  test_ulong_long ();
> +}
> +

This should really be something like:

  static void
  startup ()
  {
    ...
  }

>  int
>  main (int argc, char *argv[])
>  {
> -  scm_init_guile();
> -  test_long_long ();
> -  test_ulong_long ();
> +  scm_boot_guile(argc, argv, f, NULL);

`scm_init_guile ()' is documented and perfectly legal in 1.8.0.  Is
there any reason why you removed it from test cases?

Thanks,
Ludovic.

[0] 
http://www.gnu.org/software/autoconf/manual/html_node/Particular-Functions.html#Particular-Functions




reply via email to

[Prev in Thread] Current Thread [Next in Thread]