putting-the-you-in-cpu
putting-the-you-in-cpu copied to clipboard
A technical explainer by @kognise of how your computer runs programs, from start to finish.
From [this](https://binaryresearch.github.io/2019/09/17/Analyzing-ELF-Binaries-with-Malformed-Headers-Part-1-Emulating-Tiny-Programs.html) to [this](https://web.archive.org/web/20230819125954/https://binaryresearch.github.io/2019/09/17/Analyzing-ELF-Binaries-with-Malformed-Headers-Part-1-Emulating-Tiny-Programs.html) in Chapter 4 section "Section header table"
About the meaning of opcode 0x05: changed "adding the EAX register to a 32-bit number" to "adding a 32-bit number to the EAX register"
> Linux's solution is to always _allocate the top half_ of the virtual memory space to the kernel https://github.com/hackclub/putting-the-you-in-cpu/blame/7550bc67f911795f356c36502bdaa645a0f1400a/src/content/chapters/5-the-translator-in-your-computer.mdx#L63 the wording suggest linux allocate half of the address space for...
This one : https://binaryresearch.github.io .... Thought you'd like to know!
>The kernel is almost ready to return from the syscall (remember, we’re still in execve). It pushes the argc, argv, and environment variables to the stack for the program to...
Rephrase sentence.
The term "interpreter" was not used in that sentence, nor in that paragraph, so using "this" is confusing, IMO.
Going to the specified link (https://nvd.nist.gov/vuln/detail/CVE-2009-0029) doesn't provide a concrete explanation for needing the arity in the macro name. Is there a direct explanation for this, somewhere?