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
|
* [International Shipping by Suricrasia Online
|
||||||
](https://bitbucket.org/blackle_mori/international-shipping)
|
](https://bitbucket.org/blackle_mori/international-shipping)
|
||||||
* [Ninjadev dabbles in intros](https://github.com/aleksanb/fourkay)
|
* [Ninjadev dabbles in intros](https://github.com/aleksanb/fourkay)
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
## The C runtime
|
## The C runtime
|
||||||
|
|
||||||
Even though C is a relatively low-level language, some assembly code is needed
|
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
|
For exiting the program when not using `__libc_start_main`, you can just use a
|
||||||
bare syscall, or `int3`.
|
bare syscall, or `int3`.
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
## Process creation
|
## Process creation
|
||||||
|
|
||||||
Main source: "How programs get run", on lwn
|
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.
|
second lwn article for details.
|
||||||
* For dynamic linking-related stuff on program entry, see [this
|
* For dynamic linking-related stuff on program entry, see [this
|
||||||
page](/explain/rtld)
|
page](/explain/rtld)
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
## Dynamic linking
|
## Dynamic linking
|
||||||
|
|
||||||
Dynamic linking is the process of loading code and data from shared libraries.
|
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.
|
read the hashtables.
|
||||||
|
|
||||||
Smol uses these two tricks to achieve an even smaller binary size.
|
Smol uses these two tricks to achieve an even smaller binary size.
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
## Syscalls
|
## Syscalls
|
||||||
|
|
||||||
Main source: "Anatomy of a System Call", on lwn
|
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
|
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 `r7`, arguments are placed in `r0` through `r6`. The return value is
|
||||||
placed in the `r0` register.
|
placed in the `r0` register.
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
## vondehi
|
## vondehi
|
||||||
|
|
||||||
Vondehi is an in-memory unpacker for data compressed with `gzip` or `xz` (or
|
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.
|
3. Run `execveat` on the memfd.
|
||||||
|
|
||||||
Of course, the code itself is hand-optimized x86 assembly, and is very crazy.
|
Of course, the code itself is hand-optimized x86 assembly, and is very crazy.
|
||||||
|
|
||||||
|
|
1
home.md
1
home.md
|
@ -17,3 +17,4 @@
|
||||||
### Talk with us
|
### Talk with us
|
||||||
|
|
||||||
Join `#lsc` on IRCnet!
|
Join `#lsc` on IRCnet!
|
||||||
|
|
||||||
|
|
|
@ -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.)
|
(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.
|
12:32 <@las> NOT ON YOUTUBE.
|
||||||
```
|
```
|
||||||
|
|
||||||
(edited irrelevant stuff out. -pcy)
|
(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)
|
[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)
|
[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
|
## Some notes about the target platform
|
||||||
|
|
||||||
We'll mostly target the Revision compo rules, as it's the biggest party, and
|
We'll mostly target the Revision compo rules, as it's the biggest party, and
|
||||||
|
|
1
tools.md
1
tools.md
|
@ -22,3 +22,4 @@
|
||||||
* [Oidos](https://www.pouet.net/prod.php?which=69524), [untested Linux port
|
* [Oidos](https://www.pouet.net/prod.php?which=69524), [untested Linux port
|
||||||
](https://gitlab.com/PoroCYon/oidos)
|
](https://gitlab.com/PoroCYon/oidos)
|
||||||
* [Axiom](https://github.com/monadgroup/axiom/) is "supposed" to work
|
* [Axiom](https://github.com/monadgroup/axiom/) is "supposed" to work
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue