pkgsrc-Bugs archive

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

pkg/37649: lang/clisp fails to build for amd64 (And others) (incl. patch)



>Number:         37649
>Category:       pkg
>Synopsis:       lang/clisp fails to build for amd64 (And others) (incl. patch)
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Dec 30 09:40:00 +0000 2007
>Originator:     Martijn van Buul
>Release:        NetBSD 4.99.45
>Organization:
        
>Environment:
        
        
System: NetBSD atlas.ipv6.stack.nl 4.99.45 NetBSD 4.99.45 (ATLAS) #3: Tue Dec 
25 16:00:08 CET 2007 
martijnb%atlas.ipv6.stack.nl@localhost:/usr/obj/sys/arch/amd64/compile/ATLAS 
amd64
Architecture: x86_64
Machine: amd64
>Description:
        lang/clisp fails to build for amd64 (and probably other 64 bit 
        architectures) due to some sloppy type handling in src/malloc/gmalloc.c
        (which reeks like a gnoe). The declaration and the initialisation of
        a global variable only matches when __malloc_ptrdiff_t is actually
        a ptrdiff_t. It's not, however; it is declared as an int (which
        very well may be the real problem; the definition of 
        __malloc_ptrdiff_t is at line 98 of gmalloc.c, which seems wrong
        to me). 

>How-To-Repeat:
        Try to build lang/clisp on an amd64
>Fix:
        The following patch fixes the build, and clisp seems to work, but
        I wonder whether this fixes the actual problem, or whether it
        merely hides it. At any rate, the implementation of __morecore
        now matches the declaration at line 260, where it didn't before.
 
$NetBSD$

--- src/malloc/gmalloc.c.orig   2006-07-01 10:12:00.000000000 +0200
+++ src/malloc/gmalloc.c
@@ -357,7 +357,7 @@ Fifth Floor, Boston, MA 02110-1301, USA.
 extern __ptr_t bss_sbrk PP ((ptrdiff_t __size));
 extern int bss_sbrk_did_unexec;
 #endif
-__ptr_t (*__morecore) PP ((ptrdiff_t __size)) = __default_morecore;
+__ptr_t (*__morecore) PP ((__malloc_ptrdiff_t __size)) = __default_morecore;
 
 /* Debugging hook for `malloc'.  */
 __ptr_t (*__malloc_hook) PP ((__malloc_size_t __size));

>Unformatted:
        
        



Home | Main Index | Thread Index | Old Index