From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) by sourceware.org (Postfix) with ESMTPS id C76A73858D1E for ; Sat, 27 Apr 2024 16:42:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C76A73858D1E 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 C76A73858D1E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=212.227.17.20 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1714236174; cv=none; b=ahJnlBJydZhquoA8lmpZT46en2oJsUbFfsA1Ly0wXMinm0Tfu8ZklOGAxTtVFl65Hp28zfxOjnPglCkqukVKAI0mjOXqXA5GWSShWfznf/Q8QCr1s0utSsFoxPwZAky3S9kYiPMuvTvyScGF7zn6x0roG7vT0ozStWPlj8SnPQg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1714236174; c=relaxed/simple; bh=lykLgp6AvPVqUDJMfAL6X+uAdo+yDJY0Pa66jpcCb4k=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=XRi6BVOpoWfTq+mWPuW0bWQ0B4U5gB3Fp3JuMgGsY78ANuRKW468d4iAHQHTUXaHynduwPwQBN8i97JfJfla9eWk89QUx8pvkk2cbhyiKGDXvkVhGbtw3lP0kaaInok3rzftmKZAHEESK/jBvL28/BMWHwLcWUPFkYPYZezMo/g= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.com; s=s31663417; t=1714236153; x=1714840953; i=gabifalk@gmx.com; bh=Cvd+8Kb+QXVd4O5K/mvn7H0kOBTLK1+vUgm8UGHveac=; 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=RdONnrvE9eDCICxrsGAvaTLfI8GRNoJeky/zhpwWqCCQsArBiBh8SP8qf13pQT6d zPj9DXeZwyjUgnKNOqrmq/GoG9t/W4tzi3O496K7y+H9nVC9IZeBT7VdX9tSJgM3D EYPe0FHP521PjiyG5JurDrn5/TYXWm+snvCjsB22N2qMgOVdg0TKbynwj9Q8D2agv ZIXr0Ce9pOgR08lcDM/4oC1WEVlAFaWhBSBF7DN9eSffAW4OmuUdQXPjg8pXpvgtv Y5Ap5m1aoL3uLMb85fuowlSVObkeeA0lOMrowcHN4mWD2u/mqTrV3T6qFT4GKN8Cz FopiCiG7NCkuY1G6lg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost ([46.120.23.13]) by mail.gmx.net (mrgmx104 [212.227.17.174]) with ESMTPSA (Nemesis) id 1M9Fnj-1s4M1u09OZ-004pdU; Sat, 27 Apr 2024 18:42:33 +0200 From: Gabi Falk To: "H.J. Lu" Cc: Gabi Falk , libc-alpha@sourceware.org, "Dmitry V. Levin" , Sam James Subject: [PATCH v2] i686: Fix multiple definitions of __memmove_chk and __memset_chk Date: Sat, 27 Apr 2024 16:42:27 +0000 Message-ID: <20240427164229.1778534-1-gabifalk@gmx.com> X-Mailer: git-send-email 2.43.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:nymw9DeWaZHQGYl9D3lbXYff4zgWimxGk84wpwkOkCjbMly4KmX s49qNQt6lzymi1b8TEt8eALIXAh6mmH5eZjYzF3yYZ667uWqXjpbfS8TI6tcwtl8mepQ9Sc KNs+afmqctwY60gx168dw5MHQ978BqWMcfFG2g3afJ5XvY1S6stDnpXZ+rvvFCAglwzOqCO KQkQSi8ahL6GmiY07PaIA== UI-OutboundReport: notjunk:1;M01:P0:FG5mLPJCO+E=;UDzbD3qe63DuluOdxoZSFOXdWh1 8o7YXGrpLc/cIUWB6OuMowKjqwfFdHsxA3mjJBidan+IvKZyCqF6PMQumNuJVfVZq5Nxnd+Av nv/6PJwWVAN2tnGeW8wpAhRcuvbF1a7d0Rw9VEuid8YHEMkRjEoorxTjmViESuq7KzGLw52/O MSntMVgW4cYutOFT0zmmXIG4a+go91bEVeBm1zzZwR1WsWMMsy4bnNcyIA5/SLurXhnlj9Vn1 qD8/SfweDI45LLjJFkyQLywhIQqUfEzz2zK23fRL8YbuCnlsZuFexYsGak9qQL1Ft/0e3ZunP hQZc81W6yCgVESjAoUSueo1+VYy9rS2ci4CZWRlfPDmiWog9Dv7dgMXIK5kRSEWwUCJUJaBTE 9GKjq8BSHcqDfnj3dtyIKqz2HDCpGWNMbgTE0xlq7owgrjG/UWCx9CWRKfPWe/470NXiNhgbA +pcMSEfV0X3xrV814QmcCoxRAjpxEGHMvDr6cmiyBGttGgliatQoHjQnpwbwPUFHiYjAUoNYv Y0KQNDBTF/8/XeAqvQ0Pny4rbGKtXMv2nGIybezPMAFlLXpp1QFIcmXEubc/pu0In1W0WxY5D XVtzcY67li1HcbNuTO3k5kwGM60BUtYdtHe4yN7FblY7uoClSG9MlRI5dgB9c2VuzmJR6TLFW ptqcefjw8Xks2g9lbZ7VbctREjPiiV9+8vbsRaIril18ff06JERioqMVXh8qcCtzVmLN/frO7 IKkuh96xxZ/ywOFnHrLv9Oq6/aawDNmbY3mtHEoE1XskK7yMeDpfvK8PxX3sW5Z2KGXikxh05 ps5bY7Y5MENRCW7AWJoInqkZuGDbT/olIP0F3SyAnBUs4= X-Spam-Status: No, score=-10.5 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 List-Id: Commit c73c96a4a1af1326df7f96eec58209e1e04066d8 updated memcpy.S and mempcpy.S, but omitted memmove.S and memset.S. As a result, the static library built contains two definitions for each of the __memmove_chk and __memset_chk symbols. /usr/lib/gcc/i686-pc-linux-gnu/14/../../../../i686-pc-linux-gnu/bin/ld: /u= sr/lib/gcc/i686-pc-linux-gnu/14/../../../../lib/libc.a(memset-ia32.o): in = function `__memset_chk': /var/tmp/portage/sys-libs/glibc-2.39-r3/work/glibc-2.39/string/../sysdeps/= i386/i686/memset.S:32: multiple definition of `__memset_chk'; /usr/lib/gcc= /i686-pc-linux-gnu/14/../../../../lib/libc.a(memset_chk.o):/var/tmp/portag= e/sys-libs/glibc-2.39-r3/work/glibc-2.39/debug/../sysdeps/i386/i686/multia= rch/memset_chk.c:24: first defined here Add a test to check that the static libc does not contain multiple definitions of any symbols. Reported-by: Sam James Fixes: c73c96a4a1 ("i686: Fix build with --disable-multiarch") Signed-off-by: Gabi Falk =2D-- Makefile | 7 +++++++ sysdeps/i386/i686/memmove.S | 2 +- sysdeps/i386/i686/memset.S | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 7052b46df8..2e351c0321 100644 =2D-- a/Makefile +++ b/Makefile @@ -577,6 +577,13 @@ $(objpfx)lint-makefiles.out: scripts/lint-makefiles.s= h $(SHELL) $< "$(PYTHON)" `pwd` > $@ ; \ $(evaluate-test) +# Link libc.a as a whole to verify that it does not contain multiple +# definitions of any symbols. +tests-special +=3D $(objpfx)link-static-libc.out +$(objpfx)link-static-libc.out: + $(LINK.o) $(whole-archive) -r $(objpfx)libc.a -o /dev/null > $@ 2>&1; \ + $(evaluate-test) + # Print test summary for tests in $1 .sum file; # $2 is optional test identifier. # Fail if there are unexpected failures in the test results. diff --git a/sysdeps/i386/i686/memmove.S b/sysdeps/i386/i686/memmove.S index f230359ad6..effd958120 100644 =2D-- a/sysdeps/i386/i686/memmove.S +++ b/sysdeps/i386/i686/memmove.S @@ -29,7 +29,7 @@ #define SRC DEST+4 #define LEN SRC+4 -#if defined PIC && IS_IN (libc) +#if defined SHARED && IS_IN (libc) ENTRY_CHK (__memmove_chk) movl 12(%esp), %eax cmpl %eax, 16(%esp) diff --git a/sysdeps/i386/i686/memset.S b/sysdeps/i386/i686/memset.S index f02f5a6df7..ab06771ea0 100644 =2D-- a/sysdeps/i386/i686/memset.S +++ b/sysdeps/i386/i686/memset.S @@ -27,7 +27,7 @@ #define LEN CHR+4 .text -#if defined PIC && IS_IN (libc) +#if defined SHARED && IS_IN (libc) ENTRY_CHK (__memset_chk) movl 12(%esp), %eax cmpl %eax, 16(%esp) =2D- gabi