From patchwork Wed Apr 11 21:16:18 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 897412 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-91506-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="YLrp5Uuz"; dkim-atps=neutral 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 40Lxgf30rZz9s25 for ; Thu, 12 Apr 2018 07:17:02 +1000 (AEST) 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:message-id:in-reply-to :references; q=dns; s=default; b=Pk4acgdz2+Yk5juThgKN4VQx12t2GxE MnowdJ2tGgadN96rE1pVb5RvwMWDq4rPGJoEaNbqAqhMyk3ouPGbtNLfKGv7jJMk V+nsRTu+pd8gs+X0FQcRd2NYrSMseY6XYVyJrnVhp67YUdqSD1NUdq/p89P/KERZ CY+Zt8bkkSEM= 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:message-id:in-reply-to :references; s=default; bh=Awc7b/g3vhNH/IkAxAhZNCLfsME=; b=YLrp5 UuzLTOJqfaZyPEP+Rf/KG/70tzeoUyRytnw1cKvCR6ETMFYCqPCxO0tzxpvCntkF nLwnYAAgiz4KjeTIdKiKUXVo8glXvqpi4k6vtQLwww7u4e4uEge+fBfVon1NUew8 VklCXkCmyoVyf/ACdR9rD5rmdMwDkqQ/lgCt+o= Received: (qmail 118343 invoked by alias); 11 Apr 2018 21:16:34 -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 118132 invoked by uid 89); 11 Apr 2018 21:16:33 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.1 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mail-qk0-f172.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=yI4OijDmohPHDdwCQ1qgbCVd3Lt47FrajgQIGVQrgBU=; b=ne39Y/SJ/3GvB1j00qB3rEJK3BEaBgzUpaBFdLQ19BpZ+NHbzR/oBSYL7z015SYl/u ZHcTzTyy8xqySKyORBXEDMUS+qTH0KwE/d9BWAG/lJ28qujTCEJ/53rc6IFSLgTWdbQ3 h48rQXjHdL4EU7l7TgDk5CQkhCVSZjvJg8VanY24vJJhVO1qJkT/Hf566lRQX3GPkNf4 px0QxeLa6SsFKhUGFbCYFZKJHz6bxCZbamfGTdOrYcn3z3BJvUMO8m4HfZ8dCH3RncTO RozFFEKoiffiD76KRJg/E13DU6BwdA1wdsqivhvRh4H/w8egH/v6XcrH3eU7d7ox/bBz 9rQA== X-Gm-Message-State: ALQs6tBztaKpK+E2DyhQ9BrevEZ3AFxnXTUEmTOT1bOedqmfc6LMhf47 BxFYaaTgipYZAR3UpEkNYKSIn3fUJks= X-Google-Smtp-Source: AIpwx49FunQO5dvUQvoqfyjqDsxnuEs7FcYHExJcscYYqlqjVvUOnzhPLkzNF9QQx40nqe7DK6Qrfw== X-Received: by 10.55.76.146 with SMTP id z140mr9569816qka.224.1523481389922; Wed, 11 Apr 2018 14:16:29 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Subject: [PATCH 4/4] arm: Enable ARM mode for armv6 strlen Date: Wed, 11 Apr 2018 18:16:18 -0300 Message-Id: <1523481378-16290-4-git-send-email-adhemerval.zanella@linaro.org> In-Reply-To: <1523481378-16290-1-git-send-email-adhemerval.zanella@linaro.org> References: <1523481378-16290-1-git-send-email-adhemerval.zanella@linaro.org> Current optimized armv6t2 strlen uses the NO_THUMB wrongly to conditionalize thumb instruction usage. The flags is meant to be defined before sysdep.h inclusion and to indicate the assembly requires to build in ARM mode, not to check whether thumb is enable or not. This patch fixes it by using the GCC provided '__thumb__' instead. Checked on arm-linux-gnueabihf (with -marm -march=armv6t2). * sysdeps/arm/armv6t2/strlen.S (NO_THUMB): Check for __thumb__ instead. --- ChangeLog | 3 +++ sysdeps/arm/armv6t2/strlen.S | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sysdeps/arm/armv6t2/strlen.S b/sysdeps/arm/armv6t2/strlen.S index 6988183..f4111c3 100644 --- a/sysdeps/arm/armv6t2/strlen.S +++ b/sysdeps/arm/armv6t2/strlen.S @@ -21,7 +21,7 @@ */ -#include /* This might #define NO_THUMB. */ +#include #include #ifdef __ARMEB__ @@ -32,7 +32,7 @@ #define S2HI lsl #endif -#ifndef NO_THUMB +#ifdef __thumb__ /* This code is best on Thumb. */ .thumb #else @@ -146,7 +146,7 @@ ENTRY(strlen) tst tmp1, #4 pld [src, #64] S2HI tmp2, const_m1, tmp2 -#ifdef NO_THUMB +#ifndef __thumb__ mvn tmp1, tmp2 orr data1a, data1a, tmp1 itt ne