guile-devel
[Top][All Lists]
Advanced

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

Re: Pkgsrc patches: patch-ae


From: Ludovic Courtès
Subject: Re: Pkgsrc patches: patch-ae
Date: Sat, 16 Feb 2008 19:49:01 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux)

Hi,

Greg Troxel <address@hidden> writes:

> This just adds defines for more platforms, plus fixes a comment typo.
>
> $NetBSD: patch-ae,v 1.13 2007/07/20 00:09:22 gdt Exp $
>
> support for NetBSD/alpha, NetBSD/sparc64, and NetBSD/x86_64
>
I'm unclear about some of the changes below.

> -# if defined(__NetBSD__) && defined(__sparc__)
> +# if defined(__NetBSD__) && (defined(__sparc__) || defined(__sparc_v9__))

Two questions:

  1. Isn't `__sparc__' defined on V9?  On GNU/Linux, it seems that it is
     defined on both V9 and V8, so no special treatment is required.

  2. Unless I'm mistaken, this is equivalent to

       #if (defined(__NetBSD__) && (defined(__sparc__))) || 
(defined(__sparc_v9__))

     while this should probably be:

       #if defined(__NetBSD__) && (defined(__sparc__) || 
(defined(__sparc_v9__)))

> +# if defined(__NetBSD__) && defined(__x86_64__)
> +#   define X86_64
> +#   define NETBSD
> +#   define mach_type_known
> +# endif

[...]

> +# ifdef X86_64
> +#   define MACH_TYPE "X86_64"
> +#   define ALIGNMENT 8
> +#   define ALIGN_DOUBLE
> +#   define CPP_WORDSZ 64
> +#   ifdef NETBSD
> +#    define OS_TYPE "NETBSD"
> +#   endif
> +#   if defined(NETBSD)
> +#    define HEURISTIC2
> +     extern char etext;
> +#    define DATASTART ((ptr_t)(&etext))
> +#   endif
> +#   endif

Strangely enough, we don't have `LINUX && __x86_64__' either.
Interestingly, of these constants, it seems that Guile uses only
`HEURISTIC2'.  For instance, Guile's GC gets the alignment constraint
through the definition of `SCM_STACKITEM'.

Hence my question: didn't the NetBSD/i386 support suffice on x86-64?
What exact problem did it solve?

The other bits are indeed applicable.

Thanks,
Ludovic.





reply via email to

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