explain/crt.md
... ...
@@ -10,9 +10,9 @@ function:
10 10
11 11
1. aligns the stack
12 12
2. reads `argc`, `argv`, `environ` and [the auxiliary vector
13
- ](https://www.youtube.com/watch?v=j72GExsDnDU&t=1015) from the stack
13
+ ](https://refspecs.linuxfoundation.org/LSB_1.3.0/IA64/spec/auxiliaryvector.html) from the stack
14 14
3. sets up TLS, locales, and other crap
15
-4. calls `__libc_start_user`, which calls `main`, and `exit` automatically as
15
+4. calls `__libc_start_user`, which first calls the constructors of all global (C++) variables, then calls `main`, and `exit` automatically as
16 16
well.
17 17
18 18
Of course, it's huge, but we can provide our own: step 3 can be skipped, 1 and 2