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
gollvm: stack splitting support is not detected,on Aarch64 (GCC, Clang). False negatives during mmap detection #43772
Comments
Here is the compressed build folder. Super detailed CMake's log is available here https://gist.github.com/advancedwebdeveloper/29ed56eb49ba30af9c4c61bc59449d2b |
Your log includes:
I don't think this has anything to do with gollvm. FYI, LLVM back end does not currently support -fsplit-stack for aarch64. Clang accepts the option but does not actually insert stack-check sequences in function prologs, to the best of my knowledge. For aarch64 builds I would recommend using -DGOLLVM_USE_SPLIT_STACK=OFF. |
Well, |
@thanm, what about mmap ? |
OK, I got some progress.
Any suggestions? |
Thanks, I'll send a CL. This is due to a frontend change just recently submitted. |
Change https://golang.org/cl/284581 mentions this issue: |
https://drive.google.com/file/d/11VZO_2zHe_gO77Jj19eetNVuKf4PP_Cx/view?usp=sharing - this my build folder |
https://golang.org/cl/284581 is now submitted. Thanks. |
Confirming: I was able to build gollvm and run GoBackendCoreTests suite. |
Include the newly added "embed.cc" in the list of gofrontend source files when building the compiler. Updates golang/go#43772 Change-Id: Ie685a5e55fcfbb9df40aa30815f8c8c07d2cae24 Reviewed-on: https://go-review.googlesource.com/c/gollvm/+/284581 Trust: Than McIntosh <thanm@google.com> Reviewed-by: Cherry Zhang <cherryyz@google.com>
@thanm , please extract those from https://drive.google.com/file/d/1QnF73JBcHmfdDBP8RSF8ccpgYP6XHDxP/view?usp=sharing |
This is the first issue, which was tacked on Aarch64 servers, provided by Equinix .
CC'ing to @vielmetti , since he is helping with servers, on behalf of gollvm project/Aarch64 port.
Edward, this issue is related to
https://llvm.org/docs/SegmentedStacks.html#:~:text=Segmented%20stack%20allows%20stack%20space,into%20a%20doubly%20linked%20list.
https://gcc.gnu.org/wiki/SplitStacks
. So it is missing critical/being a significant blocker.
Actually I was surprised about it - I thought building on 64bit ARM hardware was possible.
Here is my setup, for now:
Checking the linker:
Checking the OS:
The full list of installed package could be checked here
.
Here is how I am able to track the issue:
The text was updated successfully, but these errors were encountered: