Просмотр исходного кода

修正一处问题, 此问题会导致取回sig bak数据时错位

shaojinchun 4 лет назад
Родитель
Сommit
814d9c7f1d
1 измененных файлов с 4 добавлено и 3 удалено
  1. 4 3
      components/lwp/arch/aarch64/cortex-a/lwp_gcc.S

+ 4 - 3
components/lwp/arch/aarch64/cortex-a/lwp_gcc.S

@@ -299,9 +299,10 @@ lwp_signal_quit:
     /* x0 is user_ctx : ori sp, pc, cpsr */
     ldr x1, [x0]
     ldr x2, [x0, #8]
-    ldr x3, [x0, #10]
+    ldr x3, [x0, #16]
     msr spsr_el1, x3
     msr elr_el1, x2
+    add x1, x1, #16
     msr sp_el0, x1
 
     msr spsel, #0
@@ -363,8 +364,8 @@ user_do_signal:
     ic ialluis
     dsb sy
 
-    mov x9, sp
-    add x0, sp, #0x10 /* lwp_sigreturn */
+    mov x9, sp /* lwp_sigreturn */
+    mov x0, sp
 
     msr spsel, #1