From patchwork Sat Jul 28 16:21:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Li, Pan2 via Gcc-patches" X-Patchwork-Id: 950501 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=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-482594-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gcc.gnu.org Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="Cs9/IYHS"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=inbox.ru header.i=@inbox.ru header.b="IiCk1qtI"; 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 41dB1j6Hflz9ryt for ; Sun, 29 Jul 2018 02:22:14 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :reply-to:to:cc:subject:date:message-id; q=dns; s=default; b=SnB h0AyokmlGGRiYmzkXSbvpMam8jNtDvhKzhNWBCT79fLCCZm0pbfWQXH639P/hBiF hSlGEQDp3u3XKrH82MkWqVTAtvgAQ9nRWQVIKCaiZDLopE+oLNccH5aWE5nRejGe zMKEgLOXTk2ZxnDAdMf/HWNvZerGO0udsr24LXvo= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :reply-to:to:cc:subject:date:message-id; s=default; bh=79dkS1huC uv4ztLb9CScjMElRH8=; b=Cs9/IYHSuI7o+JsuajaZ2fUGE6blAA+J10xzgKKcM 7eikfYWwa7bKyl7MkmVbAmOXbHoSsHWP1fGZnGQ+RX3CQ3KCB2DvIgt0+nPJbyoO K8liz91UorMrD1YcT7iuGBlO2Ym5SNmE4iMRYu+owQu3S0VOTGztMe23TzhLlsvF z4= Received: (qmail 73172 invoked by alias); 28 Jul 2018 16:22:06 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 73151 invoked by uid 89); 28 Jul 2018 16:22:04 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, 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=IMM, H*r:esmtpa X-HELO: smtpng3.m.smailru.net Received: from smtpng3.m.smailru.net (HELO smtpng3.m.smailru.net) (94.100.177.149) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 28 Jul 2018 16:22:01 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=inbox.ru; s=mail; h=Message-Id:Date:Subject:Cc:To:From; bh=/FM53J8/X4e1pjDwmiOheQm+vQkcEa4gY81bhmF2znI=; b=IiCk1qtIUTZkWUwxuN/AxiydB3DYlCngmA385P1aq6/ZEC8YfuNxo8vkeu07cB6vD07ZNop5g9c/ozTV19U7o/zKo9HBTLyg9XHbd3A+7/89TsZ1TWoJjZy1q+zgY0+Mkg4Zjrp1y0WViakRTuf+ezQQZKSsaOaT8XMScv/kPLs=; Received: by smtpng3.m.smailru.net with esmtpa (envelope-from ) id 1fjRyf-00020O-Qb; Sat, 28 Jul 2018 19:21:58 +0300 Received: by sf.home (Postfix, from userid 1000) id 9C3CE1F1F90C8; Sat, 28 Jul 2018 17:21:48 +0100 (BST) X-Patchwork-Original-From: "slyfox.inbox.ru via gcc-patches" From: "Li, Pan2 via Gcc-patches" Reply-To: slyfox@inbox.ru To: gcc-patches@gcc.gnu.org, Andreas Schwab Cc: Sergei Trofimovich , Ian Lance Taylor , Jeff Law Subject: [PATCH] libgcc: m68k: avoid TEXTRELs in shared library (PR 86224) Date: Sat, 28 Jul 2018 17:21:44 +0100 Message-Id: <20180728162144.16552-1-slyfox@inbox.ru> Authentication-Results: smtpng3.m.smailru.net; auth=pass smtp.auth=slyfox@inbox.ru smtp.mailfrom=slyfox@inbox.ru X-IsSubscribed: yes From: Sergei Trofimovich Cc: Ian Lance Taylor Cc: Jeff Law Cc: Andreas Schwab Signed-off-by: Sergei Trofimovich --- libgcc/config/m68k/lb1sf68.S | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/libgcc/config/m68k/lb1sf68.S b/libgcc/config/m68k/lb1sf68.S index 325a7c17d9b..16c6dc3f5a7 100644 --- a/libgcc/config/m68k/lb1sf68.S +++ b/libgcc/config/m68k/lb1sf68.S @@ -435,7 +435,10 @@ $_exception_handler: .text FUNC(__mulsi3) .globl SYM (__mulsi3) + .globl SYM (__mulsi3_internal) + .hidden SYM (__mulsi3_internal) SYM (__mulsi3): +SYM (__mulsi3_internal): movew sp@(4), d0 /* x0 -> d0 */ muluw sp@(10), d0 /* x0*y1 */ movew sp@(6), d1 /* x1 -> d1 */ @@ -458,7 +461,10 @@ SYM (__mulsi3): .text FUNC(__udivsi3) .globl SYM (__udivsi3) + .globl SYM (__udivsi3_internal) + .hidden SYM (__udivsi3_internal) SYM (__udivsi3): +SYM (__udivsi3_internal): #ifndef __mcoldfire__ movel d2, sp@- movel sp@(12), d1 /* d1 = divisor */ @@ -534,7 +540,10 @@ L2: subql IMM (1),d4 .text FUNC(__divsi3) .globl SYM (__divsi3) + .globl SYM (__divsi3_internal) + .hidden SYM (__divsi3_internal) SYM (__divsi3): +SYM (__divsi3_internal): movel d2, sp@- moveq IMM (1), d2 /* sign of result stored in d2 (=1 or =-1) */ @@ -557,7 +566,7 @@ L1: movel sp@(8), d0 /* d0 = dividend */ L2: movel d1, sp@- movel d0, sp@- - PICCALL SYM (__udivsi3) /* divide abs(dividend) by abs(divisor) */ + PICCALL SYM (__udivsi3_internal) /* divide abs(dividend) by abs(divisor) */ addql IMM (8), sp tstb d2 @@ -577,13 +586,13 @@ SYM (__umodsi3): movel sp@(4), d0 /* d0 = dividend */ movel d1, sp@- movel d0, sp@- - PICCALL SYM (__udivsi3) + PICCALL SYM (__udivsi3_internal) addql IMM (8), sp movel sp@(8), d1 /* d1 = divisor */ #ifndef __mcoldfire__ movel d1, sp@- movel d0, sp@- - PICCALL SYM (__mulsi3) /* d0 = (a/b)*b */ + PICCALL SYM (__mulsi3_internal) /* d0 = (a/b)*b */ addql IMM (8), sp #else mulsl d1,d0 @@ -603,13 +612,13 @@ SYM (__modsi3): movel sp@(4), d0 /* d0 = dividend */ movel d1, sp@- movel d0, sp@- - PICCALL SYM (__divsi3) + PICCALL SYM (__divsi3_internal) addql IMM (8), sp movel sp@(8), d1 /* d1 = divisor */ #ifndef __mcoldfire__ movel d1, sp@- movel d0, sp@- - PICCALL SYM (__mulsi3) /* d0 = (a/b)*b */ + PICCALL SYM (__mulsi3_internal) /* d0 = (a/b)*b */ addql IMM (8), sp #else mulsl d1,d0