bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/26655] New: Power10 libstdc++.so R_PPC64_NONE dynamic relocs


From: amodra at gmail dot com
Subject: [Bug ld/26655] New: Power10 libstdc++.so R_PPC64_NONE dynamic relocs
Date: Wed, 23 Sep 2020 04:00:40 +0000

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

            Bug ID: 26655
           Summary: Power10 libstdc++.so R_PPC64_NONE dynamic relocs
           Product: binutils
           Version: 2.36 (HEAD)
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
          Assignee: unassigned at sourceware dot org
          Reporter: amodra at gmail dot com
  Target Milestone: ---

A recent build of gcc for power10 gave me a libstdc++.so with 87 R_PPC64_NONE
dynamic relocations, all due to allocating GOT entries that are never used. 
The GOT entries correspond to R_PPC64_GOT_PCREL34 relocs for symbols that turn
out to be local in the output.  They are made local by code near the end of
_bfd_elf_link_assign_sym_version, which is called by
bfd_elf_size_dynamic_sections.  The problem is that ppc64_elf_edit_toc, the
code that decides whether GOT entries can be eliminated, is run before
bfd_elf_size_dynamic_sections, and at that stage the symbols in question are
dynamic, needing GOT entries.  However, we do want ppc64_elf_edit_toc to run
before sizing dynamic sections as obviously the size of .got changes if
ppc64_elf_edit_toc removes the need for a GOT entry.

-- 
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]