From patchwork Sun Jun 26 18:40:25 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fangrui Song X-Patchwork-Id: 55414 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 606FC385829B for ; Sun, 26 Jun 2022 18:40:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 606FC385829B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1656268849; bh=HqeeFAUrn/usk1lp7qDdV/iUN6YTCpLSft22Dgg0/fE=; h=Date:Subject:To:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=wriblUFW0zXy4HpjUscxg/t5ucTntzk6r6SqqMllIPNsoUKpdl7jJoZe6+ll6BJeF s7KyU0BgbiAemTQUzUYe6j2hmCd0uzNe6ffmxI944A3x1aXJ4UzHvT5TNd1LQZkzpy 3D6CuV88ERSwnbhqf01LNAkPP+lXq7tV8qjNq/CM= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by sourceware.org (Postfix) with ESMTPS id 119913858C51 for ; Sun, 26 Jun 2022 18:40:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 119913858C51 Received: by mail-yb1-xb49.google.com with SMTP id b7-20020a256707000000b00669b4b2c5daso6484139ybc.1 for ; Sun, 26 Jun 2022 11:40:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=HqeeFAUrn/usk1lp7qDdV/iUN6YTCpLSft22Dgg0/fE=; b=Yv0NhxsH33tNMXBB90iyjcXlEWXlZ4w+cdBQb3GL4cVeFkte+KhQllOX9bSnYis6Dp oIne8vAsGchz3GzKZ/TNcjP6fpG7aIQYbeyai3GKwhgvylDuynyUHB9lNOIkwyOtjoZC i2H8mZ2LWpOGzYiksTZyIEjJHRUioeMdqzP/D4ELRPjfPf7MFOE4aWF/1XnlsqtLXsaj h2mxonOLhQvZcntygLbeE1Ex0TXNuGQJkDIYOYyY49WBagnUSR13qBZnKDX0HfVEN36x 4aefdDUOO4xc3FXySY9RqhuCkRpu9Xz5RvwOfDdp6HxB9q0qL2a1E1HWBuWliYgwhrWy MyBw== X-Gm-Message-State: AJIora865xzt8CFh8JJkg3IL8RsoJV1iF2xDbAaz18ebvlJz3S3FzGBe d+UcNJA/FpsqN8ZF8ir5Aso5ABLqrBfTR3ihYotmHM0frQIFOurOy6jpzgrJUmv+VexbE/yYc2f YUtIcu98/3YX6enuCch1tLzfUZPk0ouqvIZSm7dcybu5KblOKC2C/nZPXl+Nwlto8tjz3 X-Google-Smtp-Source: AGRyM1uR0+3x3k5d+mLHuwZ4fMXQh9akMXmTSKmd2uRH+dBw5WaE5xBR29N2d7N93fattIPIbAMaMLhG0LGG X-Received: from maskray1.svl.corp.google.com ([2620:15c:2ce:200:9485:9ff1:9144:d14a]) (user=maskray job=sendgmr) by 2002:a0d:cc4e:0:b0:317:6e85:f008 with SMTP id o75-20020a0dcc4e000000b003176e85f008mr10508422ywd.479.1656268828412; Sun, 26 Jun 2022 11:40:28 -0700 (PDT) Date: Sun, 26 Jun 2022 11:40:25 -0700 Message-Id: <20220626184025.553459-1-maskray@google.com> Mime-Version: 1.0 Subject: [PATCH] Makerules: Remove no-op -Wl,-d when linking libc_pic.os To: libc-alpha@sourceware.org X-Spam-Status: No, score=-19.2 required=5.0 tests=BAYES_00, DKIMWL_WL_MED, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE, URIBL_BLACK, USER_IN_DEF_DKIM_WL 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.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Fangrui Song via Libc-alpha From: Fangrui Song Reply-To: Fangrui Song Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" In GNU ld, -d assigns space to common symbols for -r (i.e. change common symbols to STB_GLOBAL definitions). This option was added in commit da2d1bc5adf49352232ad0514e79fbd5dcae08e8 (1998) likely because ld at that time had a bug that common symbols did not override shared object definitions. -d has been long unneeded and more so since -fno-common was added to +cflags. --- Makerules | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/Makerules b/Makerules index dfe89e9e39..d1e139d03c 100644 --- a/Makerules +++ b/Makerules @@ -633,14 +633,10 @@ LDFLAGS-c.so = -nostdlib -nostartfiles LDLIBS-c.so += $(libc.so-gnulib) # Give libc.so an entry point and make it directly runnable itself. LDFLAGS-c.so += -e __libc_main -# Pre-link the objects of libc_pic.a so that we can locally resolve -# COMMON symbols before we link against ld.so. This is because ld.so -# contains some of libc_pic.a already, which will prevent the COMMONs -# from being allocated in libc.so, which introduces evil dependencies -# between libc.so and ld.so, which can make it impossible to upgrade. +# Pre-link the objects of libc_pic.a for .gnu.glibc-stub.* processing. $(common-objpfx)libc_pic.os: $(common-objpfx)libc_pic.a $(LINK.o) -nostdlib -nostartfiles -r -o $@ \ - $(LDFLAGS-c_pic.os) -Wl,-d $(whole-archive) $^ -o $@ + $(LDFLAGS-c_pic.os) $(whole-archive) $^ -o $@ ifeq (,$(strip $(shlib-lds-flags))) # Generate a list of -R options to excise .gnu.glibc-stub.* sections.