explanations, uniform layout
This commit is contained in:
parent
25687afdd0
commit
0d05d32b1d
1
code.md
1
code.md
|
@ -10,3 +10,4 @@
|
|||
* [International Shipping by Suricrasia Online
|
||||
](https://bitbucket.org/blackle_mori/international-shipping)
|
||||
* [Ninjadev dabbles in intros](https://github.com/aleksanb/fourkay)
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
|
||||
## The C runtime
|
||||
|
||||
Even though C is a relatively low-level language, some assembly code is needed
|
||||
|
@ -26,3 +27,4 @@ isn't exactly a hassle anymore.
|
|||
|
||||
For exiting the program when not using `__libc_start_main`, you can just use a
|
||||
bare syscall, or `int3`.
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
|
||||
## Process creation
|
||||
|
||||
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:
|
|||
second lwn article for details.
|
||||
* For dynamic linking-related stuff on program entry, see [this
|
||||
page](/explain/rtld)
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
|
||||
## Dynamic linking
|
||||
|
||||
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
|
|||
read the hashtables.
|
||||
|
||||
Smol uses these two tricks to achieve an even smaller binary size.
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
|
||||
## Syscalls
|
||||
|
||||
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
|
|||
Syscalls are invoked using the `swi #0` instruction. The syscall number is
|
||||
placed in `r7`, arguments are placed in `r0` through `r6`. The return value is
|
||||
placed in the `r0` register.
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
|
||||
## vondehi
|
||||
|
||||
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
|
|||
3. Run `execveat` on the memfd.
|
||||
|
||||
Of course, the code itself is hand-optimized x86 assembly, and is very crazy.
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
### Las explains the state of SDL at Revision
|
||||
## Las explains the state of SDL at Revision
|
||||
|
||||
(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.)
|
||||
|
||||
|
@ -26,3 +26,4 @@
|
|||
```
|
||||
|
||||
(edited irrelevant stuff out. -pcy)
|
||||
|
||||
|
|
6
talks.md
6
talks.md
|
@ -1,7 +1,9 @@
|
|||
## unlord (LCA 2019)
|
||||
## Talks
|
||||
|
||||
### unlord (LCA 2019)
|
||||
|
||||
[pdf](https://people.xiph.org/~unlord/LCA2019.pdf); [video](https://www.youtube.com/watch?v=J5WX-wN_RKY)
|
||||
|
||||
## Shiz & PoroCYon (Revision 2019)
|
||||
### Shiz & PoroCYon (Revision 2019)
|
||||
|
||||
[pdf](https://pcy.ulyssis.be/pres/Lin.pdf); [video](https://www.youtube.com/watch?v=a03HXo8a_Io)
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
|
||||
## Some notes about the target platform
|
||||
|
||||
We'll mostly target the Revision compo rules, as it's the biggest party, and
|
||||
|
|
Loading…
Reference in New Issue