Skip to content

Instantly share code, notes, and snippets.


Per Lundberg perlun

View GitHub Profile
View gist:ce77212a330765ed746a

What you need to write low level Rust code

  • Avoid cargo, it it may seem tempting, but you'll just keep running into untested code paths and design flaws; it's not meant to do it.
  • Using a target specification to describe your platform is recommended, and you'll likely need one for one reason or another anyways (example: ). Pass it to rustc via --target=target.json
  • You wan work without the standard library, by following those instructions:
  • Inline assembly (asm!) blocks are fed directly into LLVM and have horrible error checking, tread lightly and verify the output.
  • LLVM can end up generating dodgy versions of certain instructions on certain versions, it may for example turn "lgdt" into the utterly useless 16-bit version (which truncates the upper 8 bits of the address). Specify operand sizes.
  • An "intel" option is supported, but it seems to be somewhat dodgy (for example, it seemed to d
You can’t perform that action at this time.