From 0d05d32b1db44db2618bfa8b084c07130170e14b Mon Sep 17 00:00:00 2001 From: PoroCYon Date: Fri, 26 Apr 2019 01:57:10 +0200 Subject: [PATCH] explanations, uniform layout --- code.md | 1 + explain/crt.md | 2 ++ explain/proc.md | 2 ++ explain/rtld.md | 2 ++ explain/syscalls.md | 2 ++ explain/vondehi.md | 2 ++ home.md | 1 + party/revision/sdl.md | 5 +++-- talks.md | 6 ++++-- target.md | 1 + tools.md | 1 + 11 files changed, 21 insertions(+), 4 deletions(-) diff --git a/code.md b/code.md index aba13a7..cddd750 100644 --- a/code.md +++ b/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) + diff --git a/explain/crt.md b/explain/crt.md index 585bf82..cd5f784 100644 --- a/explain/crt.md +++ b/explain/crt.md @@ -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`. + diff --git a/explain/proc.md b/explain/proc.md index f45d717..eae1211 100644 --- a/explain/proc.md +++ b/explain/proc.md @@ -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) + diff --git a/explain/rtld.md b/explain/rtld.md index 26a6d73..f236cc0 100644 --- a/explain/rtld.md +++ b/explain/rtld.md @@ -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. + diff --git a/explain/syscalls.md b/explain/syscalls.md index 5e35d3c..e1557fa 100644 --- a/explain/syscalls.md +++ b/explain/syscalls.md @@ -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. + diff --git a/explain/vondehi.md b/explain/vondehi.md index 99ad252..7eadec5 100644 --- a/explain/vondehi.md +++ b/explain/vondehi.md @@ -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. + diff --git a/home.md b/home.md index c0bffba..aca231a 100644 --- a/home.md +++ b/home.md @@ -17,3 +17,4 @@ ### Talk with us Join `#lsc` on IRCnet! + diff --git a/party/revision/sdl.md b/party/revision/sdl.md index 998615f..0e27d1c 100644 --- a/party/revision/sdl.md +++ b/party/revision/sdl.md @@ -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.) @@ -25,4 +25,5 @@ 12:32 <@las> NOT ON YOUTUBE. ``` -(edited irrelevant stuff out. -pcy) \ No newline at end of file +(edited irrelevant stuff out. -pcy) + diff --git a/talks.md b/talks.md index 402cf13..8b93779 100644 --- a/talks.md +++ b/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) diff --git a/target.md b/target.md index 08a3356..0c237e4 100644 --- a/target.md +++ b/target.md @@ -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 diff --git a/tools.md b/tools.md index 1c68c01..14b4c71 100644 --- a/tools.md +++ b/tools.md @@ -22,3 +22,4 @@ * [Oidos](https://www.pouet.net/prod.php?which=69524), [untested Linux port ](https://gitlab.com/PoroCYon/oidos) * [Axiom](https://github.com/monadgroup/axiom/) is "supposed" to work +