Closed Bug 827271 Opened 11 years ago Closed 11 years ago

Please add support for Aarch64 (64-Bit ARM)

Categories

(NSPR :: NSPR, defect, P2)

4.9.4
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: riku.voipio, Assigned: riku.voipio)

References

Details

Attachments

(1 file, 1 obsolete file)

Attached patch fix-build-on-aarch64.patch (obsolete) — Splinter Review
User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4

Steps to reproduce:

Tried to compile NSPR for Aarch64 (64-Bit ARM). Instructions howto build for Aarch64 is here:

https://wiki.linaro.org/HowTo/ARMv8/OpenEmbedded

Note that the meta-aarch64 layer includes already the patch attached to this bug.




Actual results:

NSPR does not compile on 64-Bit ARM. 

With the attached patch, (originally written by Al Stone, With my additions and fixes) NSPR compiles for Aarch64, and passes most testsuite tests. The remaining failing tests:

multiwait FAILED
- timeout due to slow emulator

nameshm1 FAILED
semaerr FAILED
- Both hang on semaphore issues. Sema and semaping tests pass.

servr_kk FAILED
servr_uk FAILED
servr_ku FAILED
servr_uu FAILED

- These tests provide no useful debug output

foreign FAILED
provider FAILED
- These hardcode thread stack size 64K, which is less than the minimum stack size on Aarch64. Theses tests are broken in this regard and should take in account PTHREAD_STACK_MIN size.
Thank you for the patch. I will take a look at it.
Assignee: wtc → riku.voipio
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Priority: -- → P2
Target Milestone: --- → 4.9.5
Attachment #698613 - Flags: review?(wtc)
I listed the new aarch64 code right below the arm code
because they are closely related.

We should look into the _MD_MINIMUM_STACK_SIZE issue. I
still checked in your _MD_MINIMUM_STACK_SIZE change, but
we should try to avoid it. Perhaps the test program should
not specify a stack size?
http://mxr.mozilla.org/nspr/ident?i=_MD_MINIMUM_STACK_SIZE

Patch checked in on the NSPR trunk (NSPR 4.9.6).

Checking in _linux.cfg;
/cvsroot/mozilla/nsprpub/pr/include/md/_linux.cfg,v  <--  _linux.cfg
new revision: 3.30; previous revision: 3.29
done
Checking in _linux.h;
/cvsroot/mozilla/nsprpub/pr/include/md/_linux.h,v  <--  _linux.h
new revision: 3.64; previous revision: 3.63
done
Attachment #698613 - Attachment is obsolete: true
Attachment #698613 - Flags: review?(wtc)
Attachment #712279 - Flags: checked-in+
Attachment #712279 - Attachment description: fix-build-on-aarch64.patch, v2, by Riku Voipio → fix-build-on-aarch64.patch, v2, by Al Stone and Riku Voipio
Target Milestone: 4.9.5 → 4.9.6
> Patch checked in on the NSPR trunk (NSPR 4.9.6).

Thanks!

> Perhaps the test program should not specify a stack size?

I think this would be the correct solution, I don't understand why the tests need to set stack size. But that's for another bug.
Riku: Thanks for the reply. OK, we'll deal with the 'foreign'
and 'provider' tests in another bug. Marked the bug fixed.
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Blocks: 962534
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: