Closed Bug 459304 Opened 11 years ago Closed 11 years ago
nspr missing support for Linux/SPARC64 (64bit)
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:188.8.131.52) Gecko/2008100707 Fedora/3.0.2-1.fc10 Firefox/3.0.2 Build Identifier: NSPR is missing support for Linux/SPARC64 (64bit). I've implemented the missing bits and tested it locally. Reproducible: Always
Comment on attachment 342507 [details] [diff] [review] Enables Linux/SPARC64 support r and sr requests should go to separate people.
Attachment #342507 - Flags: review?(wtc) → review?(julien.pierre.boogz)
Comment on attachment 342507 [details] [diff] [review] Enables Linux/SPARC64 support I don't have any way to test this patch, but it seems correct based on what we do on Solaris sparc 64.
Attachment #342507 - Flags: review?(julien.pierre.boogz) → review+
Comment on attachment 342507 [details] [diff] [review] Enables Linux/SPARC64 support Tom, Is there a __sparc64__ macro? If so, we should use that to follow the existing pattern of __powerpc__ vs. __powerpc64__ and __s390__ vs. __s390x__ in NSPR source code. Does Linux use the _LP64 macro?
The only change I made to Tom's patch is that the value of PR_BYTES_PER_WORD_LOG2 should be 3 instead of 2 because PR_BYTES_PER_WORD is 8. On Solaris, the __sparcv9 macro is defined to indicate 64-bit SPARC. Does Linux use this macro, too? I checked in the patch on the NSPR trunk (NSPR 4.7.2). Checking in _linux.cfg; /cvsroot/mozilla/nsprpub/pr/include/md/_linux.cfg,v <-- _linux.cfg new revision: 3.22; previous revision: 3.21 done Checking in _linux.h; /cvsroot/mozilla/nsprpub/pr/include/md/_linux.h,v <-- _linux.h new revision: 3.52; previous revision: 3.51 done
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → 4.7.2
Sorry for the delay, I filed this right before I went on vacation. There is no __sparcv9 macro on Linux, nor is there a __sparc64__ macro. The only way to check for 64bit compile on sparc is how I have done it, both __arch64__ and __sparc__. [spot@daedalus ~]$ touch foo.h; cpp -m64 -dM foo.h |grep -e arch -e sparc #define sparc 1 #define __sparc__ 1 #define __sparc 1 #define __arch64__ 1
(In reply to comment #4) > Does Linux use the _LP64 macro? It seems to, yes: [spot@daedalus ~]$ touch foo.h; cpp -m64 -dM foo.h |grep -i LP #define __LP64__ 1 #define _LP64 1
Tom, thanks for the answers. I will use __arch64__ then. (I already checked in your patch last Saturday.)
You need to log in before you can comment on or make changes to this bug.