summaryrefslogtreecommitdiffstats
path: root/stream.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2022-05-10 19:41:27 -0700
committerKaz Kylheku <kaz@kylheku.com>2022-05-10 19:41:27 -0700
commit7a027d8127514c143b25f58666c1df9bff46517a (patch)
tree64feebd3eda719e63460bf872ee0032bf26f6f57 /stream.c
parent266653039eb5a6da5cc69ed72bd8792bf8befeca (diff)
downloadtxr-7a027d8127514c143b25f58666c1df9bff46517a.tar.gz
txr-7a027d8127514c143b25f58666c1df9bff46517a.tar.bz2
txr-7a027d8127514c143b25f58666c1df9bff46517a.zip
ffi: fix broken on RISC-V.
* ffi.c (pad_retval): Remove the special case of zero mapping to zero, which occurs when the return type is void. It's not clear whether this is correct at all, on any platform. It hasn't showed up as a problem until now, but on RISC-V, we have hit a situation in which ffi_call writes a value into that zero-byte space for the void return value, causing that to overwrite values[0]: the first element of the argument array. For reasons not understood, this happens in the qsort test cases in which which the callback function performs a block return. It is strange because the block return is handled entirely in the closure dispatching function.
Diffstat (limited to 'stream.c')
0 files changed, 0 insertions, 0 deletions