ASM code fixes for PIC compilation.

This commit is contained in:
Alex Smith 2012-07-27 18:15:28 +01:00
parent 3fde53501d
commit 04c1e6d017
3 changed files with 7 additions and 7 deletions

View File

@ -20,8 +20,8 @@
FUNCTION(__x86_setup_system_time): FUNCTION(__x86_setup_system_time):
movq %rdi, cv_factor movq %rdi, cv_factor(%rip)
movq %rsi, cv_factor_nsecs movq %rsi, cv_factor_nsecs(%rip)
ret ret
FUNCTION_END(__x86_setup_system_time) FUNCTION_END(__x86_setup_system_time)
@ -31,7 +31,7 @@ FUNCTION(system_time):
// (rdtsc * cv_factor) >> 32. // (rdtsc * cv_factor) >> 32.
// Factor is pre-shifted left by 32 bits. // Factor is pre-shifted left by 32 bits.
movq cv_factor, %rcx movq cv_factor(%rip), %rcx
// Load 64-bit TSC into %eax (low), %edx (high). // Load 64-bit TSC into %eax (low), %edx (high).
rdtsc rdtsc
@ -56,7 +56,7 @@ FUNCTION(system_time_nsecs):
// Factor has not been pre-shifted here, otherwise we may lose the upper // Factor has not been pre-shifted here, otherwise we may lose the upper
// 32 bits. // 32 bits.
movq cv_factor_nsecs, %rcx movq cv_factor_nsecs(%rip), %rcx
// Load 64-bit TSC into %eax (low), %edx (high). // Load 64-bit TSC into %eax (low), %edx (high).
rdtsc rdtsc

View File

@ -24,7 +24,7 @@ FUNCTION(_longjmp):
push %rax push %rax
// __longjmp_return restores the signal mask and sets the return value. // __longjmp_return restores the signal mask and sets the return value.
call __longjmp_return call __longjmp_return@PLT
ret ret
FUNCTION_END(siglongjmp) FUNCTION_END(siglongjmp)

View File

@ -24,7 +24,7 @@ FUNCTION(sigsetjmp):
movq %r15, JMP_REGS_R15(%rdi) movq %r15, JMP_REGS_R15(%rdi)
// __setjmp_save_sigs handles signal mask and return value. // __setjmp_save_sigs handles signal mask and return value.
jmp __setjmp_save_sigs jmp __setjmp_save_sigs@PLT
FUNCTION_END(setjmp) FUNCTION_END(setjmp)
@ -32,7 +32,7 @@ FUNCTION_END(setjmp)
FUNCTION(setjmp): FUNCTION(setjmp):
// Jump to sigsetjmp with a zero saveMask. // Jump to sigsetjmp with a zero saveMask.
xorl %esi, %esi xorl %esi, %esi
jmp sigsetjmp jmp sigsetjmp@PLT
FUNCTION_END(setjmp) FUNCTION_END(setjmp)