-
Notifications
You must be signed in to change notification settings - Fork 29.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: add basic arm64 support #1028
Conversation
Hah! I knew you couldn't resist a challenge if I put that armv8 slave there. Very nice work. Keen to see the openssl-1.2 issues sorted out. Also, I've been wondering if we should go with the "aarch64" moniker since that appears to be the emerging name for this? "arm64" makes more sense to me but I can't say I've seen that used anywhere else. |
I'm curious, what hardware are you testing this on? |
http://www.linaro.org/leg/servercluster/ ARM have been lending a hand, they are keen to help this become a viable platform for ARMv8 servers. See the note in the last update: https://medium.com/node-js-javascript/io-js-week-of-february-17th-9422a589302a |
aarch64 is what shows up in the gcc triplet but I think in most other places it's called arm64. Off the top of my head: mainline linux, freebsd, debian, ubuntu and V8 itself, of course. |
This from ARM:
|
Perhaps note somewhere during configure phase that openssl support won't be build if you don't use a shared library? |
arm64 seems to be the slightly more popular name, while aarch64 is technically more correct. My gut says call it arm64 for less confusion. |
@jbergstroem Added warning, PTAL. |
@bnoordhuis LGTM |
@jbergstroem Thanks! @rvagg Can I get a LGTM? |
yes, you can get one: LGTM |
This commit adds basic arm64 support to the build. Building the bundled openssl is disabled pending an upgrade to openssl 1.2, the currently bundled version has some hand-rolled assembly that is 32 bits only. PR-URL: nodejs#1028 Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Rod Vagg <rod@vagg.org>
dff4640
to
af0a848
Compare
This commit adds basic arm64 support to the build. Building the bundled openssl is disabled pending an upgrade to openssl 1.2, the currently bundled version has some hand-rolled assembly that is 32 bits only. PR-URL: #1028 Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Rod Vagg <rod@vagg.org>
I'm okay to build without SSL on arm64 for now, but I'm curious that building with |
Notable changes: * stream: Fixed problems for platforms without `writev()` support, particularly Windows. Changes introduced in 1.4.1, via #926, broke some functionality for these platforms, this has now been addressed. #1008 (Fedor Indutny) * arm: We have the very beginnings of ARMv8 / ARM64 / AARCH64 support. An upgrade to OpenSSL 1.0.2 is one requirement for full support. #1028 (Ben Noordhuis) * Add new collaborator: Julian Duque @julianduque
@rvagg Please run ci of https://github.com/shigeki/io.js/tree/arm64_no_asm to check if openssl_no_asm works well on arm64 . |
@rvagg Thanks. Building on arm64 successful but several tests are failed with timeout due to spawnSync . Is this know issue? |
@shigeki I don't believe so. See the armv7 machine which is mostly blue these days and I think the armv8 box is faster than the armv7 one. |
@rvagg |
that's firmly in @bnoordhuis's wheelhouse then |
This commit adds basic arm64 support to the build. Building the bundled
openssl is disabled pending an upgrade to openssl 1.2. The currently
bundled version has some hand-rolled assembly that is 32 bits only.
The first commit is #1027.
It's not all roses but at least it compiles now.
R=@rvagg, /cc @shigeki @silverwind