summary refs log tree commit diff stats
path: root/results/scraper/fex/1505
diff options
context:
space:
mode:
Diffstat (limited to 'results/scraper/fex/1505')
-rw-r--r--results/scraper/fex/150513
1 files changed, 13 insertions, 0 deletions
diff --git a/results/scraper/fex/1505 b/results/scraper/fex/1505
new file mode 100644
index 000000000..e028f4112
--- /dev/null
+++ b/results/scraper/fex/1505
@@ -0,0 +1,13 @@
+Implement libc thunk library
+Thunking libc itself has the potential to make thunking other libraries significantly more robust by making various workarounds unnecessary (see #1208). Here's an (incomplete) list of nontrivial things that need to be tackled:

+

+* Program startup (`__libc_start_main`)

+* `printf`-like functions (including fprintf, sprintf, snprintf, vprintf, ...)

+* Functions with function pointer arguments (`qsort`)

+* Data symbol handling:

+  * `errno`

+  * getopt: `optarg`/`optind`/`opterr`/`optopt`

+* Struct repacking:

+  * Repacking of data in parameter structs that have different layouts across architectures (e.g. `stat`)

+  * Repacking for arguments passed to callbacks

+* `__lxstat`/`__fxstat`/...: Data layout of parameter struct is determined by a version field