From ace5089b62874e5ecd7a7c794da4fe386f9db6de Mon Sep 17 00:00:00 2001 From: David Date: Thu, 16 Sep 2021 15:57:46 +0200 Subject: [PATCH] Git runtime post --- .../git-powered-runtime-code-injection.md | 341 ++++++++++++++++++ static/img/commitmenu.png | Bin 0 -> 101590 bytes 2 files changed, 341 insertions(+) create mode 100644 content/posts/git-powered-runtime-code-injection.md create mode 100644 static/img/commitmenu.png diff --git a/content/posts/git-powered-runtime-code-injection.md b/content/posts/git-powered-runtime-code-injection.md new file mode 100644 index 0000000..48fdf3d --- /dev/null +++ b/content/posts/git-powered-runtime-code-injection.md @@ -0,0 +1,341 @@ +--- +title: "Git-powered runtime code injection" +date: 2021-09-16T10:09:35+02:00 +draft: false +--- + +# Motivation + +I've been following the work with [Handmade Hero](https://handmadehero.org/) and the [Handmade Network](https://handmade.network/) for a while. It's hard to keep up with the hundreds of episodes of the original show, but the first 30 or so were an instant classic as far as dealing with the irks and quirks of platform layer code in videogames, and why would you even want to do so. + +One of the great features that came out of the platform layer in was runtime-code injection, around [episode 021](https://guide.handmadehero.org/code/day021/). It is surprisingly easy to replicate, provided that you architect your program just right. The program basically checks if you have re-compiled it and hot-loads the new code on runtime without any delays. + +HMH only checks for _new_ code, though. I figured out it would be a cool proof of concept to write a program that could go _backwards_, too. Using git and [its C API](https://libgit2.org/) it could load any commit, older or newer than the current runtime, and patch the code in using a similar method to HMH. Instead of being something entirely on the backend, this would actually be a fully-fledged menu inside the program that showed all commits. + +So, how did I do it? + +# Platform-dependent vs platform-independent code + +There are three basic ways to separate our platform-dependent code, although only one gives us the cool property of being able to hot-reload code. These are the following: + +1. `#ifdef`s: + A lot of older cross-platform code is chock-full of these. It's the most ad-hoc, "just works" type of cross-platform code, and reads something like this: + + ```c + // In the middle of normal-looking code + #ifdef __WIN32 + LoadLibraryA(libname); + #elif __linux__ + dlopen(libname, RTLD_NOW); + #endif + // Back to the platform indepent code ... + ``` + It doesn't take a genius to see that this gets hard to manage if you use these `ifdef` statements too much. In particular, debugging can become a pain, since the preprocessor is cutting away a lot of lines of unneeded source. + +--- + +2. Abstract away the platform layer: + A saner, more popular way to deal with platform boundaries is abstracting the services that it provides, and calling our own platform-independent encapsulation. It would look something like this: + ```c + // main.c + int main() + { + InitWindow(width, height, "Title"); + SetTargetFPS(60); + + while(!WindowShouldClose()) + { + // More platform-independent code here + } + CloseWindow(); + } + ``` + ```c + // common.h + // These are only the signatures. Implementation goes in windows_code.c / linux_code.c + void InitWindow(int height, int height, char *title); + void SetTargetFPS(int target); + bool WindowShouldClose(void); + void CloseWindow(void); + ``` + + ```Makefile + # Makefile + SRC=main.c common.h + ifeq ($(OS),Windows_NT) + SRC+=windows_code.c + else # presuppose Linux + SRC+=linux_code.c + endif + + main: $(SRC) + gcc $(SRC) -o main + ``` + + Each would-be platform-dependent function is abstracted away in common.h, and its implementation is conditionally compiled with either Linux or Windows-specific code. This is perfectly fine way to architect your code. It has, however, one small problem: what would happen if we had to do things in different order in another operating system? Like, for example, a platform where we need to set the framerate _before_ we create the window. + +--- + +3. Abstract away the game: This is the method used in Handmade Hero. Instead of our game calling the operative system when it needs a service, it is the platform-dependent code that serves as the main entrypoint of the program. Only after it has prepared everything needed for our program to run, does it call our game code. It looks like this: + + ```c + // linux.c + int main() + { + XOpenDisplay(NULL); + // some more linux-specific code... + XCreateWindow(/* params */); + + game_state_t game_state; + bool running; + while (running) + { + waitforvsync(); + running = record_input(&game_state); + game_update_and_render(&game_state); // <- the only platform-independent function we call + } + } + ``` + + ```c + // common.h + // both sides need to know about this structure to work along + typedef struct { + // struct definition + } game_state_t; + + void game_update_and_render(game_state_t *game_state); + ``` + + ```c + // game.c + void game_update_and_render(game_state_t *game_state) + { + // the actual game code goes here + } + ``` + + ```Makefile + # Makefile + SRC=game.c common.h + ifeq ($(OS),Windows_NT) + SRC+=windows.c + else # presuppose Linux + SRC+=linux.c + endif + + main: $(SRC) + gcc $(SRC) -o main + ``` + + Notice that the only place of interaction between both layers is a single function. The platform-side code has total control over things like input, window creation, timing, etc. And the game itself becomes much simpler, only concerning itself with the details inside the game state it can see. Its only job becomes advancing the game to its next state and return control to the platform layer. + + But not only that, this architecture allows some more tricks, like dynamically linking game code. + +# Game as a library + +Since we have abstracted our game code, compiling and linking it as a dynamic library is straightforward, we just need two separate [compilation units](https://www.cs.auckland.ac.nz/references/unix/digital/AQTLTBTE/DOCU_015.HTM): + +```Makefile +# ... +CFLAGS=-fPIC # you will need this to be loaded as a library + +libgame.so: game.c + gcc $(CFLAGS) game.c -o libgame.so + +main: linux.c libgame.so + gcc linux.c -o main +``` + +If we wanted, we could add `-lgame` to `main`'s target and have the linker automagically resolve `game_update_and_render` for us. That would be what is called _early binding_, having the program already know the location of a function before it actually executes. But since we want the ability to change it on runtime, we're interested in _late binding_ here. + +The only real problem here is naming: we have to resort to preprocessor trickery, but it works: + +```c +// common.h +#define GAME_UPDATE(funcname) void funcname(game_state_t *g) +typedef GAME_UPDATE(game_update_f); + +// We save the game code as function pointers so we can transparently change it + +typedef struct { + game_update_f *game_update; +} game_code_t; +``` + +```c +// game.c +// This macro just expands to "void game_update(game_state *g)" +GAME_UPDATE(game_update) +{ + // The actual game code +} +``` + +You can have as many or as few entrypoints to the game code as you desire. For example, having render and update in the same of different functions are two totally valid approaches. You just have to make sure to correctly link all symbols when loading: + + +```c +// linux.c +// ... +void *library_handle = dlopen("libgame.so", RTLD_NOW); +game_code_t game_code; +game_code.game_update = dlsym(library_handle, "game_update"); +// ... +while(running) +{ + // ... + game_code.update(game_state); +} +``` + +Linux and Windows systems have different extensions and methods for linking, but the essence remains the same. With this setup, runtime-reloading of code is pretty straightforward. The way they do it in Handmade Hero is checking the timestamp of the game library, and reloading the symbols if it changes. Essentially, they reload the game code if you recompile the game while running. + +This little trick has its limitations: + +1. Reloading platform code is not possible for obvious reasons, so it won't help while developing the platform layer (which isn't _that much_ of a problem, since it's a small percentage of the actual work). +2. You shouldn't save intermediate game state in the game layer, things like `static` keywords inside game functions are a no-no while recompiling and relinking code. Saving everything in its designated memory takes some discipline. +3. There are no safety rails. For example, changing the structure of the `game_code_t` is an incompatible change with previous versions of the program, and will likely crash the program if you change it on runtime. However, it is also an excellent way to test for backwards and forwards compatibility. + +# A git-aware game + +This trick is pretty powerful by itself, but I figured combining it with version control would make it even ever. We'll be using `libgit2` to retrieve commit information from the folder that the game lives in, and presenting it inside an ncurses menu (granted, ncurses is not a very platform-independent way of rendering, but it's simple enough for a proof of concept). + +Libgit2's development is actually sort-of independent of the `git` CLI, so it's not exactly a 100% replacement, and requires a bit of work to get things going. Since it's something that both the platform and game layers need to see (for loading and rendering the menu respectively) I added it to the `game_state`: + +```c +struct commit_node_t; +typedef struct commit_node_t commit_node_t; + +struct commit_node_t { + commit_node_t *next; + char summary[32]; + char author[32]; + char email[32]; + char date_as_string[32]; + git_oid oid; // SHA-1 hash of GIT_OID_RAWSZ (20) Bytes + git_oid tree_oid; // the hash of the tree referenced by this particular commit + char oid_as_string[41]; // 20 oid Bytes * 2 chars to represent each byte + terminating \0 +}; + +typedef struct { + // ... + commit_node_t *commit_list; + git_oid platform_oid; // commit the platform layer is based on + git_oid game_oid; // commit of the currently loaded game layer + git_oid selected_oid; // commit we just selected on the menu + // ... +} game_state_t; +``` +I decided to represent them as an intrusive list, but that's an arbitrary decision. + +Initially populating this list is done by a `revwalker`: + +```c +int read_git_repo(git_repository *repo, commit_node_t **list_head) +{ + git_revwalk *walker = NULL; + git_commit *commit = NULL; + + // We use a revwalker starting from HEAD to retrieve commits one by one + git_revwalk_new(&walker, repo); + git_revwalk_sorting(walker, GIT_SORT_TOPOLOGICAL); + git_revwalk_push_head(walker); + + while (git_revwalk_next(&oid, walker) != GIT_ITEROVER) + { + // populate list with commit data + } +} +``` + +Once a commit is selected via menu, we just need to extract its files for compilation. A quick and dirty way to do so is creating a temporal folder with `mkdtemp`: + +```c +char *dump_git_tree(char *dirname, git_oid oid, git_repository *repo) +{ + git_tree *tree; + git_tree_lookup(&tree, repo, &oid); + + mkdtemp(tempdirname); + int n = git_tree_entrycount(tree); + for (int i = 0; i < n; ++i) + { + const git_tree_entry *entry; + git_object *object; + + entry = git_tree_entry_byindex(tree, i); + if (git_object_type(object) == GIT_OBJECT_BLOB) + { + git_blob *blob = (git_blob *) object; + // Construct the filename of the new file: tempdir/filename + char filepath[PATH_MAX]; + strcpy(filepath, dirname); + strcat(filepath, "/"); + strcat(filepath, git_tree_entry_name(entry)); + + // Actually write the file contents to the temp folder + FILE *fp = fopen(filepath, "w"); + fwrite(git_blob_rawcontent(blob), (size_t)git_blob_rawsize(blob), 1, fp); + fclose(fp); + } + } + return tempdirname; +} +``` + +Then, we compile and load the extracted code. One way to do it is forking our process and waiting for the compilation to finish: +```c +char *tempdir = dump_git_tree("tempXXXXXX", game_state.selected_oid, game_state.repo); +int pid = fork(); + +if (!pid) // we are the child process +{ + char command[PATH_MAX]; + strcpy(command, "--directory="); + strcat(command, "./"); + strcat(command, tempdir); + + // Redirect output to /dev/null to avoid messing the screen + int fd = open("/dev/null", O_WRONLY); + dup2(fd, 1); + dup2(fd, 2); + + execl("/usr/bin/make", "/usr/bin/make", "-s", command, "libgame.so", (char*) NULL); +} +// Wait for compilation to finish +wait(0); + +// ... + +// Actually do the code injection +char libpath[PATH_MAX] = "./"; +strcat(libpath, tempdir); +strcat(libpath, "/game.so"); + +load_functions(&game_code, libpath); + +``` + +And just like that, our `game_code` struct has been updated with new code. The finished product looks something like this: + +![Image]({{< static "img/commitmenu.png" >}}) + +I pushed a [GitHub repo](https://github.com/Phireh/runtime-git) with the complete proof of concept of this simple idea. You can edit anything in `game.so`, commit the changes, and play a bit changing the game code in real time. Right now it has a simple implementation of [Conway's game of life](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life) rendered in ncurses. + +# Future work + +Libgit is a bit verbose and there is quite a bit of error handling code, so I just posted this as soon as I had a minimal runnable example. There's a ton of sugar you can add to this cake, though: + +- Add C++ support. C++ implemented overloading via name mangling, so we'd need to ask for the mangled name in our `dlsym` calls. +- Auto-detect new commits _while the game is running_. +- Support for git submodules and more compilation units for different subsystems could be a boon for projects with big compile times. +- Dealing with git delta representations of tree objects. Maybe test it with git lfs too. +- Parsing git tags and other metadata. +- Check compatibility via version info, either of symbols (using GCC extensions) or of commits, using git tags. +- Git fetch/pull from the own game for hot-patching. +- It may be possible to do automated testing of compatible versions, giving the program the ability to recover from version-change-induced crashes. Using things like a signal catcher to capture things like `SIGSEGV` and restoring the `game_state` and `game_code` structures could work. +- Obviously, this is not only limited to games. Any simulation software, or really any state-machine-like software, would be a good experiment for this. + +# Disclaimer +Please remember that the snippets I post are a bit simplified, there's error handling and resource freeing that I left out for the sake of clarity. diff --git a/static/img/commitmenu.png b/static/img/commitmenu.png new file mode 100644 index 0000000000000000000000000000000000000000..ac1dac374de7fd45507675ece83b7cc88a7040e1 GIT binary patch literal 101590 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℘+QD9HR;9C1tFgWt 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