aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2019-02-28 01:54:55 +0000
committerYi Kong <yikong@google.com>2019-03-05 01:20:27 +0000
commit68a0d08de5bea4b98eb4b4330aeee1fabc3dd1d5 (patch)
treeb86217025d133ca1796425c55ba8edc88f2a8167
parent2d0112c78bd426cc827e2120ef52ebaa798c2822 (diff)
downloadcompiler-rt-68a0d08de5bea4b98eb4b4330aeee1fabc3dd1d5.tar.gz
[sanitizer] Got rid of text relocations in i386 vfork interceptor.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@355064 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S b/lib/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S
index f130b7250..d693aa3e0 100644
--- a/lib/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S
+++ b/lib/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S
@@ -13,8 +13,12 @@ ASM_WRAPPER_NAME(vfork):
mov %ecx, (%eax)
add $16, %esp
-
- call *_ZN14__interception10real_vforkE
+ call .L0$pb
+.L0$pb:
+ pop %eax
+.Ltmp0:
+ add $_GLOBAL_OFFSET_TABLE_+(.Ltmp0-.L0$pb), %eax
+ call *_ZN14__interception10real_vforkE@GOTOFF(%eax)
// Restore return address from the spill area.
sub $16, %esp