From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) by sourceware.org (Postfix) with ESMTPS id EF8B13858D34 for ; Sat, 31 Jul 2021 17:07:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EF8B13858D34 Received: by mail-pl1-x631.google.com with SMTP id u16so6278564ple.2 for ; Sat, 31 Jul 2021 10:07:30 -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; bh=kYUnRnE+TNkUbC5gp0TgZo/spJvBMdVI7xI3z88MoGw=; b=hVAJbgjxrsMmaUgNeJZk3UulFkOi1ZLbat62781PG96lcGlCeJBDBuby9QZuPrK9b3 mYJdcCrD4fRmdWXPwjQh2u/BzOiYxblzienKbxNYzgKhPfSxDo9pYvZM+O16px8gD2Y8 H2b5ukludFf3zTuAKwilXTz92XopvsmSJVmqxS/aZfJbcLxApBzW5VWa7McJ9K8+xLvQ YEhnxvZGfCVolsbjjtWXhv1ykNHs3ABnoec1mpGsGqvomVWq/P/Le5WpeoPwcA/bPEao fdme5BgKS/BKXJFcRXxJ0b4vHdjLYMI9GJUA940NiReUPONgThiU2LJG4iZRK926xGP+ mQbA== X-Gm-Message-State: AOAM533kNH/IBhOU4lmVa0fBGNoU/9V1sos9IDpuq73HQkh8gAWk2KRq a1lnZ3EBcPKqI/yIuHfIRy0kEMtkjZTAX/ElVGA= X-Google-Smtp-Source: ABdhPJzhOsbL7pShNLlnP+2Wr6gIaIcPrsI9Gt1PH+abqKbG/04c3afO+Cq2z1IFVRAosg0wFHKUI13KB+D6mzWw7K0= X-Received: by 2002:aa7:8812:0:b029:32d:8252:fd0 with SMTP id c18-20020aa788120000b029032d82520fd0mr8502630pfo.48.1627751249963; Sat, 31 Jul 2021 10:07:29 -0700 (PDT) MIME-Version: 1.0 References: <20210731151316.1659316-1-hjl.tools@gmail.com> <87o8aiv3sl.fsf@oldenburg.str.redhat.com> In-Reply-To: <87o8aiv3sl.fsf@oldenburg.str.redhat.com> From: "H.J. Lu" Date: Sat, 31 Jul 2021 10:06:54 -0700 Message-ID: Subject: Re: [PATCH v2] Place ENTRY_POINT in .text.unlikely section [BZ #28153] To: Florian Weimer Cc: "H.J. Lu via Libc-alpha" Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-3030.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, KAM_STOCKGEN, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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-List-Received-Date: Sat, 31 Jul 2021 17:07:32 -0000 On Sat, Jul 31, 2021 at 9:36 AM Florian Weimer wrote: > > * H. J. Lu via Libc-alpha: > > > diff --git a/sysdeps/aarch64/start.S b/sysdeps/aarch64/start.S > > index 417da8802b..e46e01ed0b 100644 > > --- a/sysdeps/aarch64/start.S > > +++ b/sysdeps/aarch64/start.S > > @@ -42,7 +42,7 @@ > > NULL > > */ > > > > - .text > > + .section .text.unlikely,"ax",%progbits > > ENTRY(_start) > > /* Create an initial frame with 0 LR and FP */ > > cfi_undefined (x30) > > I don't think it's correct to place code that runs during every process > start into .text.unlikely. Surely we can avoid that page fault. > > Can we fix the ENTRY_POINT assumption in profiling instead? We can do diff --git a/csu/gmon-start.c b/csu/gmon-start.c index b3432885b3..83322fd586 100644 --- a/csu/gmon-start.c +++ b/csu/gmon-start.c @@ -48,7 +48,7 @@ #ifdef ENTRY_POINT_DECL ENTRY_POINT_DECL(extern) #else -extern char ENTRY_POINT[]; +extern char entry_point[] asm (__SYMBOL_PREFIX "main"); #endif extern char etext[]; @@ -56,7 +56,7 @@ extern char etext[]; # ifdef ENTRY_POINT_DECL # define TEXT_START ENTRY_POINT # else -# define TEXT_START &ENTRY_POINT +# define TEXT_START &entry_point # endif #endif But this may only work with BFD linker which places .text.startup section before .text section. -- H.J.