From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS3215 2.6.0.0/16 X-Spam-Status: No, score=-1.5 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FSL_HELO_FAKE, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS, URIBL_BLACK shortcircuit=no autolearn=no autolearn_force=no version=3.4.2 Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id EE12B1F8C6 for ; Tue, 10 Aug 2021 22:19:55 +0000 (UTC) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6F3B43857421 for ; Tue, 10 Aug 2021 22:19:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6F3B43857421 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1628633994; bh=GxNqOv5CQjRjNGirf00NSeNcjQdO4roq1+jyewniPR8=; h=Date:To:Subject:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=THRqbVT4YUb+l8s7bLOXVLW/wu8+OtSeAAkrwnr1EeUY4pEiPAGeqhTeRWc+5tGlh v5n5gKCS3MbIiy97vuMVIotLY+9AKpHi5yPewkUCuTMvKHZwued9aJsmTRN+5dCTwi L6eifHRsN6jGDAddyfas/dxNEy/Lpw3crnGYT6dg= Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com [IPv6:2607:f8b0:4864:20::1030]) by sourceware.org (Postfix) with ESMTPS id CE7A43857800 for ; Tue, 10 Aug 2021 22:19:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CE7A43857800 Received: by mail-pj1-x1030.google.com with SMTP id cp15-20020a17090afb8fb029017891959dcbso6469540pjb.2 for ; Tue, 10 Aug 2021 15:19:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=GxNqOv5CQjRjNGirf00NSeNcjQdO4roq1+jyewniPR8=; b=gwBTLG550DFAR0WtLTsj2U9HwBSbpZD7dv+XgNF7+6OpTfRBpet6sfr96k6QVRmhJA zREzvqxrTa4I7W4H+zH4wWIbbnSxUqI8dOZZEpI4t8wDOj3S9uPePLoc97uuQ+KaepSn 8r0NFQCQLNGDLmdaG04cI4wxIHAlgx+Z9fuduBbm5zX/ftiFPQ7GNNeWAOgTYhZSbDyi k5tJd0Br13cLHRTNhMjdxsIqc2CC+JQVOM2ZhK+0qqjsi51lNeX9fLmmW7sDiVOkLtql +uQ3iz6l+QyUQ9ruZpqWuE0y8C4wx/StU/Z3AJAR1SY45sgtEgDwQ3bUrUYkvNAqwQSL PbAA== X-Gm-Message-State: AOAM531B4uvORw9UrLoe//4kElbz92NlEhIkR9hmvI6eJXJaEzd2ESiu qdc7c2XQt5UfzuUCXmLM3B9rStPwWJwjAA== X-Google-Smtp-Source: ABdhPJzN8WEyhukwa+U7tw0Y80non6wiDfJX4CICBymOed1S4BUX+A+GSUhixqytTjLJi6J58ZRGBg== X-Received: by 2002:a63:1926:: with SMTP id z38mr14998pgl.451.1628633960528; Tue, 10 Aug 2021 15:19:20 -0700 (PDT) Received: from google.com ([2620:15c:2ce:200:69a6:3e8d:f42c:7450]) by smtp.gmail.com with ESMTPSA id y8sm26093760pfe.162.2021.08.10.15.19.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Aug 2021 15:19:19 -0700 (PDT) Date: Tue, 10 Aug 2021 15:19:15 -0700 To: libc-alpha@sourceware.org Subject: Re: [PATCH v2 3/3] configure: Allow LD to be LLD 13.0.0 or above [BZ #26558] Message-ID: <20210810221915.g6ipyceykaio3324@google.com> References: <20210805162601.1200851-1-maskray@google.com> <20210805162601.1200851-4-maskray@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: <20210805162601.1200851-4-maskray@google.com> 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: , From: Fangrui Song via Libc-alpha Reply-To: Fangrui Song Errors-To: libc-alpha-bounces+e=80x24.org@sourceware.org Sender: "Libc-alpha" On 2021-08-05, Fangrui Song wrote: >When using LLD (LLVM linker) as the linker, configure prints a confusing >message. > > *** These critical programs are missing or too old: GNU ld > >LLD>=13.0.0 can build glibc --enable-static-pie. (8.0.0 needs one >workaround for -Wl,-defsym=_begin=0. 9.0.0 works with >--disable-static-pie). > >With BZ #28153 (glibc bug exposed by testing with LLD) fixed, >`make check` only has 2 more failures with LLD than with GNU ld: >BZ #28154 (LLD follows the PowerPC port of GNU ld for ifunc by >placing IRELATIVE relocations in .rela.dyn). >The set of dynamic symbols is the same with GNU ld and LLD, >modulo unused SHN_ABS version node symbols. > >For comparison, gold does not support --enable-static-pie >yet (--no-dynamic-linker is unsupported BZ #22221), yet >has 6 failures more than LLD. gold linked libc.so has >larger .dynsym differences with GNU ld and LLD >(ISTM non-default version symbols are changed to default versions >by a version script). > >--- > >I identified the lack of support of > >* version script on non-default version symbols >* copy relocations on non-default version symbols > >in an earlier snapshot of LLD 13.0.0 and fixed them. >The functionality of the LLD linked libc.so and ld.so looks pretty good. >--- > configure | 77 +++++++++++++++++++++++++++++++++++++++++++++++++--- > configure.ac | 20 ++++++++++---- > 2 files changed, 88 insertions(+), 9 deletions(-) Ping:) (The code/test hasn't been changed since v1. v2 just added BZ numbers.) x86-64 only 2 more ifunc FAIL which tickle some weak point of ifunc implementation. aarch64 `make-check` is fully on par with GNU ld. (https://sourceware.org/pipermail/libc-alpha/2021-August/130040.html)