_stp_arg() has an almost unnoticeable thinko in the argnum handling, which causes it to always return u_register("r10"):
'else (argnum == 8)' should actually be 'else if (argnum == 8)'. Though, since we check for 'if (argnum < 1 || argnum > 8)' at the beginning of _stp_arg(), let's make it just 'else'. Signed-off-by: Anton Vorontsov <avoront...@ru.mvista.com> --- tapset/powerpc/registers.stp | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/tapset/powerpc/registers.stp b/tapset/powerpc/registers.stp index c8713e5..7f66d36 100644 --- a/tapset/powerpc/registers.stp +++ b/tapset/powerpc/registers.stp @@ -146,7 +146,7 @@ function _stp_arg:long (argnum:long, sign_extend:long, truncate:long) { val = u_register("r8") else if (argnum == 7) val = u_register("r9") - else (argnum == 8) + else val = u_register("r10") if (truncate) { -- 1.6.3.3 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev