Ard Biesheuvel <ardb@xxxxxxxxxx> writes: > On Thu, 5 Jan 2023 at 10:21, Andreas Schwab <schwab@xxxxxxxxxxxxxx> 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@xxxxxxxxxx/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@xxxxxxxxxxxx/ I'm working on powerpc fixes, which I think are all improvements regardless of whether your change in the above thread is merged or not. I'll try and get them posted tonight. cheers