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=-3.4 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI,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 5E2CE1F8C6 for ; Tue, 31 Aug 2021 21:25:29 +0000 (UTC) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 52B583858420 for ; Tue, 31 Aug 2021 21:25:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 52B583858420 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1630445127; bh=iQWYRfEFNGu91mok5ZVTn+Fy0PM5uDpbwrYVYENBW/g=; h=References:In-Reply-To:Date:Subject:To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=EcCa2ZRtuVqT33x+wQ7qpJNe+B1II6XFWGFAALHsVQPDSweFCRFrWCxOPQOzodXnj /nLLAskeLcs/6u4nDp58bCXMXLEeiXv4EJdAKJi7+B7AZVBFwtgufsDpGj57nbiogE nRqgT7Mp1PV3eR/1MMNdmphCxB3lxjpdj2qG2W2E= Received: from mail-yb1-xb30.google.com (mail-yb1-xb30.google.com [IPv6:2607:f8b0:4864:20::b30]) by sourceware.org (Postfix) with ESMTPS id 286D53858C27 for ; Tue, 31 Aug 2021 21:24:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 286D53858C27 Received: by mail-yb1-xb30.google.com with SMTP id z18so1055135ybg.8 for ; Tue, 31 Aug 2021 14:24:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=iQWYRfEFNGu91mok5ZVTn+Fy0PM5uDpbwrYVYENBW/g=; b=k8QoA2Tw1AQXBbv9ow2JJUh31eqWVBsgYOfE4ATU+fR2hgnbq4Iml7cKas/Nxi/I8z jahZ21LFSHszTACAlfN0mIDIYWbd2i+yrlyRsMFxRSKMqXs1VWCj2E5dKHjB6J4B2qwN 3xAE5SP6qOmvkrNZA/Y9TxLzaLFcVfTHIHhHQHEAJsr3vTCDfNdfAt2pPWLf7tU2AUer 3R214ttjav78F/vDtuJG9IXTmdPuHBQ9WL78KHHNKQZ5YJK8GdIE4Up8yM9LxsYa8MMx gVrovrH5ckzkBeRq6idaaWa12JiAeeII/2n2ZIpm+eZI+5B/vGuI66GTAIcDflYs+V7m l5zg== X-Gm-Message-State: AOAM5318xmlOjen5z7h9F1TwHwcCuYERN+nBShb1HDTtd3kGEi5qGdii EWrHoZZZOoVMMPcdyatn7GYBvlWrnfBDH9xfelCIyYaGQ4GetQ== X-Google-Smtp-Source: ABdhPJxuLTAgYqDi6v2znlNZ9GOieDlbp2iS3wBfyaOLcc20HQxY430+rD3i17Thijg65NuNSCh31rX53lgmn3KWFBc= X-Received: by 2002:a25:8145:: with SMTP id j5mr33819989ybm.322.1630445097497; Tue, 31 Aug 2021 14:24:57 -0700 (PDT) MIME-Version: 1.0 References: <20210805162601.1200851-1-maskray@google.com> <20210805162601.1200851-4-maskray@google.com> <20210810221915.g6ipyceykaio3324@google.com> <3ab00477-b4eb-30f0-78e5-875a90c54971@linaro.org> In-Reply-To: <3ab00477-b4eb-30f0-78e5-875a90c54971@linaro.org> Date: Tue, 31 Aug 2021 14:24:46 -0700 Message-ID: Subject: Re: [PATCH v2 3/3] configure: Allow LD to be LLD 13.0.0 or above [BZ #26558] To: Adhemerval Zanella Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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: =?utf-8?q?F=C4=81ng-ru=C3=AC_S=C3=B2ng_via_Libc-alpha?= Reply-To: =?UTF-8?B?RsSBbmctcnXDrCBTw7JuZw==?= Cc: libc-alpha@sourceware.org Errors-To: libc-alpha-bounces+e=80x24.org@sourceware.org Sender: "Libc-alpha" On Mon, Aug 30, 2021 at 1:01 PM Adhemerval Zanella wrote: > > > > On 30/08/2021 16:52, F=C4=81ng-ru=C3=AC S=C3=B2ng via Libc-alpha wrote: > > On Tue, Aug 24, 2021 at 10:05 AM F=C4=81ng-ru=C3=AC S=C3=B2ng wrote: > >> > >> On Sun, Aug 22, 2021 at 8:18 PM F=C4=81ng-ru=C3=AC S=C3=B2ng wrote: > >>> > >>> On Tue, Aug 10, 2021 at 3:19 PM Fangrui Song wro= te: > >>>> > >>>> On 2021-08-05, Fangrui Song wrote: > >>>>> When using LLD (LLVM linker) as the linker, configure prints a conf= using > >>>>> message. > >>>>> > >>>>> *** These critical programs are missing or too old: GNU ld > >>>>> > >>>>> LLD>=3D13.0.0 can build glibc --enable-static-pie. (8.0.0 needs one > >>>>> workaround for -Wl,-defsym=3D_begin=3D0. 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.h= tml) > >>> > >>> Ping^2 > >>> > >>> ("elf: Replace .tls_common with .tbss definition [BZ #28152]" has bee= n > >>> 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 rob= ustness. > > > > > > 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=3D28218 I'll use https://sourceware.org/pipermail/libc-alpha/2021-August/130637.htm= l which XFAIL the two ifunc tests.