code.md
... ...
@@ -10,3 +10,4 @@
10 10
* [International Shipping by Suricrasia Online
11 11
](https://bitbucket.org/blackle_mori/international-shipping)
12 12
* [Ninjadev dabbles in intros](https://github.com/aleksanb/fourkay)
13
+
explain/crt.md
... ...
@@ -1,3 +1,4 @@
1
+
1 2
## The C runtime
2 3
3 4
Even though C is a relatively low-level language, some assembly code is needed
... ...
@@ -26,3 +27,4 @@ isn't exactly a hassle anymore.
26 27
27 28
For exiting the program when not using `__libc_start_main`, you can just use a
28 29
bare syscall, or `int3`.
30
+
explain/proc.md
... ...
@@ -1,3 +1,4 @@
1
+
1 2
## Process creation
2 3
3 4
Main source: "How programs get run", on lwn
... ...
@@ -33,3 +34,4 @@ There are a few details that are crucial for sizecoding stuff. On program entry:
33 34
second lwn article for details.
34 35
* For dynamic linking-related stuff on program entry, see [this
35 36
page](/explain/rtld)
37
+
explain/rtld.md
... ...
@@ -1,3 +1,4 @@
1
+
1 2
## Dynamic linking
2 3
3 4
Dynamic linking is the process of loading code and data from shared libraries.
... ...
@@ -85,3 +86,4 @@ between the "near" and "far" fields of the `link_map`, and use that to
85 86
read the hashtables.
86 87
87 88
Smol uses these two tricks to achieve an even smaller binary size.
89
+
explain/syscalls.md
... ...
@@ -1,3 +1,4 @@
1
+
1 2
## Syscalls
2 3
3 4
Main source: "Anatomy of a System Call", on lwn
... ...
@@ -36,3 +37,4 @@ This is probably true for ARMv5 and ARMv7 as well. No guarantees for ARMv8
36 37
Syscalls are invoked using the `swi #0` instruction. The syscall number is
37 38
placed in `r7`, arguments are placed in `r0` through `r6`. The return value is
38 39
placed in the `r0` register.
40
+
explain/vondehi.md
... ...
@@ -1,3 +1,4 @@
1
+
1 2
## vondehi
2 3
3 4
Vondehi is an in-memory unpacker for data compressed with `gzip` or `xz` (or
... ...
@@ -10,3 +11,4 @@ Vondehi is an in-memory unpacker for data compressed with `gzip` or `xz` (or
10 11
3. Run `execveat` on the memfd.
11 12
12 13
Of course, the code itself is hand-optimized x86 assembly, and is very crazy.
14
+
home.md
... ...
@@ -17,3 +17,4 @@
17 17
### Talk with us
18 18
19 19
Join `#lsc` on IRCnet!
20
+
party/revision/sdl.md
... ...
@@ -1,4 +1,4 @@
1
-### Las explains the state of SDL at Revision
1
+## Las explains the state of SDL at Revision
2 2
3 3
(Context: he is the organizer of the intro compos. [This entry](https://demozoo.org/productions/202460/) uses SDL even though it wasn't allowed in the rules.)
4 4
... ...
@@ -25,4 +25,5 @@
25 25
12:32 <@las> NOT ON YOUTUBE.
26 26
```
27 27
28
-(edited irrelevant stuff out. -pcy)
... ...
\ No newline at end of file
0
+(edited irrelevant stuff out. -pcy)
1
+
talks.md
... ...
@@ -1,7 +1,9 @@
1
-## unlord (LCA 2019)
1
+## Talks
2
+
3
+### unlord (LCA 2019)
2 4
3 5
[pdf](https://people.xiph.org/~unlord/LCA2019.pdf); [video](https://www.youtube.com/watch?v=J5WX-wN_RKY)
4 6
5
-## Shiz & PoroCYon (Revision 2019)
7
+### Shiz & PoroCYon (Revision 2019)
6 8
7 9
[pdf](https://pcy.ulyssis.be/pres/Lin.pdf); [video](https://www.youtube.com/watch?v=a03HXo8a_Io)
target.md
... ...
@@ -1,3 +1,4 @@
1
+
1 2
## Some notes about the target platform
2 3
3 4
We'll mostly target the Revision compo rules, as it's the biggest party, and
tools.md
... ...
@@ -22,3 +22,4 @@
22 22
* [Oidos](https://www.pouet.net/prod.php?which=69524), [untested Linux port
23 23
](https://gitlab.com/PoroCYon/oidos)
24 24
* [Axiom](https://github.com/monadgroup/axiom/) is "supposed" to work
25
+