-
-
Notifications
You must be signed in to change notification settings - Fork 358
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
Added x64 assembly compilation #940
Added x64 assembly compilation #940
Conversation
I have executables that segfault on my machine, the ones that do run:
Let me know if you want me to open an issue, or if you want more info. |
The only segfault I could reproduce on my machine is for I will need more detail for the others, and it is probably not my responsibility. I had already noticed the segfault in some of the x64 implementations, but did not take the time to report them, I think. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I might've found a way to pass it only to specific languages.
I found the information here: https://scons.org/doc/production/HTML/scons-man.html#f-ParseFlags, basically you can use -Wl,
to ass stuff to the linker.
It might not be very cross-platform though... Should support gcc/clang at least.
I've run some quick tests, it does seem to also be coming from printf formatting as well on my end, but it happens on more examples. I'll open an issue for it. |
Co-authored-by: Dimitri Belopopsky <ShadowMitia@users.noreply.github.com>
See previous commit)
We basically don't |
For now I think you're right |
1. Using the `LINKFLAGS=''` instead of the `parse_flags` argument helped with a `-lgcc_s not found` error that prevented linking. 2. The simplification was to only use the necessary tools (not the default toolset). This should hopefully be clearer than the previous iterations. All the executables compile correctly in the container. TODO: check that compilation works on Windows.
Alright, @PeanutbutterWarrior and I decided on Discord here to give up on trying to build x86-64 assembly on Windows. Commit 12350c5 fixed a bug in @ShadowMitia's proposal that made it impossible to link correctly. However, the expected behaviour was achieved by using the As such, I think this PR is ready to merge, just possibly waiting for the approval of another maintainer. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great! Thanks for the work here!
And here we go again with X64 Assembly.
There was a little annoyance this time: the way we programmed the assembly required the compilation to use the link flag
-no-pie
. As such, to prevent environment duplication, I elected to add the link flag to all the executables.Apart from this, compilation was not affected, and all executables compile successfully on my Linux machine.
We really should set up a Windows environment to check whether it works as intended there, though.