-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
AArch64 support (ARMv8-A) #3491
Conversation
- libxml2 is likely to miss unwind tables - libyaml bindings - libgmp bindings
Not the safest choice, but LLVM.read_cycle_counter is unavailable. Maybe we should use `/dev/urandom` instead.
d67da77
to
6be63fe
Compare
Down to a single bug!
@asterite merge? (if Travis is happy) |
@ysbaddaden That bug was happening on Travis a few days ago as well. I wouldn't worry about it. |
I already fixed that bug in master, the spec was buggy (it broke because of DST changes) |
What the hell? Homebrew is distributing LLVM without the AArch64 target 😭 https://github.com/Homebrew/homebrew-core/blob/master/Formula/llvm.rb#L139 |
For example Homebrew distributes LLVM without the AArch64 target by default.
cd9841d
to
51ce238
Compare
@asterite since LLVM targets can be missing, I made them optional in Crystal, too. We now have a |
@ysbaddaden Nice! I'm happy to see that you was able to solve this with a macro :-) |
So, merge? |
@ysbaddaden Whenever you are ready :-) |
AArch64 support (ARMv8-A)
Initial AArch64 port, aka ARM64, aka ARMv8-A.
spawn
(fiber context switch corrupts the callstack)llvm.readcyclecounter
segfaults on Cortex A53/A57 CPUs as previously reported —maybe we'd like to seedRandom
from/dev/urandom
?aarch64-unknown-linux-gnu
targetHTTP generates RFC1123 with local time zone
(certainly a VM misconfiguration)DST issue.Note: I can't link my posix project in my QEMU machine becauseABI fixed, libyaml bindings fixed, but it segfaults because of infiniteld
segfaults... I'll investigate later. In the meantime it's probable the C bindings aren't exact, which may explain some crashes, or maybe the ABI is faulty.clang_visitChildren
recursive calls. Not investigated.Please review!