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: AS17314 8.43.84.0/22 X-Spam-Status: No, score=-4.2 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,NICE_REPLY_A, RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS,URIBL_BLACK shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (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 F05F71F8C6 for ; Mon, 30 Aug 2021 20:01:50 +0000 (UTC) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 098473858418 for ; Mon, 30 Aug 2021 20:01:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 098473858418 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1630353710; bh=iKmruqjx29CFFN2A32MUNfr5brqrXOE2250j8Nr+FXs=; h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=ws+ukyOj0iZWQ18A5/a0kKMfaQmlZ8L9QwriaRmkVctLao+juNgQbWVpYXLUSnYiA yRuZQjYXpQPi9U99HyklEJTBrtXlmrH1HfHxSp2MKrT5AdtIMIRIW4gHWcw6g6eFav 5PB/PHiOhleaOq63OVsD8bwm+ShvQdmRPbN0Fx6Q= Received: from mail-qt1-x836.google.com (mail-qt1-x836.google.com [IPv6:2607:f8b0:4864:20::836]) by sourceware.org (Postfix) with ESMTPS id 7CAB93858D35 for ; Mon, 30 Aug 2021 20:01:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7CAB93858D35 Received: by mail-qt1-x836.google.com with SMTP id d11so44309qtw.3 for ; Mon, 30 Aug 2021 13:01: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:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=iKmruqjx29CFFN2A32MUNfr5brqrXOE2250j8Nr+FXs=; b=t1qsRko023h4xDXbEax2DrJXe+jeHyE4OG2b0xGxCH8Feh/m3CpKYzrzCDbxi+whRm vzEOSkPwoHzaw3+fpTwUk+s4AGVFuCyjuzhPBlt42aneUu8tsrrL7uzJBkwKuTJLrMvQ UDN+t7Sse11j1TJrEfHNiNy4h3kiU677CRbfy89Z1zdEv65r6gwxuy5t7vO323cWj7qL MYkHnbfXEG+sv+DGDoWadRBPtWIrrvRyvm1hAfEf9Xb4juHyUPcICmgdZBqg6MSd6mzg uJCIM+i75W2uztph6y6zwUBHJwjDnbSafGqaoxL8t9BSr5/jhRE+KwoE/NR05J4pN+UA 73Hg== X-Gm-Message-State: AOAM533JBw0PSmJhr1gw5mOGzjDY3YGv6lLldxS8Lb7cujvghJKx99Nh FP26/C0oh1IZQcer3nZRykhkBA== X-Google-Smtp-Source: ABdhPJxr0f0/65xdrLOBx9i9ro10vZxSAWk2ZS78kTP7zVUUx5LlBVkzrsuB8/e/G/3h5Ve5eaAj/Q== X-Received: by 2002:ac8:9:: with SMTP id a9mr10382143qtg.351.1630353681013; Mon, 30 Aug 2021 13:01:21 -0700 (PDT) Received: from ?IPv6:2804:431:c7ca:1a68:7647:1f41:2147:1ed2? ([2804:431:c7ca:1a68:7647:1f41:2147:1ed2]) by smtp.gmail.com with ESMTPSA id v24sm9041917qtq.17.2021.08.30.13.01.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 30 Aug 2021 13:01:20 -0700 (PDT) Subject: Re: [PATCH v2 3/3] configure: Allow LD to be LLD 13.0.0 or above [BZ #26558] To: =?UTF-8?B?RsSBbmctcnXDrCBTw7JuZw==?= , libc-alpha@sourceware.org, "H.J. Lu" References: <20210805162601.1200851-1-maskray@google.com> <20210805162601.1200851-4-maskray@google.com> <20210810221915.g6ipyceykaio3324@google.com> Message-ID: <3ab00477-b4eb-30f0-78e5-875a90c54971@linaro.org> Date: Mon, 30 Aug 2021 17:01:18 -0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit 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: Adhemerval Zanella via Libc-alpha Reply-To: Adhemerval Zanella Errors-To: libc-alpha-bounces+e=80x24.org@sourceware.org Sender: "Libc-alpha" On 30/08/2021 16:52, Fāng-ruì Sòng via Libc-alpha wrote: > On Tue, Aug 24, 2021 at 10:05 AM Fāng-ruì Sòng wrote: >> >> On Sun, Aug 22, 2021 at 8:18 PM Fāng-ruì Sòng wrote: >>> >>> On Tue, Aug 10, 2021 at 3:19 PM Fangrui Song wrote: >>>> >>>> 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) >>> >>> Ping^2 >>> >>> ("elf: Replace .tls_common with .tbss definition [BZ #28152]" has been >>> subsumed into a tls-macros.h removal patch.) >> >> This is now the only needed commit. >> >> aarch64 and ppc64le look on par. >> x86-64 just has 2 more FAIL due to ld.so's intrinsic lack of ifunc robustness. > > > Ping^4. I'll push if nobody objects. H.J has raised some objections and referenced BZ#28218 [1]. Are the two tests still occurring with lld? If it were the case I think we should at least xfailing then by returning FAIL_UNSUPPORTED if lld is being used the linker. [1] https://sourceware.org/bugzilla/show_bug.cgi?id=28218