Skip to content
This repository has been archived by the owner on Oct 15, 2020. It is now read-only.

OpenSSL: Consider asm build on ARM #22

Closed
kunalspathak opened this issue Feb 12, 2016 · 7 comments
Closed

OpenSSL: Consider asm build on ARM #22

kunalspathak opened this issue Feb 12, 2016 · 7 comments
Assignees

Comments

@kunalspathak
Copy link
Member

As commented by @shigeki in nodejs/node#4765 , we should consider adding new config for WIN_CE.

@shigeki
Copy link
Contributor

shigeki commented Feb 16, 2016

I would like to know if there is someone who has ever built OpenSSL-1.0.2 on the current Windows ARM.
I have raspberry pi2 but never installed Windows 10 IOT. Building OpenSSL needs perl and I'm not sure that if it is provided for Win ARM.

Another issue is that the current no-asm configuration of openssl in node is made based on Linux. We have to check if there are some additional sources or defines needed to work on Windows.

@jianchun
Copy link

I would like to know if there is someone who has ever built OpenSSL-1.0.2 on the current Windows ARM.
I have raspberry pi2 but never installed Windows 10 IOT. Building OpenSSL needs perl and I'm not sure that if it is provided for Win ARM.

We never built it on Windows ARM. We use Visual Studio to build and there is no Visual Studio on ARM. Instead we cross-build ARM on x86/x64 hosts.

Another issue is that the current no-asm configuration of openssl in node is made based on Linux. We have to check if there are some additional sources or defines needed to work on Windows.

Do you have specific concerns for this? Are the functionalities covered by unit tests? We have been using the current no-asm configuration for Windows ARM and it builds/runs.

@jianchun
Copy link

@shigeki Could you please elaborate on the original WIN_CE configuration comment? As I understand WIN_CE is an outdated platform. Is OpenSSL dep or node.js ever built for WIN_CE, why do you want to add it now?

@shigeki
Copy link
Contributor

shigeki commented Feb 23, 2016

@jianchun Yes, WIN_CE is very old platform and OpenSSL has not been maintaining it for a long time. I just commented about WIN_CE because https://github.com/nodejs/node-chakracore/blob/chakracore-master/deps/openssl/openssl/INSTALL.WCE indicates how to build openssl on Windows ARM and I'd like to know if it still work on the current Windows ARM with generating asm files. The current Node-Chakra is built on openssl with no asm support so that high performance of tls and crypto module is not expected.
On ARM, tls and crypto would cost much more because of its low cpu performance. I think that the asm support will be required in the future.

Do you have specific concerns for this? Are the functionalities covered by unit tests? We have been using the current no-asm configuration for Windows ARM and it builds/runs.

The current Node only use a part of functionalities of openssl and tests does not cover all inputs parameters so there is no surprise to pass all unit tests.

For define parameters, you can see the list of https://github.com/nodejs/node-chakracore/blob/chakracore-master/deps/openssl/doc/openssl_define_list.pdf and found that there are some differences between Linux and Win. For sources of no-asm build, it is defined in https://github.com/nodejs/node-chakracore/blob/chakracore-master/deps/openssl/openssl.gypi#L638-L653. I made its list from Linux build but I do not know if they are the same ones as Windows build with no-asm.

@jianchun jianchun changed the title Consider adding new config for WIN_CE OpenSSL: Consider asm build on ARM Feb 25, 2016
@kika123
Copy link

kika123 commented Apr 2, 2016

Windows CE uses ARM, but WoA uses Thumb mode
By the way, I have a native compiler on my WoA machine(cross-compiled Clang). An official MS build of Perl exists

@kika123
Copy link

kika123 commented Apr 2, 2016

An cross-compiled Clang runs relatively well, and works fine(even with MSBuild)

@kfarnung
Copy link
Contributor

Windows CE support is not on our roadmap.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants