On Fri, Aug 12, 2016 at 2:09 AM, Michael S. Tsirkin 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)