diff options
-rw-r--r-- | ldso/ldso/xtensa/resolve.S | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/ldso/ldso/xtensa/resolve.S b/ldso/ldso/xtensa/resolve.S index fb298391c..902cd8238 100644 --- a/ldso/ldso/xtensa/resolve.S +++ b/ldso/ldso/xtensa/resolve.S @@ -32,15 +32,11 @@ .type _dl_linux_resolve, @function _dl_linux_resolve: /* Fix up the high 2 bits of the return address. */ - mov a14, a0 // save a0 temporarily - _call0 0f - .align 4 -0: extui a13, a0, 30, 2 - slli a13, a13, 30 - mov a0, a14 // restore a0 + movi a13, 0f slli a12, a0, 2 - srli a12, a12, 2 - or a12, a12, a13 +0: extui a13, a13, 30, 2 + ssai 2 + src a12, a13, a12 /* Call the fixup function. */ movi a8, _dl_linux_resolver |