Overview
Comment: | removed sneaky segfault in x86-64 syscall fn where %r8 (the register that contains the pointer to the syscall arguments from the C syscall wrapper, which need to be copied into the correct registers before the kernel is invoked) gets overwritten if the syscall valency > 5, because of overlapping ccall and syscall ABI argument registers - r8 is clobbered by argument 5 and any further attempts to use it as a ptr segfault at best. also modified the report function so that it immediate cancels compilation if a sub-process reports failure. changed allocator function signatures so they can return a condition code if the kernel reports an error; updated example code so it compiles and runs without fault. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
e50a476efef720ed926f519a291311b5 |
User & Date: | lexi on 2019-08-22 02:52:20 |
Other Links: | manifest | tags |
Context
2019-08-22
| ||
04:31 | finish moving heap allocation/free functions to the posix syscall apparatus and deprecate the direct assembly implementations of platform_mmap; update the kmem docs to match new function signatures (and remove typos) check-in: 709ffb094d user: lexi tags: trunk | |
02:52 | removed sneaky segfault in x86-64 syscall fn where %r8 (the register that contains the pointer to the syscall arguments from the C syscall wrapper, which need to be copied into the correct registers before the kernel is invoked) gets overwritten if the syscall valency > 5, because of overlapping ccall and syscall ABI argument registers - r8 is clobbered by argument 5 and any further attempts to use it as a ptr segfault at best. also modified the report function so that it immediate cancels compilation if a sub-process reports failure. changed allocator function signatures so they can return a condition code if the kernel reports an error; updated example code so it compiles and runs without fault. check-in: e50a476efe user: lexi tags: trunk | |
01:37 | add first iteration of knum header check-in: 5560c2725b user: lexi tags: trunk | |
Changes
Modified arch/posix/errnos from [cc3bf9e501] to [1054d9a4df]. [diff]
Modified build.sh from [d7b4907031] to [b5a70ac75f]. [diff]
Modified global/common.sh from [e60df5a627] to [582c735deb]. [diff]
Modified mod/kcore/syscall.fn.x86.lin.64.s from [472ad3a7d3] to [9bf0ba9bf3]. [diff]
Modified mod/kcore/testbin.exe.c from [c4d82c1a4a] to [ae0ed8cd11]. [diff]
Modified mod/kmem/heapa.fn.c from [641176b71f] to [e093792a2c]. [diff]
Modified mod/kmem/heapao.fn.c from [930b5d7379] to [e98ef79662]. [diff]
Modified mod/kmem/mem.h from [bec7e80543] to [d8d36f64f5]. [diff]