Use _ALIGN_TRAPS instead of _ALIGN_TEXT where nops aren't needed.
authorguenther <guenther@openbsd.org>
Fri, 13 Jul 2018 05:56:57 +0000 (05:56 +0000)
committerguenther <guenther@openbsd.org>
Fri, 13 Jul 2018 05:56:57 +0000 (05:56 +0000)
ok deraadt@

sys/lib/libkern/arch/amd64/ffs.S
sys/lib/libkern/arch/amd64/strchr.S
sys/lib/libkern/arch/amd64/strlen.S

index 4acb74c..b6ada6c 100644 (file)
@@ -13,7 +13,7 @@ ENTRY(ffs)
        incl    %eax                    /* bits numbered from 1, not 0 */
        jmp L2
 
-       _ALIGN_TEXT
+       _ALIGN_TRAPS
 L1:    xorl    %eax,%eax               /* clear result */
 L2:    RETGUARD_CHECK(ffs, r11)
        ret
index a423418..54d2178 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: strchr.S,v 1.4 2018/07/03 23:22:48 mortimer Exp $     */
+/*     $OpenBSD: strchr.S,v 1.5 2018/07/13 05:56:57 guenther Exp $     */
 /*     $NetBSD: strchr.S,v 1.7 2014/03/22 19:16:34 jakllsch Exp $      */
 
 /*-
@@ -90,7 +90,7 @@ ENTRY(strchr)
        jmp 12f
 
 /* End of string, check whether char is before NUL */
-       _ALIGN_TEXT             /* adds three byte nop */
+       _ALIGN_TRAPS
 10:
        bsf     %rax,%rax       /* count to NUL */
        andq    %rsi,%r11       /* check for char in last 8 bytes */
@@ -104,7 +104,7 @@ ENTRY(strchr)
        ret
 
 /* Source misaligned: read aligned word and make low bytes invalid */
-/* I (dsl) think a _ALIGN_TEXT here will slow things down! */
+/* I (dsl) think aligning the text here will slow things down! */
 20:
        xor     %rcx,%rcx
        sub     %dil,%cl        /* Convert low address values 1..7 ... */
index 888f2c0..f17d7c7 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: strlen.S,v 1.6 2018/07/03 23:22:48 mortimer Exp $     */
+/*     $OpenBSD: strlen.S,v 1.7 2018/07/13 05:56:57 guenther Exp $     */
 /*     $NetBSD: strlen.S,v 1.6 2014/03/22 19:16:34 jakllsch Exp $      */
 
 /*-
@@ -144,7 +144,7 @@ ENTRY(strlen)
        ret
 
 /* Misaligned, read aligned word and make low bytes non-zero */
-       _ALIGN_TEXT
+       _ALIGN_TRAPS
 10:
        mov     %al,%cl
        mov     $1,%rsi