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.7 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham 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 C4AB01F8C6 for ; Sat, 4 Sep 2021 03:53:04 +0000 (UTC) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 60536386FC08 for ; Sat, 4 Sep 2021 03:53:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 60536386FC08 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1630727581; bh=To3D7sMkU7mYuV7gfT/u77zRY58Si1wu19Jc0LFqbyY=; h=Date:To:Subject:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=Mz8CVw9/garpqY0V+fxwyaI94x8d0ZIGcZ06sDaKjJCeOOIKczlXoJJerYzJIketH YcVzFIJJHoVrrqrPuowTSkotijmcAWRLGC5SVmJbB5DxwBaNVKGTGnN0B1x/3mdxyp Q9gajw+L1A45U+y5z5zKAKZDghCtLRE3qR4PkIgI= Received: from mail-pg1-x52f.google.com (mail-pg1-x52f.google.com [IPv6:2607:f8b0:4864:20::52f]) by sourceware.org (Postfix) with ESMTPS id 3B291384842E for ; Sat, 4 Sep 2021 03:52:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3B291384842E Received: by mail-pg1-x52f.google.com with SMTP id q68so935984pga.9 for ; Fri, 03 Sep 2021 20:52:41 -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:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=To3D7sMkU7mYuV7gfT/u77zRY58Si1wu19Jc0LFqbyY=; b=pQ9r67EElwLIgCuFfS5RQEsZ3fD2LVX2fnNwEaHi34SpUFCBPXlU6mrskhS8j/xdKr gVwZtdEUr2WNE7k/WcIBjxaHusQF8KgPqE1fEXdyJ2ueVTaGH4FZayws284+4RhDSV8l NKj7RNtZzezg5tavRxk5cREecxICHJm+ZBVxTiQUGfAeWdLKoM752Y3qoSIgiiISjlfu BibagW6JepD17dI49xVz1cI1cq7a/zZUZDDN/wVL3nKEmfjRznVXw8BmzFP8tsKDAFhB H8EWn6KOdu/KSrQ8Oe5//ahaF6eYl98umz50hLCM8TDfdlcW5rh6VENAclJeDEdICxax S6Lg== X-Gm-Message-State: AOAM530Z4T8aQFGSkGtZl5/B8iJP5Eh71eU/NO/+WVm5m4vXj9GgB+hQ tnkEaw13jVzvMeuegsAZxysWUUzM1qd0/w== X-Google-Smtp-Source: ABdhPJw6U2VaDG15/sIItaIanGd2f8jG1YEWvNkNV7RngNoXUhTWQvVFri5lB/JNhoqsmYnJoICZiQ== X-Received: by 2002:a63:651:: with SMTP id 78mr1984271pgg.306.1630727560162; Fri, 03 Sep 2021 20:52:40 -0700 (PDT) Received: from google.com ([2620:15c:2ce:200:f4ca:a811:9de4:9aaa]) by smtp.gmail.com with ESMTPSA id g140sm709851pfb.100.2021.09.03.20.52.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Sep 2021 20:52:39 -0700 (PDT) Date: Fri, 3 Sep 2021 20:52:35 -0700 To: Florian Weimer Subject: Re: [PATCH] elf: Avoid nested functions in the loader (all ports) [BZ #27220] Message-ID: <20210904035235.giercjqdwzjukxb5@google.com> References: <20210823043648.2648608-1-maskray@google.com> <87tuj255se.fsf@oldenburg.str.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: <87tuj255se.fsf@oldenburg.str.redhat.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 Cc: Fangrui Song via Libc-alpha Errors-To: libc-alpha-bounces+e=80x24.org@sourceware.org Sender: "Libc-alpha" On 2021-09-03, Florian Weimer wrote: >* Fangrui Song via Libc-alpha: > >> [Alternative to https://sourceware.org/pipermail/libc-alpha/2021-August/130340.html >> This version fixes all ports and doesn't add NESTING dispatches.] >> >> dynamic-link.h is included more than once in some elf/ files (rtld.c, >> dl-conflict.c, dl-reloc.c, dl-reloc-static-pie.c) and uses GCC nested >> functions. This harms readability and the nested functions usage >> is the biggest obstacle prevents CC=clang (which doesn't support the >> feature). > >This patch causes elf/tst-nodelete to fail on x86_64, powerpc64, >powerpc64le at least: > >| Unique symbols test failed > >I assume something is wrong with the initialization of the new global >variables. I unintentionally missed DL_LOOKUP_FOR_RELOCATE (fcb04b9aed26a737159ef7be9c5a6ad0994437dc ("Introduce DL_LOOKUP_FOR_RELOCATE flag for _dl_lookup_symbol_x")) when rebasing the multi-line macro RESOLVE_MAP. Fixed in https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/maskray/unnest (Sorry about my negligence. On my Debian, master has 14 FAIL, and I probably missed that tst-nodelete additionally failed.)