Closed Bug 459304 Opened 11 years ago Closed 11 years ago

nspr missing support for Linux/SPARC64 (64bit)

Categories

(NSPR :: NSPR, enhancement)

Sun
Linux
enhancement
Not set

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: tcallawa, Assigned: wtc)

Details

Attachments

(1 file, 1 obsolete file)

User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.2) 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
Attached patch Enables Linux/SPARC64 support (obsolete) — Splinter Review
Attachment #342507 - Flags: superreview?
Attachment #342507 - Flags: review?
Attachment #342507 - Flags: superreview?(wtc)
Attachment #342507 - Flags: superreview?
Attachment #342507 - Flags: review?(wtc)
Attachment #342507 - Flags: review?
Hardware: Other → Sun
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+
Status: UNCONFIRMED → NEW
Ever confirmed: true
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
Attachment #342507 - Attachment is obsolete: true
Attachment #342507 - Flags: superreview?(wtc)
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.