summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Andreas Gampe <agampe@google.com> 2014-09-05 05:43:34 +0000
committer Andreas Gampe <agampe@google.com> 2014-09-04 22:44:39 -0700
commit871bfdcacbce7db574c4d1007f0065e65db26a7f (patch)
tree6713e308240a0b3eac08aaca84e800955c4c1b80
parented20a4d80bcd8d47b5bcdd51ef17c786c0e5015c (diff)
Revert "Revert "x86: Fix art_quick_instrumentation_exit""
Need to use GOT to avoid TEXTREL. This reverts commit 62aa66f8532b8eb44e882596010b33e7781b0754. Change-Id: Ife659c28d621596ad288999fa128dcf32fc0b1c7
-rw-r--r--runtime/arch/x86/quick_entrypoints_x86.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/runtime/arch/x86/quick_entrypoints_x86.S b/runtime/arch/x86/quick_entrypoints_x86.S
index 337e5fe89a..4155b7eefe 100644
--- a/runtime/arch/x86/quick_entrypoints_x86.S
+++ b/runtime/arch/x86/quick_entrypoints_x86.S
@@ -1255,6 +1255,7 @@ DEFINE_FUNCTION art_quick_instrumentation_entry
PUSH ecx // Pass receiver.
PUSH eax // Pass Method*.
call SYMBOL(artInstrumentationMethodEntryFromCode) // (Method*, Object*, Thread*, SP, LR)
+ SETUP_GOT_NOSAVE
addl LITERAL(28), %esp // Pop arguments upto saved Method*.
movl 28(%esp), %edi // Restore edi.
movl %eax, 28(%esp) // Place code* over edi, just under return pc.