On Fri, Aug 12, 2016 at 2:09 AM, Michael S. Tsirkin <mst@redhat.com> wrote:
I guess
typedef void * errno_t;
is one way, maybe marking it noderef for good measure.
This means the values are 64 bit unfortunately, which is often
overkill.
s/64-bit/native word size/
Does anyone know of an ABI where that's *inefficient*?! Or at least, less efficient than returning a 32-bit int? Pretty much every ABI I ever saw says something along the lines of 'register FOO contains the return value if the type is small enough, otherwise for returning aggregates, register FOO contains ...'
I can't believe anyone would deliberately design an ABI where calling
void *foo(void) is less efficient than calling int bar(void);
(and if you have some weird DSP or the CDC6600 in mind where Linux won't run anyway, then comp.arch.necrophilia is --> that way)