NetBSD Problem Report #26815

Received: (qmail 9676 invoked by uid 605); 31 Aug 2004 15:17:51 -0000
Message-Id: <20040831151745.ED74611152@narn.netbsd.org>
Date: Tue, 31 Aug 2004 15:17:45 +0000 (UTC)
From: sak8@eecs.cwru.edu
Sender: gnats-bugs-owner@NetBSD.org
Reply-To: sak8@eecs.cwru.edu
To: gnats-bugs@gnats.NetBSD.org
Subject: libgcrypt does not compile on Solaris 9
X-Send-Pr-Version: www-1.0

>Number:         26815
>Category:       pkg
>Synopsis:       libgcrypt does not compile on Solaris 9
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    gavan
>State:          closed
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Tue Aug 31 15:18:00 +0000 2004
>Closed-Date:    Mon Oct 25 13:09:19 +0000 2004
>Last-Modified:  Mon Oct 25 13:09:19 +0000 2004
>Originator:     Simon Kuhn
>Release:        pkgsrc HEAD / Solaris 9
>Organization:
CWRU
>Environment:
SunOS mentok 5.9 Generic_117171-02 sun4u sparc SUNW,Sun-Fire-V240

>Description:
libgcrypt does not compile due to a missing definition of __udiv_qrnnd. This is defined in mpi/longlong.h, and should in theory be present in libgcc. Upon further research, it seems that this same problem was fixed in gmp in 2001, and the fix seems appropriate here as well.
>How-To-Repeat:
Attempt to compile on Solaris 9 using GCC 3.3.4.
>Fix:
Apply patch:

--- mpi/longlong.h.orig 2004-08-31 11:08:09.263488000 -0400
+++ mpi/longlong.h
@@ -1133,7 +1133,7 @@ extern USItype __udiv_qrnnd ();
             "rJ" ((USItype)(al)),                                      \
             "rI" ((USItype)(bl))                                       \
           __CLOBBER_CC)
-#if defined (__sparc_v8__)
+#if defined (__sparc_v8__) || defined (__sparcv8)
 /* Don't match immediate range because, 1) it is not often useful,
    2) the 'I' flag thinks of the range as a 13 bit signed interval,
    while we want to match a 13 bit interval, sign extended to 32 bits,

as documented at http://lists.gnu.org/archive/html/bug-gmp/2001-10/msg00014.html
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: pkg-manager->solaris-pkg-people 
Responsible-Changed-By: reed 
Responsible-Changed-When: Tue Aug 31 16:42:39 UTC 2004 
Responsible-Changed-Why:  
Assign to Solaris pkgsrc developers. 
Please test provided mpi/longlong.h patch. 

From: Gavan Fantom <gavan@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:  
Subject: pr/26815 CVS commit: pkgsrc/security/libgcrypt
Date: Mon, 25 Oct 2004 13:03:53 +0000 (UTC)

 Module Name:	pkgsrc
 Committed By:	gavan
 Date:		Mon Oct 25 13:03:53 UTC 2004

 Modified Files:
 	pkgsrc/security/libgcrypt: distinfo
 Added Files:
 	pkgsrc/security/libgcrypt/patches: patch-ad

 Log Message:
 Fix for compiling on Solaris SPARC with gcc.

 If __sparcv8 is defined, use the SPARC v8 version of udiv_qrnnd.  Without
 this change, udiv_qrnnd will not be defined using the SPARC v8 udiv
 instruction, and the default SPARC v7 case of defining it to be the native
 __gmpn_udiv_qrnnd will be used, but this does not exist on SPARC v8, so
 at link time, the user will get an error about _gmpn_udiv_qrnnd being
 undefined.  gcc defines __sparcv8.

 From PR pkg/26815.


 To generate a diff of this commit:
 cvs rdiff -r1.9 -r1.10 pkgsrc/security/libgcrypt/distinfo
 cvs rdiff -r0 -r1.1 pkgsrc/security/libgcrypt/patches/patch-ad

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->closed 
State-Changed-By: gavan 
State-Changed-When: Mon Oct 25 13:05:49 UTC 2004 
State-Changed-Why:  
Patch tested and committed 


Responsible-Changed-From-To: solaris-pkg-people->gavan 
Responsible-Changed-By: gavan 
Responsible-Changed-When: Mon Oct 25 13:05:49 UTC 2004 
Responsible-Changed-Why:  
>Unformatted:
 >Quarter:        
 >Keywords:       
 >Date-Required:  

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.