bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gold/30794] PowerPC port of gold fails with: internal error in add_


From: cvs-commit at gcc dot gnu.org
Subject: [Bug gold/30794] PowerPC port of gold fails with: internal error in add_output_section_to_load, at gold/output.cc:4097
Date: Fri, 25 Aug 2023 02:04:06 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=30794

--- Comment #2 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Alan Modra <amodra@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d537f77ef3b18a5fbfd598643aaad957652e9608

commit d537f77ef3b18a5fbfd598643aaad957652e9608
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Aug 25 09:12:18 2023 +0930

    PR30794, PowerPC gold: internal error in add_output_section_to_load

    Caused by commit 5a97377e5513, specifically this code added to
    Target_powerpc::do_relax
    +      if (parameters->options().output_is_position_independent())
    +       this->rela_dyn_size_
    +         = this->rela_dyn_section(layout)->current_data_size();

    The problem here is that if .rela.dyn isn't already created then the
    call to rela_dyn_section creates it, and as this comment in
    Target_powerpc::do_finalize_sections says:
              // Annoyingly, we need to make these sections now whether or
              // not we need them.  If we delay until do_relax then we
              // need to mess with the relaxation machinery checkpointing.
    We can't be creating sections in do_relax.

            PR 30794
            * powerpc.cc (Target_powerpc::do_relax): Only set rela_dyn_size_
            for size == 64, and assert that rela_dyn_ already exists.
            Tidy code setting plt_thread_safe, which also only needs to be
            set when size == 64 for ELFv1.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]