ladybird/Userland
Gunnar Beutner 92749d9a76 LibC: Don't call initializers in crt0
The dynamic linker is already taking care of this for us. Now
that crt0 is statically linked into each executable and shared
library this breaks things because initializers are invoked twice.

Before this PR this didn't crash because crt0 and its _start()
function was contained in LibC and thus only LibC's initializers were
invoked several times which wasn't as much of a problem because
these initializers didn't have any side effects (such as malloc/free).

However, user programs are more likely to have constructors with side
effects, e.g.:

    std::string g_test("hello!");

This would allocate memory when the constructor is invoked. When it is
invoked again the original allocation would be leaked and another copy
of the string would get allocated. Worse still, when the destructors are
invoked twice the memory would get free'd twice which would likely
crash the program.
2021-04-16 17:56:12 +02:00
..
Applets Applets: Remove unused UserName applet 2021-04-15 20:38:12 +02:00
Applications Welcome: Fix build breakage 2021-04-15 21:00:55 +02:00
Demos LibGfxDemo: Add an elliptic arc next to the Bezier curves 2021-04-15 17:50:16 +02:00
DevTools Everywhere: It's now "Foobar", not "FooBar", and not "foo bar" 2021-04-13 16:58:15 +02:00
DynamicLoader
Games Chess: Alt shortcuts and book title capitalization in menus 2021-04-14 21:32:37 +02:00
Libraries LibC: Don't call initializers in crt0 2021-04-16 17:56:12 +02:00
Services WindowServer: Recalculate window rect when toggling menubar 2021-04-16 17:28:05 +02:00
Shell Everything: Add -Wnon-virtual-dtor flag 2021-04-15 20:57:13 +02:00
Tests LibM: Use fptan/fpatan instead of approximating atan2/tan 2021-04-15 17:50:16 +02:00
Utilities Everything: Add -Wnon-virtual-dtor flag 2021-04-15 20:57:13 +02:00
CMakeLists.txt Userland: Rename *.MenuApplet => *.Applet 2021-04-04 16:29:55 +02:00