Subject: pkg/32648: gnupg Solaris10 64bit ABI gcc
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Gilles Dauphin <dauphin@enst.fr>
List: pkgsrc-bugs
Date: 01/27/2006 10:00:01
>Number:         32648
>Category:       pkg
>Synopsis:       gnupg Solaris10 64bit ABI gcc
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jan 27 10:00:01 +0000 2006
>Originator:     Gilles Dauphin
>Release:        SunOS 5.10 i86pc
>Organization:
ENST 
>Environment:


System: SunOS bi.enst.fr 5.10 Generic_118844-20 i86pc


>Description:


gcc -E -I.. -I../include -DHAVE_CONFIG_H mpih-mul1.S | grep -v '^#' > _mpih-mul1.s
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../include  -I/usr/pkg/include -I/usr/include  -O -I/usr/pkg/include -I/usr/include -Wall   -c _mpih-mul1.s
_mpih-mul1.s: Assembler messages:
_mpih-mul1.s:6: Error: suffix or operands invalid for `push'
_mpih-mul1.s:7: Error: suffix or operands invalid for `push'
_mpih-mul1.s:8: Error: suffix or operands invalid for `push'
_mpih-mul1.s:9: Error: suffix or operands invalid for `push'
_mpih-mul1.s:11: Error: `20(%esp)' is not a valid 64 bit base/index expression
_mpih-mul1.s:12: Error: `24(%esp)' is not a valid 64 bit base/index expression
_mpih-mul1.s:13: Error: `28(%esp)' is not a valid 64 bit base/index expression
_mpih-mul1.s:14: Error: `32(%esp)' is not a valid 64 bit base/index expression
_mpih-mul1.s:16: Error: `(%edi,%ecx,4)' is not a valid 64 bit base/index expression
_mpih-mul1.s:17: Error: `(%esi,%ecx,4)' is not a valid 64 bit base/index expression
_mpih-mul1.s:22: Error: `(%esi,%ecx,4)' is not a valid 64 bit base/index expression
_mpih-mul1.s:25: Error: `(%edi,%ecx,4)' is not a valid 64 bit base/index expression
_mpih-mul1.s:33: Error: suffix or operands invalid for `pop'
_mpih-mul1.s:34: Error: suffix or operands invalid for `pop'
_mpih-mul1.s:35: Error: suffix or operands invalid for `pop'
_mpih-mul1.s:36: Error: suffix or operands invalid for `pop'
gmake[2]: *** [mpih-mul1.o] Error 1
gmake[2]: Leaving directory `/usr/pkgsrc/security/gnupg/work/gnupg-1.4.2/mpi'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/pkgsrc/security/gnupg/work/gnupg-1.4.2'
gmake: *** [all] Error 2
*** Error code 2

Stop.
bmake: stopped in /usr/pkgsrc/security/gnupg
===> 
===> There was an error during the ``build'' phase.
===> Please investigate the following for more information:
===>      * log of the build
===>      * /usr/pkgsrc/security/gnupg/work/.work.log
===> 
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/security/gnupg



>How-To-Repeat:


bmake whith gcc -m64


>Fix:


--- Makefile.orig       Mon Dec  5 21:50:56 2005
+++ Makefile    Fri Jan 27 10:51:45 2006
@@ -36,6 +36,9 @@
 
 .if ${OPSYS} == "SunOS" || (${OPSYS} == "NetBSD" && !empty(OS_VERSION:M1.[0-6]*))
 CONFIGURE_ARGS+=       --disable-gnupg-iconv
+.  if ${MACHINE_ARCH} == "i386" && defined(ABI) && ${ABI} == 64
+CONFIGURE_ARGS+=       --disable-asm
+.  endif
 .endif
 
 # XXX: still needed?