[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMj1kXGD3wQUPsRhvD7bO9xBJ6NR=Z+y8wXmKSCs57Oeh3MzGw@mail.gmail.com>
Date: Thu, 5 Jan 2023 10:27:04 +0100
From: Ard Biesheuvel <ardb@...nel.org>
To: Andreas Schwab <schwab@...ux-m68k.org>
Cc: Masahiro Yamada <masahiroy@...nel.org>,
Nathan Chancellor <nathan@...nel.org>,
linux-arch@...r.kernel.org, linux-kbuild@...r.kernel.org,
linux-kernel@...r.kernel.org,
Thorsten Leemhuis <regressions@...mhuis.info>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>,
linux-arm-kernel@...ts.infradead.org,
linux-riscv@...ts.infradead.org, Dennis Gilmore <dennis@...il.us>,
Albert Ou <aou@...s.berkeley.edu>,
Arnd Bergmann <arnd@...db.de>,
Jisheng Zhang <jszhang@...nel.org>,
Nicolas Schier <nicolas@...sle.eu>,
Palmer Dabbelt <palmer@...belt.com>,
Paul Walmsley <paul.walmsley@...ive.com>, llvm@...ts.linux.dev
Subject: Re: [PATCH v2] arch: fix broken BuildID for arm64 and riscv
On Thu, 5 Jan 2023 at 10:21, Andreas Schwab <schwab@...ux-m68k.org> wrote:
>
> On Jan 05 2023, Masahiro Yamada wrote:
>
> > I do not understand why 99cb0d917ffa affected this.
> >
> >
> > I submitted a fix to shoot the error message "discarded section .exit.text"
> >
> > https://lore.kernel.org/all/20230105031306.1455409-1-masahiroy@kernel.org/T/#u
> >
> > I do not understand the binutils commit either,
> > but it might have made something good
> > because EXIT_TEXT appears twice, in .exit.text, and /DISCARD/.
>
> I think the issue is that the introdution of a second /DISCARD/
> directive early in script changes the order of evaluation of the other
> /DISCARD/ directive when binutils < 2.36 is used, so that the missing
> RUNTIME_DISCARD_EXIT started to become relevant. As long as /DISCARD/
> only appears last, the effect of EXIT_TEXT inside it is always
> overridden by its occurence in the .exit.exit output section directive.
> When another /DISCARD/ occurs early (and binutils < 2.36 is used) the
> effect of EXIT_TEXT inside the second /DISCARD/ (when merged with the
> first) overrides its occurence in the .exit.text directive. The
> binutils commit changed that because the new /DISCARD/ directive no
> longer affects the order of evaluation of the rest of the directives.
>
Exactly. The binutils change mentions output section merging, which
apparently applies to the /DISCARD/ pseudo section as well.
However, powerpc was also affected by this, and I suggested another
fix in the thread below
https://lore.kernel.org/all/20230103014535.GA313835@roeck-us.net/
Powered by blists - more mailing lists