[PATCH v3] librt: fix mq_timed{send,receive} return instructions
Bernhard Reutner-Fischer
rep.dot.nop at gmail.com
Thu Nov 7 11:32:49 UTC 2013
On 7 November 2013 10:52, Baruch Siach <baruch at tkos.co.il> wrote:
> Not all architectures use 'ret' as function return instruction. For example,
> xtensa usually uses 'retw'. Use the ret_ERRVAL arch dependant macro instead.
>
> Signed-off-by: Baruch Siach <baruch at tkos.co.il>
> ---
> v3: Add a common ret_ERRVAL, and redefine for special archs (Bernhard
> Reutner-Fischer)
>
> v2: Add ret_ERRVAL to architectures missing it as noted by Bernhard
> Reutner-Fischer.
> ---
> libc/sysdeps/linux/arm/sysdep.h | 1 +
> libc/sysdeps/linux/common/sysdep.h | 4 ++++
> libc/sysdeps/linux/i386/sysdep.h | 2 --
> libc/sysdeps/linux/ia64/sysdep.h | 1 -
> libc/sysdeps/linux/mips/sysdep.h | 2 --
> libc/sysdeps/linux/powerpc/powerpc32/sysdep.h | 1 +
> libc/sysdeps/linux/powerpc/powerpc64/sysdep.h | 1 +
> libc/sysdeps/linux/sh/sysdep.h | 2 --
> libc/sysdeps/linux/x86_64/sysdep.h | 2 --
> librt/mq_timedreceive.S | 2 +-
> librt/mq_timedsend.S | 2 +-
> 11 files changed, 9 insertions(+), 11 deletions(-)
And where does e.g. xtensa pick that up?
Can you commonize these, i.e. make sure that common/sysdep.h is
included first, #defining unconditional the defaults, arches
redefining stuff where they diverge.
Then, as a second, follow-up fix librt to make use of the new ret_ERRVAL.
Bonus points if you don't break any arch :)
thanks..
More information about the uClibc
mailing list