From: Frank Mehnert <frank.mehn...@kernkonzept.com>

In a .p2align directive, the maximum number of bytes to skip shall be at
most the intended alignment minus 1. Certain assemblers warn otherwise:

    spn.S:97:14: warning: maximum bytes expression exceeds alignment
                 and has no effect
   .p2align 3,,8
               ^

Change-Id: I5ad48f6f3c3036d8d33d3710ed8d5b5a35bf1fea
Signed-off-by: Marcus Haehnel <marcus.haeh...@kernkonzept.com>
---
 libc/string/x86_64/strcat.S  | 2 +-
 libc/string/x86_64/strcspn.S | 2 +-
 libc/string/x86_64/strlen.S  | 2 +-
 libc/string/x86_64/strspn.S  | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/libc/string/x86_64/strcat.S b/libc/string/x86_64/strcat.S
index 55e09e5f1..209e19062 100644
--- a/libc/string/x86_64/strcat.S
+++ b/libc/string/x86_64/strcat.S
@@ -106,7 +106,7 @@ ENTRY (BP_SYM (strcat))
 
        /* Align, it is a jump target.  */
        /* Next 3 insns are 8 bytes total, make sure we decode them in one go */
-       .p2align 3,,8
+       .p2align 3,,7
 3:
        subq $8,%rax            /* correct pointer increment.  */
 
diff --git a/libc/string/x86_64/strcspn.S b/libc/string/x86_64/strcspn.S
index 7a06c8867..5ef565db7 100644
--- a/libc/string/x86_64/strcspn.S
+++ b/libc/string/x86_64/strcspn.S
@@ -94,7 +94,7 @@ L(1): leaq -4(%rdx), %rax     /* prepare loop */
        /* but it will also align entire function to 16 bytes, */
        /* potentially creating largish padding at link time. */
        /* We are aligning to 8 bytes instead: */
-       .p2align 3,,8
+       .p2align 3,,7
 
 L(3):  addq $4, %rax           /* adjust pointer for full loop round */
 
diff --git a/libc/string/x86_64/strlen.S b/libc/string/x86_64/strlen.S
index 9e84326c2..2fe2f58b2 100644
--- a/libc/string/x86_64/strlen.S
+++ b/libc/string/x86_64/strlen.S
@@ -102,7 +102,7 @@ ENTRY (strlen)
 
        /* Align, it is a jump target.  */
        /* Next 3 insns are 8 bytes total, make sure we decode them in one go */
-       .p2align 3,,8
+       .p2align 3,,7
 3:
        subq $8,%rax            /* correct pointer increment.  */
 
diff --git a/libc/string/x86_64/strspn.S b/libc/string/x86_64/strspn.S
index 366377649..8dc42656b 100644
--- a/libc/string/x86_64/strspn.S
+++ b/libc/string/x86_64/strspn.S
@@ -89,7 +89,7 @@ L(1): leaq -4(%rdx), %rax     /* prepare loop */
        /* but it will also align entire function to 16 bytes, */
        /* potentially creating largish padding at link time. */
        /* We are aligning to 8 bytes instead: */
-       .p2align 3,,8
+       .p2align 3,,7
 L(3):
        addq $4, %rax           /* adjust pointer for full loop round */
 
-- 
2.47.1

_______________________________________________
devel mailing list -- devel@uclibc-ng.org
To unsubscribe send an email to devel-le...@uclibc-ng.org

Reply via email to