-
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
SAMA5D3 and buildroot carsh with Illegal instruction with hardfloat #28906
Comments
Hi,
|
How did you build node? What options did you pass to configure and make? |
I use build root configured for SAMA5d3 and EABI hard float. I look to makefie and there is no special. VFP is detected and EABI and ARM too. |
Check |
Yes I know. I test all possibilities . But still illegal instruction. |
But is it the same instruction every time? You can check with |
OK I will test it. Thanks. |
|
There is output of disassembled core dump. |
I found another interested thing. If I run node inside gdb I get much interested result. This CPU doesn't have NEON extension.
|
According to SAMA5D3's datasheet it supports VFPv4 so I have no idea why that node/deps/v8/src/flags/flags.cc Lines 132 to 135 in 41637a5
My guess would be that it's an unaligned access, but AFAIK the Cortex-A5 supports unaligned accesses. You can check with That SIGILL in |
|
Assuming it's still crashing at that Is it possible the SAMA5D3 only supports VFP4-D16 mode? I.e., only the d0-d15 registers, not d16-d31? Can you try this patch and do a rebuild with diff --git a/configure.py b/configure.py
index beab9ceccc..b24b948926 100755
--- a/configure.py
+++ b/configure.py
@@ -48,7 +48,7 @@ valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux',
valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'mips64el', 'ppc',
'ppc64', 'x32','x64', 'x86', 'x86_64', 's390x')
valid_arm_float_abi = ('soft', 'softfp', 'hard')
-valid_arm_fpu = ('vfp', 'vfpv3', 'vfpv3-d16', 'neon')
+valid_arm_fpu = ('vfp', 'vfpv3', 'vfpv3-d16', 'vfpv4-d16', 'neon')
valid_mips_arch = ('loongson', 'r1', 'r2', 'r6', 'rx')
valid_mips_fpu = ('fp32', 'fp64', 'fpxx')
valid_mips_float_abi = ('soft', 'hard') |
Ok I test it. I recompile whole buildroot with vfp4-d16 and apply patch above to nodejs. |
There is output of /proc/cpuinfo
|
I suppose you could always try Now that I think of it, an explicit |
I think that vfpv3 and vfpv3-d16 and vfpv4 I tested before. I use buildroot because I haven't success |
Hm still the same.
|
But as you say crash in vldr d17 and can be there only register number max 15 ? I look to configure.py and patch is applied. I don't understand this. |
I've run out of ideas as well. Let me know if you find something. |
Hi, victory :-) |
Hello,
I found problem with nodejs on buildroot. When compile whole buildroot with softfloat nodejs works. But when enable EABIHF and VFP node always crash with Illegal instruction. All other programs work only node and npm crash. I can run node -v but simple node crash.
Dan
The text was updated successfully, but these errors were encountered: