DavidSpickett wrote: I tried your example on AArch64 and we don't get a return value there either. TestReturnValues.py in fact skips checking a type called `return_five_int` for the SysV AArch64 ABI (and now I see where you got the example from).
According to the AArch64 AAPCS (it's ABI): > B.4 If the argument type is a Composite Type that is larger than 16 bytes, > then the argument is copied to memory allocated by the caller and the > argument is replaced by a pointer to the copy. And then https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#69result-return which says: > Otherwise, the caller shall reserve a block of memory of sufficient size and > alignment to hold the result. The address of the memory block shall be passed > as an additional argument to the function in x8. The callee may modify the > result memory block at any point during the execution of the subroutine > **(there is no requirement for the callee to preserve the value stored in > x8).** (emphasis mine) This matches the statement in the RISC-V ABI, so I would be fine with you adding RISC-V to the skip list there. https://github.com/llvm/llvm-project/pull/163931 _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
