From: ztp6893 Date: Mon, 10 Mar 2025 04:00:48 +0000 (-0400) Subject: Workaround for issue with assembler on OS X 10.4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c54fd95918cad3f0744d2e05afc47aa363771a46;p=thirdparty%2Fopenssl.git Workaround for issue with assembler on OS X 10.4 Local labels cannot be used in some circumstances as they might be pointing to wrong locations. Reviewed-by: Tim Hudson Reviewed-by: Neil Horman Reviewed-by: Bernd Edlinger (Merged from https://github.com/openssl/openssl/pull/27017) --- diff --git a/crypto/aes/asm/vpaes-ppc.pl b/crypto/aes/asm/vpaes-ppc.pl index 7af47c630e7..4ecc182ccc1 100644 --- a/crypto/aes/asm/vpaes-ppc.pl +++ b/crypto/aes/asm/vpaes-ppc.pl @@ -160,6 +160,7 @@ Lk_deskew: # deskew tables: inverts the sbox's "skew" .long 0x0069ea83, 0xdcb5365f, 0x771e9df4, 0xabc24128 ?rev .align 5 Lconsts: +vpaes_const_fn: mflr r0 bcl 20,31,\$+4 mflr r12 #vvvvv "distance between . and _vpaes_consts @@ -190,7 +191,7 @@ $code.=<<___; .align 4 _vpaes_encrypt_preheat: mflr r8 - bl Lconsts + bl vpaes_const_fn mtlr r8 li r11, 0xc0 # Lk_inv li r10, 0xd0 @@ -407,7 +408,7 @@ Lenc_done: .align 4 _vpaes_decrypt_preheat: mflr r8 - bl Lconsts + bl vpaes_const_fn mtlr r8 li r11, 0xc0 # Lk_inv li r10, 0xd0 @@ -878,7 +879,7 @@ $code.=<<___; .align 4 _vpaes_key_preheat: mflr r8 - bl Lconsts + bl vpaes_const_fn mtlr r8 li r11, 0xc0 # Lk_inv li r10, 0xd0 diff --git a/crypto/ec/asm/ecp_nistz256-ppc64.pl b/crypto/ec/asm/ecp_nistz256-ppc64.pl index 6d31b331ada..29aa4c58496 100755 --- a/crypto/ec/asm/ecp_nistz256-ppc64.pl +++ b/crypto/ec/asm/ecp_nistz256-ppc64.pl @@ -873,7 +873,7 @@ ecp_nistz256_point_double: srdi $poly1,$poly1,32 # 0x00000000ffffffff li $poly3,1 orc $poly3,$poly3,$poly1 # 0xffffffff00000001 -.Ldouble_shortcut: +ec_dbl_shortcut: ld $acc0,32($ap) ld $acc1,40($ap) ld $acc2,48($ap) @@ -1211,7 +1211,7 @@ ecp_nistz256_point_add: ld r18,$FRAME-8*14($sp) ld r19,$FRAME-8*13($sp) stdu $bp,$FRAME-288($sp) # difference in stack frame sizes - b .Ldouble_shortcut + b ec_dbl_shortcut .align 4 .Ladd_proceed: