Created attachment 158198 [details] armv6 fix Hi, www/node010 builds and works fine (tested with www/npm) on armv6 with the attached patch. build log: http://mikael.urankar.free.fr/FreeBSD/arm/build_logs/node010-0.10.38_2.log Thanks.
Why do you need -no-integrated-as?
(In reply to Andrew Turner from comment #1) There is some GAS assembly in openssl that clang can't compile: cc '-DL_ENDIAN' '-DPURIFY' '-D_REENTRANT' '-DOPENSSL_NO_HEARTBEATS' '-DENGINESDIR="/dev/null"' '-DTERMIOS' '-DOPENSSLDIR="/etc/ssl"' '-DAES_ASM' '-DCPUID_ASM' '-DOPENSSL_BN_ASM_MONT' '-DOPENSSL_CPUID_OBJ' '-DSHA1_ASM' '-DSHA256_ASM' '-DSHA512_ASM' '-DGHASH_ASM' '-DDSO_DLFCN' '-DHAVE_DLFCN_H' -I../deps/openssl -I../deps/openssl/openssl -I../deps/openssl/openssl/crypto -I../deps/openssl/openssl/crypto/asn1 -I../deps/openssl/openssl/crypto/evp -I../deps/openssl/openssl/crypto/md2 -I../deps/openssl/openssl/crypto/modes -I../deps/openssl/openssl/crypto/store -I../deps/openssl/openssl/include -Wno-missing-field-initializers -Wall -Wextra -Wno-unused-parameter -pthread -O2 -fno-strict-aliasing -fno-omit-frame-pointer -MMD -MF /usr/ports/www/node010/work/node-v0.10.38/out/Release/.deps//usr/ports/www/node010/work/node-v0.10.38/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/cast/c_enc.o.d.raw -O -pipe -mfloat-abi=softfp -Wno-unused-private-field -Wno-nested-anon-types -Wno-unused-function -Wno-unused-const-variable -fno-strict-aliasing -c -o /usr/ports/www/node010/work/node-v0.10.38/out/Release/obj.target/openssl/deps/openssl/openssl/crypto/cast/c_enc.o ../deps/openssl/openssl/crypto/cast/c_enc.c ../deps/openssl/asm/arm-elf-gas/modes/ghash-armv4.S:76:2: error: invalid instruction ldrplb r12,[r2,r3] ^ ../deps/openssl/asm/arm-elf-gas/modes/ghash-armv4.S:86:2: error: invalid instruction ldrplb r8,[r0,r3] ^ ../deps/openssl/asm/arm-elf-gas/modes/ghash-armv4.S:132:2: error: invalid instruction ldrneb r12,[r2,#15] ^ ../deps/openssl/asm/arm-elf-gas/modes/ghash-armv4.S:221:2: error: invalid instruction ldrplb r12,[r0,r3]
Created attachment 158412 [details] armv6 fix ASM optimizations are off by default for security/openssl. We can do the same with node010 and use clang integrated as. I've updated the patch.
Created attachment 158413 [details] armv6 fix remove a debug option that crept in my previous patch
Created attachment 158414 [details] armv6 fix Build log with my last patch: http://mikael.urankar.free.fr/FreeBSD/arm/build_logs/node010-0.10.38_2_last.log
Where was this patch sourced from? Is upstream aware of it? Is upstream still supporting node 0.10.x ? We try to avoid larger patches in the ports tree if possible.
(In reply to Mark Felder from comment #6) I wrote the patch. Upstream is not aware of it. branch 0.10 is in maintenance mode (latest version is 0.10.39)
Hi, hope that could be accepted by upstream, that we do not need to patch it in every new version. Thanks.
I did a pull request. Let's see what they say. https://github.com/joyent/node/pull/25641
Rejected upstream with good arguments regarding complex maintenance. I don't think it makes sense pursuing this in the port either.