Closed
Bug 284438
Opened 21 years ago
Closed 21 years ago
compile on Solaris 10 / SunFire v20z with Opteron 64-Bit faild when using gcc
Categories
(NSS :: Build, defect)
Tracking
(Not tracked)
VERIFIED
WORKSFORME
3.9.5
People
(Reporter: ewald.ertl, Assigned: wtc)
Details
User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7.5) Gecko/20041109 Firefox/1.0
Build Identifier: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7.5) Gecko/20041109 Firefox/1.0
Configuring the C-SDK using gcc on a SunFire V20z ( Opteron-Processor with
64-bit ) to build a 64-Bit Environment fails.
gas - the assembler fails, because of the Option -Wa,-P which is supplied.
The compilation should succed with "-m64 -march=opteron" for 64-Bit.
After I got this all, the compilation broke, because of a missing Assembler-Modul
in /nsprpub/pr/src/md/unix/ for the 64-Bit-Part under Solaris.
Reproducible: Always
Steps to Reproduce:
1. compilation of the c-sdk with 64-Bit support on Solaris 10 with a 64-Bit
AMD-processor by using the gcc
2.
3.
Comment 1•21 years ago
|
||
I do not have access to Solaris 10 or an Opteron-based system. Did the
compilation fail inside NSPR (mozilla/nsprpub) or in the LDAP
(mozilla/directory) code? Can you provide a patch?
Summary: compile on Solaris 10 / SunFire v20z with Opteron 64-Bit faild when using gcc → compile on Solaris 10 / SunFire v20z with Opteron 64-Bit faild when using gcc
| Reporter | ||
Comment 2•21 years ago
|
||
The problem occured during the compile step in security/nss
Here I started with NS_USE_GCC=1 USE_64=1 USE_X86=1 gmake nss_build_all.
In security/coreconf/SunOS5.10_i86pc.mk I added to the OS_DEFINES -m64
-march=opteron, but I don't know if this is the right place.
The Place of the error is appended at the end.
Sorry, I can not provide a patch, because I've no knowledge about
assembler-programming.
Here is the extract where the make produced an error:
gmake[5]: Entering directory
`/entw/tools/MozillaDirectorySDK/mozilla/nsprpub/SunOS5.10_i86pc_gcc_64_DBG.OBJ/pr/src/md/unix'
gcc -o os_SunOS_x86.o -m64 -march=opteron -Wall -pthreads -gstabs -Wa,-s
-fPIC -UNDEBUG -DDEBUG_tools -DDEBUG=1 -DXP_UNIX=1 -DSVR4=1 -DSYSV=1
-D__svr4=1 -D__svr4__=1 -DSOLARIS=1 -DHAVE_FCNTL_FILE_LOCKING=1 -Di386=1
-D_PR_HAVE_OFF64_T=1 -D_LARGEFILE64_SOURCE=1 -DHAVE_LCHOWN=1 -DHAVE_STRERROR=1
-D_REENTRANT=1 -DHAVE_POINTER_LOCALTIME_R=1 -DFORCE_PR_LOG -D_PR_PTHREADS
-UHAVE_CVAR_BUILT_ON_SEM -D_NSPR_BUILD_
-I/entw/tools/MozillaDirectorySDK/mozilla/security/nss/../../dist/SunOS5.10_i86pc_gcc_64_DBG.OBJ/include
-I../../../../../pr/include -I../../../../../pr/include/private -c
../../../../../pr/src/md/unix/os_SunOS_x86.s
../../../../../pr/src/md/unix/os_SunOS_x86.s: Assembler messages:
../../../../../pr/src/md/unix/os_SunOS_x86.s:46: Error: `4(%esp)' is not a valid
64 bit base/index expression
../../../../../pr/src/md/unix/os_SunOS_x86.s:88: Error: `4(%esp)' is not a valid
64 bit base/index expression
Comment 3•21 years ago
|
||
Reassigning this bug to NSS for now (there may be issues under mozilla/directory
as well, but NSPR and NSS need to compile first).
Component: LDAP C SDK → Build
Product: Directory → NSS
Version: other → unspecified
Updated•21 years ago
|
Assignee: mcs → wtchang
QA Contact: wtchang
| Assignee | ||
Comment 4•21 years ago
|
||
Support for Solaris 10 on AMD Opteron with 64-bit
is only available in NSPR 4.5.1 and NSS 3.9.3 or later.
I suggest you cvs checkout -r NSPR_4_5_1_RTM mozilla/nsprpub
and cvs checkout -r NSS_3_9_5_RTM mozilla/security/coreconf mozilla/security/nss.
By the way, USE_X86 is not used by anything in
the Mozilla cvs repository (including NSPR and
NSS). So passing USE_X86=1 to
gmake nss_build_all is useless (but also harmless).
Status: NEW → ASSIGNED
Comment 5•21 years ago
|
||
NSS 3.10 is going to Public Beta next week (assuming all goes according
to plan). It supports AMD64, and even has optimized assembler for it.
I use a v20z as my primary development system and build NSS 3.10 every
day on it. I suggest you try it.
Can we mark this bug "works for me"?
Comment 6•21 years ago
|
||
Ewald,
If you don't have access to Solaris 10, you won't be able to build an AMD64
version of NSS, for the simple reason that the NSS build system runs a command
called "shlibsign" , which is a tool it has just built. This requirement
prevents cross-compilation of NSS.
You need to :
1) download and install Solaris 10 on your machine. This is free from sun.com .
On a v20z, the AMD64 kernel will automatically be installed
2) update your source trees to the versions Wan-Teh noted, NSPR 4.5.1 and NSS
3.9.5 .
3) go to mozilla/security/nss and run "gmake nss_build_all USE_64=1 NS_USE_GCC=1"
Note that if you pull the tip of NSS instead of 3.9.5, you will also get several
new optimizations for RSA and RC4 in native AMD64 assembly .
Marking the bug WORKSFORME.
Status: ASSIGNED → RESOLVED
Closed: 21 years ago
Resolution: --- → WORKSFORME
| Reporter | ||
Comment 7•21 years ago
|
||
(In reply to comment #6)
Hi!
Sorry for the late answere, but currently I have other things to do.
I've downloaded the suggestet SOURCES mentioned by Wan-Teh and compiled
NSS & NSPR successfully.
The next step for me was to compile the directory-Part, but here I stuck, but I
will continue, when I've again time.
But nevertheless, thank you all for your help
| Assignee | ||
Updated•21 years ago
|
Target Milestone: --- → 3.9.5
| Assignee | ||
Updated•21 years ago
|
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•