libk  Diff

Differences From Artifact [cc3bf9e501]:

To Artifact [1054d9a4df]:

  • File arch/posix/errnos — part of check-in [e50a476efe] at 2019-08-22 02:52:20 on branch trunk — 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. (user: lexi, size: 120) [annotate] [blame] [check-ins using]

5
6
7
8
9
10
11






ENOSPC
EDQUOT
EIO
EAGAIN
EFBIG
EINTR
EDESTADDRREQ













>
>
>
>
>
>
5
6
7
8
9
10
11
12
13
14
15
16
17
ENOSPC
EDQUOT
EIO
EAGAIN
EFBIG
EINTR
EDESTADDRREQ
EACCES
EMFILE
ENODEV
ENOMEM
ENXIO
EOVERFLOW