From patchwork Tue Apr 30 20:05:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gabi Falk X-Patchwork-Id: 89205 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0A13D3858D35 for ; Tue, 30 Apr 2024 20:05:52 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) by sourceware.org (Postfix) with ESMTPS id CB7563858D20 for ; Tue, 30 Apr 2024 20:05:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CB7563858D20 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmx.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org CB7563858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=212.227.15.18 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1714507529; cv=none; b=PTOceQ/u5CKbvpk1rtH4ExWtKDGTYWiIEXR2ReQ7gP/ZGaVtL5QLQKVIbZU2f298OMtg/sRs1o8dEJGiuw2vPmxvANJ/+JloiMUCGxB3uDv1MA9qe4jIGJSeaPkiNc6bgW4vHF+vDl4UlZJgzI2Ou+Bpy971mmR0uMyDBO+Nzbc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1714507529; c=relaxed/simple; bh=GCv3BDZHSuS83H1ZWRpmI2q9+2B8lcg5Pbc3R6S9MuM=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=U6dupmnt6G9hbPDR24huN0zWqO0ENtrt5Ri7exDm9gFwopwrnfZG9kZ9k05DAtcnt4GPeUR9HqwFTH/ZYlYgy4NzgHunWnODBQA3B7NE5W8VycxUvoAGpq3InzbKbkU4iUoaa1sVT49ToFqSNbcimcDnLP8pjVLrP7TF0+mfezc= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.com; s=s31663417; t=1714507520; x=1715112320; i=gabifalk@gmx.com; bh=0F5t30AG2I4IdRCOMPdi+fE2Yy+GK70PEZtryhLaI6A=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=QZ1dYZ/TUW/TjY1dP8Ujr/wg1EXCjH+FYoeM7pc+qJ8g+B28jSLldLejXfy65sBS NHuakQ622aJtgGyIH0mBAMRi3YCSmOSgSUwy5yqVHlDdErFCEEG3QfPC5zgwTYkMb na/mKF48Q1cV2BqitTRWNMioigtD89UGqPCw4l3KEzmjLr+izKpbWLo+pL6ejT8qM hgMTDo3U4sPdHakHlccf5B0kGL5oVZOHqesswxQCYItGbpCv/jCo9AQ7EKgUiV9IJ HSroG3j3LOZb5H767GDu6BkuRLRuOen+s9+ZWuixGDdkTB5kMzfu6aRJKBonxnGWi BhqgpCZTo41Ke5ky0A== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost ([46.120.23.13]) by mail.gmx.net (mrgmx005 [212.227.17.184]) with ESMTPSA (Nemesis) id 1M3DJv-1s4uOz0cxh-003cis; Tue, 30 Apr 2024 22:05:20 +0200 From: Gabi Falk To: libc-alpha@sourceware.org, "H.J. Lu" , Florian Weimer , "Dmitry V. Levin" , Sam James Cc: Gabi Falk Subject: [PATCH 1/3] i586: Fix multiple definitions of __memcpy_chk and __mempcpy_chk Date: Tue, 30 Apr 2024 20:05:02 +0000 Message-ID: <20240430200506.2717717-2-gabifalk@gmx.com> X-Mailer: git-send-email 2.43.2 In-Reply-To: <20240430200506.2717717-1-gabifalk@gmx.com> References: <20240430200506.2717717-1-gabifalk@gmx.com> MIME-Version: 1.0 X-Provags-ID: V03:K1:JqOik7GdhxOFIrAwMbHJ0O1zOUsHcVzRZtyAvVMjirFzA8ROfWn ftCbqhLpF4Q+9/BBDyWxhT5enqSVEtqdmZAeoFDx2B5BAFes71qK9gX4a37P7z+Hqe4rnLW nBDuKdUwgNCfdYw3hdsMbWuAphRocEJKqZlovisJ1L7qQ4TgfyQ+VreHBHtbJIff3B3w6f/ gP6JPiksxD/HbbZviPqVQ== UI-OutboundReport: notjunk:1;M01:P0:WrZc7CWDJ/E=;r9dMQt/fNeCsIy8DkNcem6Qj5au ayTdmefg8SwAQGZjhYIyB7xtbr7fhRiMC/KggcUq5LyS/tF+auzwAQZceeEdyEXpdgvK3hyTq +emBCSKH4iHCN5V9ecd3+US/QfDb1PpqQPka96NjFp2+5ztqgwuw/XAXaMC8sIZJwMfl7n2xv CuPLBaIJBo0IPKB5xzSgT0eCN8IQIldLqRcNeGcOAaeMa+nWwIrzRzaZxsDNPxryc9ceW8iYq ujeufTZtm7zmw1Kf98Begdg2WGbUlScRV1sCIczGr/iRf2yNW5eKrAwke3u9tKb+ssTT0y14S lGDEg1T6cAsm90gcbDca80znB9HXa9Uh6vPtX6XlXUvOmGOKjXZFiz1/cIGF1RF6ShEEppgiA x+C6IkI8udyAp9uVIEDQNqf2oODvBpFAeK9RIendnwfByA3esHL3Qy/+np5G1saNUGuIrgnh0 +bbsmFE0UXY5nVTbfOZkQbivLahlMa0lSkKAvh8I4E8wbbO7TEzXQUKMumGnWbXmFJ+eROQoI 7PtJZanZRkSrzMSRtwJnmJIjTrhjeKz8kzYX5qYPImv7Ew4SennNbMaMIWXfXSKDcxRNH7wf8 cFHMSLZEy2F/k2PAc6gZoDbuAewFaAT5fUmhP/q3GgVMIbT/h9PK5M29JKVUlnMko8dUl8Nt3 vonLMDaD8gExmvtKCmr6aCnRmcnXMvsDHoVIilw2ChxAyzrVA3jEO13MuZ6dVS2nqUOmyHC5j Ot9vtaj2jWA9Yt7Rdcsu/gUO8q0sGZrmI99n4extAWfmJMSFqYQRFUJ29YAOEm57cWhunGfzx GPWZdYHoKfW6a9rT5HSpw1xoZOCrKqwH4buh0hQIX4SKc= X-Spam-Status: No, score=-9.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org /home/bmg/install/compilers/x86_64-linux-gnu/lib/gcc/x86_64-glibc-linux-gnu/13.2.1/../../../../x86_64-glibc-linux-gnu/bin/ld: /home/bmg/build/glibcs/i586-linux-gnu/glibc/libc.a(memcpy_chk.o): in function `__memcpy_chk': /home/bmg/src/glibc/debug/../sysdeps/i386/memcpy_chk.S:29: multiple definition of `__memcpy_chk';/home/bmg/build/glibcs/i586-linux-gnu/glibc/libc.a(memcpy.o):/home/bmg/src/glibc/string/../sysdeps/i386/i586/memcpy.S:31: first defined here /home/bmg/install/compilers/x86_64-linux-gnu/lib/gcc/x86_64-glibc-linux-gnu/13.2.1/../../../../x86_64-glibc-linux-gnu/bin/ld: /home/bmg/build/glibcs/i586-linux-gnu/glibc/libc.a(mempcpy_chk.o): in function `__mempcpy_chk': /home/bmg/src/glibc/debug/../sysdeps/i386/mempcpy_chk.S:28: multiple definition of `__mempcpy_chk'; /home/bmg/build/glibcs/i586-linux-gnu/glibc/libc.a(mempcpy.o):/home/bmg/src/glibc/string/../sysdeps/i386/i586/memcpy.S:31: first defined here After this change, the static library built for i586, regardless of PIC options, contains implementations of these functions respectively from sysdeps/i386/memcpy_chk.S and sysdeps/i386/mempcpy_chk.S. This ensures that memcpy and mempcpy won't pull in __chk_fail and the routines it calls. Reported-by: Florian Weimer Signed-off-by: Gabi Falk Reviewed-by: H.J. Lu --- sysdeps/i386/i586/memcpy.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- gabi diff --git a/sysdeps/i386/i586/memcpy.S b/sysdeps/i386/i586/memcpy.S index 3e26f112d6..79856d498a 100644 --- a/sysdeps/i386/i586/memcpy.S +++ b/sysdeps/i386/i586/memcpy.S @@ -26,7 +26,7 @@ #define LEN SRC+4 .text -#if defined PIC && IS_IN (libc) +#if defined SHARED && IS_IN (libc) ENTRY (__memcpy_chk) movl 12(%esp), %eax cmpl %eax, 16(%esp)