From patchwork Mon Apr 3 21:19:11 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wainer dos Santos Moschetta X-Patchwork-Id: 746655 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3vxlP16Y5zz9s7C for ; Tue, 4 Apr 2017 07:19:49 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="Q0p+k004"; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:in-reply-to:references :in-reply-to:references:message-id; q=dns; s=default; b=qRZRhSpC llVYVmRPIpdhjKQjB6PjCU5qW+g9eacxcZ6Y4nh44Dxb5ZAmx1jEV0dyYrPKwgoq oR/2lEEKAIlRgwnp0HYjAybFZxGUKl3MrdEJ8clgxDiuzcYfgjW0kQe59WnxofWr /uwKrnxVEuM5/lXuQwDeC++1bqSjqcsc/OM= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:in-reply-to:references :in-reply-to:references:message-id; s=default; bh=TK6gicgyibBwcC XfadMSPvEEY0Y=; b=Q0p+k004WIhszrYwL56OXHh5G/sL0vJKA+TXMCH40rNr9z WOatkuOm1gBJTmrqIsza+Vir4nThm7ZgohYOsf6lggKofPbs95Tbn5hItCUjdGrL M7G8EAC4cxNLiIt+m7AMlxn8FSwKybWshVk0YUMN/Kx9Ij4rAuBRyaCDaMiDM= Received: (qmail 87528 invoked by alias); 3 Apr 2017 21:19:33 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 87457 invoked by uid 89); 3 Apr 2017 21:19:32 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 spammy= X-HELO: mx0a-001b2d01.pphosted.com From: Wainer dos Santos Moschetta To: libc-alpha@sourceware.org Subject: [PATCH 1/9] powerpc: refactor stpcpy, stpncpy, strcpy, and strncpy IFUNC. Date: Mon, 3 Apr 2017 18:19:11 -0300 In-Reply-To: References: In-Reply-To: References: X-TM-AS-MML: disable x-cbid: 17040321-0020-0000-0000-0000029C5876 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17040321-0021-0000-0000-000030B95AF0 Message-Id: X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-04-03_19:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=1 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1702020001 definitions=main-1704030189 2017-04-03 Wainer dos Santos Moschetta * sysdeps/powerpc/powerpc64/multiarch/stpcpy-power8.S: Define the implementation-specific function name and remove unneeded macros definition. * sysdeps/powerpc/powerpc64/multiarch/stpncpy-power7.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcpy-power8.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncpy-power7.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncpy-power8.S: Likewise. * sysdeps/powerpc/powerpc64/power7/strncpy.S: Set a default function name if not defined. * sysdeps/powerpc/powerpc64/power8/strcpy.S: Likewise. * sysdeps/powerpc/powerpc64/power8/strncpy.S: Likewise. --- sysdeps/powerpc/powerpc64/multiarch/stpcpy-power8.S | 16 +--------------- sysdeps/powerpc/powerpc64/multiarch/stpncpy-power7.S | 16 +--------------- sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S | 16 +--------------- sysdeps/powerpc/powerpc64/multiarch/strcpy-power8.S | 16 +--------------- sysdeps/powerpc/powerpc64/multiarch/strncpy-power7.S | 16 +--------------- sysdeps/powerpc/powerpc64/multiarch/strncpy-power8.S | 16 +--------------- sysdeps/powerpc/powerpc64/power7/strncpy.S | 14 +++++++++++--- sysdeps/powerpc/powerpc64/power8/strcpy.S | 14 +++++++++++--- sysdeps/powerpc/powerpc64/power8/strncpy.S | 14 +++++++++++--- 9 files changed, 39 insertions(+), 99 deletions(-) diff --git a/sysdeps/powerpc/powerpc64/multiarch/stpcpy-power8.S b/sysdeps/powerpc/powerpc64/multiarch/stpcpy-power8.S index a614b5b..9353471 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/stpcpy-power8.S +++ b/sysdeps/powerpc/powerpc64/multiarch/stpcpy-power8.S @@ -18,21 +18,7 @@ #include -#undef EALIGN -#define EALIGN(name, alignt, words) \ - .section ".text"; \ - ENTRY_2(__stpcpy_power8) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__stpcpy_power8): \ - cfi_startproc; \ - LOCALENTRY(__stpcpy_power8) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__stpcpy_power8) \ - END_2(__stpcpy_power8) +#define STPCPY __stpcpy_power8 #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) diff --git a/sysdeps/powerpc/powerpc64/multiarch/stpncpy-power7.S b/sysdeps/powerpc/powerpc64/multiarch/stpncpy-power7.S index 6c88da3..6636b01 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/stpncpy-power7.S +++ b/sysdeps/powerpc/powerpc64/multiarch/stpncpy-power7.S @@ -20,21 +20,7 @@ #define USE_AS_STPNCPY -#undef EALIGN -#define EALIGN(name, alignt, words) \ - .section ".text"; \ - ENTRY_2(__stpncpy_power7) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__stpncpy_power7): \ - cfi_startproc; \ - LOCALENTRY(__stpncpy_power7) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__stpncpy_power7) \ - END_2(__stpncpy_power7) +#define STPNCPY __stpncpy_power7 #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) diff --git a/sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S b/sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S index ff6d3dd..6ce706a 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S +++ b/sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S @@ -20,21 +20,7 @@ #define USE_AS_STPNCPY -#undef EALIGN -#define EALIGN(name, alignt, words) \ - .section ".text"; \ - ENTRY_2(__stpncpy_power8) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__stpncpy_power8): \ - cfi_startproc; \ - LOCALENTRY(__stpncpy_power8) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__stpncpy_power8) \ - END_2(__stpncpy_power8) +#define STPNCPY __stpncpy_power8 #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcpy-power8.S b/sysdeps/powerpc/powerpc64/multiarch/strcpy-power8.S index 576d260..6c753b5 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/strcpy-power8.S +++ b/sysdeps/powerpc/powerpc64/multiarch/strcpy-power8.S @@ -18,21 +18,7 @@ #include -#undef EALIGN -#define EALIGN(name, alignt, words) \ - .section ".text"; \ - ENTRY_2(__strcpy_power8) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__strcpy_power8): \ - cfi_startproc; \ - LOCALENTRY(__strcpy_power8) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__strcpy_power8) \ - END_2(__strcpy_power8) +#define STRCPY __strcpy_power8 #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncpy-power7.S b/sysdeps/powerpc/powerpc64/multiarch/strncpy-power7.S index 5387e49..03f7f83 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/strncpy-power7.S +++ b/sysdeps/powerpc/powerpc64/multiarch/strncpy-power7.S @@ -18,21 +18,7 @@ #include -#undef EALIGN -#define EALIGN(name, alignt, words) \ - .section ".text"; \ - ENTRY_2(__strncpy_power7) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__strncpy_power7): \ - cfi_startproc; \ - LOCALENTRY(__strncpy_power7) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__strncpy_power7) \ - END_2(__strncpy_power7) +#define STRNCPY __strncpy_power7 #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncpy-power8.S b/sysdeps/powerpc/powerpc64/multiarch/strncpy-power8.S index 37902cf..17117eb 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/strncpy-power8.S +++ b/sysdeps/powerpc/powerpc64/multiarch/strncpy-power8.S @@ -18,21 +18,7 @@ #include -#undef EALIGN -#define EALIGN(name, alignt, words) \ - .section ".text"; \ - ENTRY_2(__strncpy_power8) \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - BODY_LABEL(__strncpy_power8): \ - cfi_startproc; \ - LOCALENTRY(__strncpy_power8) - -#undef END -#define END(name) \ - cfi_endproc; \ - TRACEBACK(__strncpy_power8) \ - END_2(__strncpy_power8) +#define STRNCPY __strncpy_power8 #undef libc_hidden_builtin_def #define libc_hidden_builtin_def(name) diff --git a/sysdeps/powerpc/powerpc64/power7/strncpy.S b/sysdeps/powerpc/powerpc64/power7/strncpy.S index 98aabda..0224f74 100644 --- a/sysdeps/powerpc/powerpc64/power7/strncpy.S +++ b/sysdeps/powerpc/powerpc64/power7/strncpy.S @@ -40,10 +40,18 @@ memset. */ #ifdef USE_AS_STPNCPY -# define FUNC_NAME __stpncpy +# ifndef STPNCPY +# define FUNC_NAME __stpncpy +# else +# define FUNC_NAME STPNCPY +# endif #else -# define FUNC_NAME strncpy -#endif +# ifndef STRNCPY +# define FUNC_NAME strncpy +# else +# define FUNC_NAME STRNCPY +# endif +#endif /* !USE_AS_STPNCPY */ #define FRAMESIZE (FRAME_MIN_SIZE+32) diff --git a/sysdeps/powerpc/powerpc64/power8/strcpy.S b/sysdeps/powerpc/powerpc64/power8/strcpy.S index 27440cd..7f2cee4 100644 --- a/sysdeps/powerpc/powerpc64/power8/strcpy.S +++ b/sysdeps/powerpc/powerpc64/power8/strcpy.S @@ -19,10 +19,18 @@ #include #ifdef USE_AS_STPCPY -# define FUNC_NAME __stpcpy +# ifndef STPCPY +# define FUNC_NAME __stpcpy +# else +# define FUNC_NAME STPCPY +# endif #else -# define FUNC_NAME strcpy -#endif +# ifndef STRCPY +# define FUNC_NAME strcpy +# else +# define FUNC_NAME STRCPY +# endif +#endif /* !USE_AS_STPCPY */ /* Implements the function diff --git a/sysdeps/powerpc/powerpc64/power8/strncpy.S b/sysdeps/powerpc/powerpc64/power8/strncpy.S index 622a55d..6d40f30 100644 --- a/sysdeps/powerpc/powerpc64/power8/strncpy.S +++ b/sysdeps/powerpc/powerpc64/power8/strncpy.S @@ -19,10 +19,18 @@ #include #ifdef USE_AS_STPNCPY -# define FUNC_NAME __stpncpy +# ifndef STPNCPY +# define FUNC_NAME __stpncpy +# else +# define FUNC_NAME STPNCPY +# endif #else -# define FUNC_NAME strncpy -#endif +# ifndef STRNCPY +# define FUNC_NAME strncpy +# else +# define FUNC_NAME STRNCPY +# endif +#endif /* !USE_AS_STPNCPY */ #ifndef MEMSET /* For builds without IFUNC support, local calls should be made to internal