diff options
-rw-r--r-- | lib/libkse/arch/amd64/amd64/enter_uts.S | 4 | ||||
-rw-r--r-- | lib/libpthread/arch/amd64/amd64/enter_uts.S | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/lib/libkse/arch/amd64/amd64/enter_uts.S b/lib/libkse/arch/amd64/amd64/enter_uts.S index c263eab..7f9a88d 100644 --- a/lib/libkse/arch/amd64/amd64/enter_uts.S +++ b/lib/libkse/arch/amd64/amd64/enter_uts.S @@ -35,7 +35,7 @@ __FBSDID("$FreeBSD$"); ENTRY(_amd64_enter_uts) addq %rcx, %rdx /* get stack base */ andq $~0xf, %rdx /* align to 16 bytes */ + subq $8, %rdx /* simulate "call" alignment */ movq %rdx, %rsp /* switch to UTS stack */ movq %rdx, %rbp /* set frame */ - pushq %rsi - ret + jmpq *%rsi diff --git a/lib/libpthread/arch/amd64/amd64/enter_uts.S b/lib/libpthread/arch/amd64/amd64/enter_uts.S index c263eab..7f9a88d 100644 --- a/lib/libpthread/arch/amd64/amd64/enter_uts.S +++ b/lib/libpthread/arch/amd64/amd64/enter_uts.S @@ -35,7 +35,7 @@ __FBSDID("$FreeBSD$"); ENTRY(_amd64_enter_uts) addq %rcx, %rdx /* get stack base */ andq $~0xf, %rdx /* align to 16 bytes */ + subq $8, %rdx /* simulate "call" alignment */ movq %rdx, %rsp /* switch to UTS stack */ movq %rdx, %rbp /* set frame */ - pushq %rsi - ret + jmpq *%rsi |