-
-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
Everywhere: Remove i686 support #15467
Conversation
9c6d655
to
f1272ee
Compare
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.
Some things about the Math.h stuff, I can provide a solution on discord, but i can always hand in a PR later to clean that up.
41e063d
to
31c8376
Compare
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.
some comments while you keep adding changes :)
Toolchain/Patches/llvm/0003-Driver-Add-support-for-SerenityOS.patch
Outdated
Show resolved
Hide resolved
500a607
to
59841eb
Compare
be5efc8
to
53c5673
Compare
@ADKaster All comments were addressed, thanks for the help! |
Currently we force when compiling to generate DWARF version 4 for all binaries. We don't have UserspaceEmulator being supported in x86-64 because I need to finish #15465. Regardless, this is pretty much ready for merging as it is right now. |
53c5673
to
70761fe
Compare
Does this affect AK-based userspace apps on different platforms, for instance Ladybird and Jakt? It would be useful to at least keep Ladybird working on i686 platforms as it is quite a light but capable browser. I now checked an I see a bunch of Math functions no longer having optimized versions on i686. |
Who is running a 32-bit desktop computer in $CURRENT_YEAR? feels like a best effort thing if anyone with such a computer wants to keep the code working. For math, those optimized versions only mattered when using AK Math for Serenity LibM. Your non-serenity platforms LibM version of those functions is surely better. |
Andrew is right about this, nobody uses an i686 desktop these days in a sanely manner. Even if someone dug up some old dinosaur with Pentium 3 on it (which is probably at least 20 years old?), I don't think they would prefer Ladybird as a browser, to be honest. I am cautious when it comes to speaking for others, but I hardly believe we would want to support and optimize our code for those people too. Now, I am not super happy about this decision. However, I see the benefits of the decision. I know some people are disappointed because their hardware will not be supported by our OS anymore. We will basically lose support on the v86 project too, which I personally very admire. In some place, I knew this decision will come sooner or later, and I decided to try do it my way so I can see what are the consequences of this plan and the actual benefits from this. I truly believe that in the long term only good things will come out of this, both in the Kernel side and Userland side too. |
Why would someone run 32-bit software in current year? For fun, I say, to see how usable it is, but if the maintenance cost outweighs the fun and support then no problem. |
Exactly for the reason you wrote, it was decided to drop i686 support. By using 32 bit software on a 64-bit capable machine you just limit yourself to a constraint that hardware does not impose - it is you that harm performance and usability of your environment. We don't want to encourage such behavior and although i686 boots a bit faster than x86-64 now, it will change in the future as we keep improving it. In virtualization aspect of the decision - there's basically no justification for keeping i686. It can only be justified for legacy hardware setup. |
No functional change.
We currently don't support DWARF revision 5 and LLVM/Clang might create such debug info into our binaries in x86_64, which will lead to a crash in CrashReporter that is unable to parse that information correctly.
64e48fc
to
f12b15a
Compare
FYI I pushed the branch earlier to fix the CI error, and just pushed again to resolve conflicts against |
As soon as CI is green let's get this merged @trflynn89 :) |
I'll leave the merging of this one up to @awesomekling, just wanted to help push this along 🙃 |
Just to get this right. You are building a *unix OS that is focused on the 90s aesthetic, just to remove support for such systems? |
You are quite a funny bunch of people. Ngl. Not even seeing how you are contradicting yourself. |
@Citrullin They're not building a 90s OS, but an OS that looks like the 90s. There is a large difference. |
There's simply one thing you don't understand - we don't live in 90s, but we take ideas that were great from the 90s in the computing space. |
Closes #15444. Relies on the work of #15465, as well as to support DWARF revision 5 quirks and to ensure
UserspaceEmulator
is supported on x86-64.