From 6f004277fdc1481eab9ea0b163c23b1f7197afd0 Mon Sep 17 00:00:00 2001 From: Sean McGovern Date: Wed, 17 Jan 2024 13:30:30 -0500 Subject: [PATCH 1/2] #2241: update version file --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index f0bb29e763..88c5fb891d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.3.0 +1.4.0 From b471068f16ed4a53b2ea3ca6909522cde7a54b34 Mon Sep 17 00:00:00 2001 From: Sean McGovern Date: Wed, 17 Jan 2024 13:39:00 -0500 Subject: [PATCH 2/2] #2241: apply lib/context/src/context/asm hotfix changes --- lib/context/src/context/asm/jump_ppc64_sysv_elf_gas.S | 6 ++++-- lib/context/src/context/asm/make_ppc64_sysv_elf_gas.S | 4 ++-- lib/context/src/context/asm/ontop_ppc64_sysv_elf_gas.S | 6 ++++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/context/src/context/asm/jump_ppc64_sysv_elf_gas.S b/lib/context/src/context/asm/jump_ppc64_sysv_elf_gas.S index 28907db32b..4dc738756d 100644 --- a/lib/context/src/context/asm/jump_ppc64_sysv_elf_gas.S +++ b/lib/context/src/context/asm/jump_ppc64_sysv_elf_gas.S @@ -97,7 +97,7 @@ jump_fcontext: # endif #endif # reserve space on stack - subi %r1, %r1, 184 + subi %r1, %r1, 192 #if _CALL_ELF != 2 std %r2, 0(%r1) # save TOC @@ -123,6 +123,7 @@ jump_fcontext: #if _CALL_ELF != 2 std %r3, 152(%r1) # save hidden #endif + stfd %f31, 184(%r1) # save F31 # save CR mfcr %r0 @@ -166,6 +167,7 @@ jump_fcontext: #if _CALL_ELF != 2 ld %r3, 152(%r1) # restore hidden #endif + lfd %f31, 184(%r1) # restore F31 # restore CR ld %r0, 160(%r1) @@ -180,7 +182,7 @@ jump_fcontext: mtctr %r12 # adjust stack - addi %r1, %r1, 184 + addi %r1, %r1, 192 #if _CALL_ELF == 2 # copy transfer_t into transfer_fn arg registers diff --git a/lib/context/src/context/asm/make_ppc64_sysv_elf_gas.S b/lib/context/src/context/asm/make_ppc64_sysv_elf_gas.S index c4d7ee5982..45cf5a44b9 100644 --- a/lib/context/src/context/asm/make_ppc64_sysv_elf_gas.S +++ b/lib/context/src/context/asm/make_ppc64_sysv_elf_gas.S @@ -105,7 +105,7 @@ make_fcontext: # reserve space for context-data on context-stack # including 64 byte of linkage + parameter area (R1 % 16 == 0) - subi %r3, %r3, 248 + subi %r3, %r3, 256 # third arg of make_fcontext() == address of context-function # entry point (ELFv2) or descriptor (ELFv1) @@ -123,7 +123,7 @@ make_fcontext: # set back-chain to zero li %r0, 0 - std %r0, 184(%r3) + std %r0, 192(%r3) #if _CALL_ELF != 2 # zero in r3 indicates first jump to context-function diff --git a/lib/context/src/context/asm/ontop_ppc64_sysv_elf_gas.S b/lib/context/src/context/asm/ontop_ppc64_sysv_elf_gas.S index cd97f45671..7e7c629f3c 100644 --- a/lib/context/src/context/asm/ontop_ppc64_sysv_elf_gas.S +++ b/lib/context/src/context/asm/ontop_ppc64_sysv_elf_gas.S @@ -97,7 +97,7 @@ ontop_fcontext: # endif #endif # reserve space on stack - subi %r1, %r1, 184 + subi %r1, %r1, 192 #if _CALL_ELF != 2 std %r2, 0(%r1) # save TOC @@ -123,6 +123,7 @@ ontop_fcontext: #if _CALL_ELF != 2 std %r3, 152(%r1) # save hidden #endif + stfd %f31, 184(%r1) # save F31 # save CR mfcr %r0 @@ -165,6 +166,7 @@ ontop_fcontext: #if _CALL_ELF != 2 ld %r3, 152(%r1) # restore hidden #endif + lfd %f31, 184(%r1) # restore F31 # restore CR ld %r0, 160(%r1) @@ -203,7 +205,7 @@ return_to_ctx: mtlr %r0 # adjust stack - addi %r1, %r1, 184 + addi %r1, %r1, 192 # jump to context bctr