]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Workaround for issue with assembler on OS X 10.4
authorztp6893 <ztp6893@rit.edu>
Mon, 10 Mar 2025 04:00:48 +0000 (00:00 -0400)
committerTomas Mraz <tomas@openssl.org>
Mon, 19 May 2025 06:59:14 +0000 (08:59 +0200)
Local labels cannot be used in some circumstances as they might
be pointing to wrong locations.

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
(Merged from https://github.com/openssl/openssl/pull/27017)

crypto/aes/asm/vpaes-ppc.pl
crypto/ec/asm/ecp_nistz256-ppc64.pl

index 7af47c630e71a6f825b05d8fe17c737a0ef6aecf..4ecc182ccc128b3176826bc1b3eb4a1b569c440c 100644 (file)
@@ -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
index 6d31b331ada3efacd07fa7fb4bb0790984cafcc2..29aa4c58496f6feb880c29b62a509245da72d937 100755 (executable)
@@ -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: