Unable to run asm code on OpenBSD (amd64)
[openssl.git] / crypto / poly1305 / asm / poly1305-x86_64.pl
index 4cddca1c514c04ff72b7b0b36caa2ec1c117b1a2..5223207b83334ec79af1f57af3c3f823e9c08ca4 100755 (executable)
@@ -229,6 +229,7 @@ $code.=<<___;
 .align 32
 poly1305_blocks:
 .cfi_startproc
+       endbranch
 .Lblocks:
        shr     \$4,$len
        jz      .Lno_data               # too short
@@ -303,6 +304,7 @@ $code.=<<___;
 .align 32
 poly1305_emit:
 .cfi_startproc
+       endbranch
 .Lemit:
        mov     0($ctx),%r8     # load hash value
        mov     8($ctx),%r9
@@ -524,6 +526,7 @@ __poly1305_init_avx:
 .align 32
 poly1305_blocks_avx:
 .cfi_startproc
+       endbranch
        mov     20($ctx),%r8d           # is_base2_26
        cmp     \$128,$len
        jae     .Lblocks_avx
@@ -1384,6 +1387,7 @@ $code.=<<___;
 .align 32
 poly1305_emit_avx:
 .cfi_startproc
+       endbranch
        cmpl    \$0,20($ctx)    # is_base2_26?
        je      .Lemit
 
@@ -1448,6 +1452,7 @@ $code.=<<___;
 .align 32
 poly1305_blocks_avx2:
 .cfi_startproc
+       endbranch
        mov     20($ctx),%r8d           # is_base2_26
        cmp     \$128,$len
        jae     .Lblocks_avx2
@@ -2144,6 +2149,7 @@ $code.=<<___;
 .align 32
 poly1305_blocks_avx512:
 .cfi_startproc
+       endbranch
 .Lblocks_avx512:
        mov             \$15,%eax
        kmovw           %eax,%k2
@@ -3778,6 +3784,7 @@ poly1305_emit_base2_44:
 ___
 }      }       }
 $code.=<<___;
+.section .rodata align=64
 .align 64
 .Lconst:
 .Lmask24:
@@ -3809,6 +3816,7 @@ $code.=<<___;
 .Lx_mask42:
 .quad  0x3ffffffffff,0x3ffffffffff,0x3ffffffffff,0x3ffffffffff
 .quad  0x3ffffffffff,0x3ffffffffff,0x3ffffffffff,0x3ffffffffff
+.previous
 ___
 }
 $code.=<<___;